This project is a gamification system that includes a RESTful API built with Node.js, TypeScript, Express.js and a frontend built with React. The system manages points, achievements, and badges, and maintains a real-time updating leaderboard.
- CRUD operations for points, achievements, and badges.
- Real-time updating leaderboard using Socket.io.
- Input validation and error handling.
- Unit tests for API endpoints and real-time functionality.
- Simple UI to test the following:
- SignUp and SignIn
- CRUD operations for points, achievements, and badges.
- Real-time updates for challenges.
- Different challenges with a mini-game quiz.
- Node.js
- Express.js
- MongoDB
- React
- Socket.io
- Jest (for unit testing)
- Prettier (for code formatting)
- Clone the repository from GitHub:
git clone https://github.com/ChuloWay/gamification-system.git
- Navigate to folder:
cd gamification-system
This project uses Socket.io to implement real-time updates for the leaderboard. The server emits events when user points or achievements are updated.
- Socket.io is set up in the backend to listen for and emit events.
- The frontend listens for these events to update the leaderboard in real-time.
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License.