Bowling Score Tracker is an application designed to allow users to track and manage bowling scores. It consists of two main components: a backend API and a frontend web application.
-
Game Management
- Create new bowling games
- Add multiple players to a game
- Record scores for each frame
- Calculate running totals and final scores
-
Score Tracking
- Input and update frame scores for each player
- Handle special scoring rules (strikes, spares)
-
Statistics and History
- View game history
- Display player statistics
- Core logic implementation of bowling score rules
- Backend REST API development
- Swagger documentation for API endpoints
- Logging system implementation
- Unit test for core logic
- Integration test for APIs
- Frontend development to allow submitting frames for players
- Implement data storage in the database
- Complete full set of APIs to support all functionalities
- Integrate frontend with backend APIs
- Implement user authentication and authorization
- Add game history and statistics features
The application is split into two main components:
-
Backend API (NestJS)
- RESTful API endpoints
- Business logic implementation
- Data persistence
-
Frontend Web Application (React)
- User interface
- State management
- API integration
- Responsive design with Tailwind CSS
- NestJS
- TypeScript
- PostgreSQL (via TypeORM)
- Jest (for testing)
- Swagger (for API documentation)
- React
- TypeScript
- Tailwind CSS
- React Query (for state management and API calls)
- Jest and React Testing Library (for testing)