In each race, only one number counts... the 10ᵉ.
Formula 1 betting application that allows users to bet on race results and participate in private and public leagues.
Most F1 betting apps focus on the podium. P10-app is unique: here, the real challenge is to predict who will finish 10th!
This twist makes every race unpredictable, fun, and gives everyone a chance to win—right until the last lap.
Feature |
---|
🏆 Bet on Grand Prix results |
👥 Private & public leagues |
🏅 Live ranking |
📱 Responsive UI |
🏁 Official F1 data |
🔒 Authentication |
- API: Node.js with TypeScript
- GraphQL: Express + Apollo
- Authentication: Clerk
- Documentation: Swagger
- Database: PostgreSQL with Prisma ORM
- Testing: JEST
- Code Quality: SonarQube
- Framework: Next.js
- Styling: Tailwind CSS
- Components: ShadCN
- Animations: Framer Motion
- State Management: React Context
- Icons: Lucide React, React Icons
- Versioning: GitHub Flow
- CI/CD: GitHub Actions
- Main Branch: Protected
- Containerization: Docker
- Formatting: Prettier
- Linting: ESLint
- Package Manager: npm
- Environment: Docker
- F1 API for race data
- Ergast API for official F1 schedule and results
- Clerk for authentication
- ShadCN for UI components
- Docker for containerization
- SonarQube for code quality
- Clone the repository
git clone https://github.com/remimoul/P10-app.git
cd P10-app/front
- Set up environment
cp .env.template .env
# Edit .env with your preferences
- Launch the application
docker compose up --build -d
- Access the application
- Frontend: http://localhost:3000
- Backend: http://localhost:4500
- API Documentation: http://localhost:4500/api
- API GraphQl Documentation: http://localhost:4500/graphql
- frontend online : https://www.grineasy.com/
- backend online : https://grineasy.online/
P10-app/
├── front/ # Next.js Application
│ ├── src/
│ │ ├── app/ # Pages and routes
│ │ ├── components/ # Reusable components
│ │ └── lib/ # Utilities and types
│ └── public/ # Static assets
│
├── back/ # GraphQL API
│ ├── src/
│ ├── resolvers/ # GraphQL resolvers
│ ├── services/ # Business logic
│ └── prisma/ # Schema and migrations
│
└── docker/ # Docker configuration