System Requirements
Minimum Requirements
Development Environment
- OS: Linux, macOS, or Windows (with WSL2)
- RAM: 8GB minimum, 16GB recommended
- Storage: 10GB free space
- Docker: Version 20.10+
- Docker Compose: v2.0+
Production Environment
- RAM: 16GB minimum
- CPU: 4 cores minimum
- Storage: 50GB+ SSD recommended
- OS: Ubuntu 22.04 LTS or similar
- Network: Static IP recommended
Tech Stack Overview
Hub is built with modern technologies for scalability and performance:Installation Methods
- Docker (Recommended)
- Local Development
- Production
The easiest way to get started is using Docker Compose.This installs all required packages including:
Prerequisites
Start Services
Launch all services with Docker Compose:The following services will start:
- PostgreSQL:
localhost:5432 - Spring Boot Backend:
localhost:8080 - pgAdmin:
localhost:5050
Configure Frontend
Install Dependencies
- Next.js 16 and React 19
- Auth0 Next.js SDK
- Radix UI components
- Tailwind CSS
- TypeScript
Auth0 Configuration
Detailed Auth0 setup for authentication:Create Auth0 Application
- Go to Auth0 Dashboard
- Navigate to Applications > Applications
- Click Create Application
- Choose Regular Web Application
- Name it “Hub Platform”
Configure Application Settings
In your application settings:Application URIs:
- Allowed Callback URLs:
- Allowed Logout URLs:
- Allowed Web Origins:
Create Auth0 API
- Navigate to Applications > APIs
- Click Create API
- Set:
- Name: Hub API
- Identifier:
https://api.yourdomain.com(this is yourAUTH0_AUDIENCE) - Signing Algorithm: RS256
- Enable RBAC and Add Permissions in the Access Token
Configure API Permissions
Add the following permissions (scopes):
read:venues- Read venue informationwrite:venues- Create and update venuesread:bookings- Read bookingswrite:bookings- Create and manage bookingsread:profile- Read user profilewrite:profile- Update user profile
Database Schema
The application uses Flyway migrations to manage the database schema. On startup, the following tables are created:View Database Schema
View Database Schema
Core Tables:
city- Spanish cities with geospatial datausers- User accounts and profilesvenue- Padel venues with location dataresource- Courts/resources at venuesbooking- Court bookingspayment- Payment recordsmatch_request- Match-making requests
postgis- Spatial database extensionpgcrypto- Cryptographic functionsbtree_gist- Generalized index support
Verification
After installation, verify everything is working:Access API Documentation
Open
http://localhost:8080/swagger-ui.html in your browser to view the OpenAPI documentation.Troubleshooting
Port Already in Use
Port Already in Use
If you see “port already in use” errors:
Database Migration Fails
Database Migration Fails
If Flyway migrations fail:
Auth0 JWT Validation Error
Auth0 JWT Validation Error
If you see JWT validation errors:
- Verify
AUTH0_ISSUERends with a trailing slash - Ensure
AUTH0_AUDIENCEmatches between backend and frontend - Check that your Auth0 API is configured for RS256
- Verify the token has not expired
Cloudinary Upload Fails
Cloudinary Upload Fails
If image uploads fail:
- Verify your Cloudinary credentials in
.env - Check that your Cloudinary account is active
- Ensure the cloud name, API key, and secret are correct
- Test credentials at the Cloudinary Console
Frontend Build Errors
Frontend Build Errors
If Next.js build fails:
Next Steps
Development Guide
Learn about the development workflow and coding standards
API Reference
Explore the REST API endpoints and authentication
Architecture
Understand the system architecture and design patterns
Configuration
Configure environment variables and integrations