Note: This work is still in progress...
A social betting platform that brings friends together through friendly wagers and competitive fun. Built during the COVID pandemic as a way for friends to interact and collect points (or money) as entertainment, this platform has evolved into a comprehensive betting ecosystem.
The initial design was conceived during the COVID pandemic as a creative solution for friends to stay connected and engaged through friendly competition. What started as a simple amusement has grown into a sophisticated betting platform that combines real-world events with social interaction.
- Real Event Betting: Create bets based on real events registered in the platform (soccer games, eSports matches, etc.)
- Custom Betting Channels: Administrators can create public or private channels with custom "betting criteria"
- Social Interaction: Connect with friends through shared betting experiences
- Flexible Scoring: Support for both points-based and monetary betting systems
The platform's design and user experience were carefully crafted in Figma: View Design in Figma
/
├── mobile/ # React Native Expo application
├── backend/ # Backend service (Spring Boot)
├── README.md # This file
├── .gitignore # Root gitignore
└── Makefile # Build and development scripts
- Node.js (for mobile app)
- Java 17+ (for backend)
- Maven 3.6+ (or use Maven Wrapper included in project)
- Expo CLI
make dev-mobile
# or
cd mobile && npm startmake dev-backend
# or
cd backend && ./mvnw spring-boot:runRun make help to list all targets and their descriptions.
| Command | Description |
|---|---|
make dev-mobile |
Start the Expo development server |
make dev-backend |
Start the Spring Boot development server |
make dev |
Alias for dev-mobile (default development command) |
make dev-seed |
Run the database seeder (requires backend running on port 8080) |
make db-reset |
Reset the database: kill 8080, start backend with profile reset (schema drop + recreate), run seed, then stop backend. Use after schema changes. Next backend run should be without the reset profile. |
make install-mobile |
Install mobile app dependencies |
make install-backend |
Install backend dependencies |
make setup |
Install all dependencies (mobile + backend) |
make clean |
Remove build artifacts and dependencies (node_modules, backend/target) |
make help |
Show all available make targets |
Each project maintains its own dependencies and configuration. Changes to the mobile app should be made in the mobile/ directory, and backend changes in the backend/ directory.
The React Native mobile application provides an intuitive interface for:
- Browsing available betting channels
- Creating and managing bets
- Tracking betting history and results
- Social interactions with other users
The Spring Boot backend handles:
- User authentication and management
- Bet creation and validation
- Event registration and management
- Channel administration
- Real-time updates and notifications
