Playdoo is a comprehensive sports facility booking platform that connects facility owners with users looking to book sports venues. The platform provides robust analytics, user management, and booking capabilities with AI-powered fraud detection.
- Facility Discovery: Browse and search sports facilities
- Real-time Booking: Book facilities with instant confirmation
- User Analytics: Track booking history and preferences
- Profile Management: Comprehensive user profiles with location data
- Analytics Dashboard: Comprehensive revenue, booking, and occupancy analytics
- Facility Management: Manage facilities, amenities, and availability
- Revenue Tracking: Monitor total revenue and booking growth
- Occupancy Insights: Track facility utilization rates
- User Management: Complete user analytics and management system
- Activity Logs: Comprehensive logging and monitoring
- Report Management: Handle user and facility reports
- System Analytics: Platform-wide insights and metrics
- Activity Logging: Detailed audit trails
- Report System: User and facility reporting capabilities
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- Shadcn/ui - Modern UI component library
- Lucide React - Icon library
- Next.js API Routes - Serverless API endpoints
- Prisma ORM - Database toolkit and ORM
- Authentication - Custom auth implementation
- OpenTelemetry - Observability and monitoring
- PostgreSQL - Primary database (via Prisma)
- Redis - Session Caching
- Docker - Containerization with multi-stage builds
- Docker Compose - Local development environment
- Google Cloud Platform - Cloud deployment
- Nginx - Reverse proxy and load balancing
- Grafana - Monitoring and analytics
- Prometheus - Server health
- Loki - Logging
- Tempo - Traces
- ESLint - Code linting
- TypeScript - Static type checking
- pnpm - Package manager
playdoo/
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ ├── admin/ # Admin dashboard pages
│ ├── owner/ # Owner dashboard pages
│ └── layout.tsx # Root layout
├── components/ # React components
│ ├── admin/ # Admin-specific components
│ ├── owner/ # Owner-specific components
│ └── ui/ # Shared UI components
├── config/ # Configuration files
├── hooks/ # Custom React hooks
│ └── swr/ # SWR data fetching hooks
├── lib/ # Utility libraries
│ └── docs/ # API documentation
├── prisma/ # Database schema and migrations
├── types/ # TypeScript type definitions
├── scripts/ # Database seeding scripts
├── grafana/ # Monitoring configuration
├── nginx/ # Nginx configuration
└── public/ # Static assets
- Node.js 18+
- pnpm
- PostgreSQL
- Docker (optional)
-
Clone the repository
git clone <repository-url> cd playdoo
-
Install dependencies
pnpm install
-
Environment setup
cp .env.example .env
Configure your environment variables in
.env -
Database setup
# Run Prisma migrations pnpm prisma migrate dev # Seed the database pnpm tsx scripts/seed-amenities.ts
-
Start development server
pnpm dev
Open http://localhost:3000 to view the application.
-
Start with Docker Compose
docker-compose up -d
-
For production build
docker-compose -f docker-compose.prod.yml up -d
Use the provided deployment script:
./deploy-to-gcp.sh- Revenue tracking and growth metrics
- Booking analytics with growth indicators
- Occupancy rate calculations
- User behavior analytics
- Real-time dashboard updates
- Comprehensive user profiles
- Location-based services
- Phone and email verification
- Activity tracking and logging
- Role-based access control
- Real-time availability checking
- Instant booking confirmation
- Facility amenity management
- Pricing and discount systems
- Booking history tracking
- User report system
- Facility quality reports
- Admin moderation tools
- Automated fraud detection
- Appeal and resolution workflows
- Activity Logging: Comprehensive audit trails
- Authentication: Secure user authentication system
- Data Validation: Input validation and sanitization
- Rate Limiting: API rate limiting and abuse prevention
- Grafana Dashboards: Custom monitoring dashboards
- OpenTelemetry: Tracing and metrics
- Activity Logs: Detailed user and system activity tracking
- Performance Monitoring: Real-time performance insights
