Skip to content

A full-stack gamification system to manage users and reward them with points, maintaining a real-time leaderboard. The backend uses TypeScript, Node.js, Express.js, and Redis, while the frontend is built with React. Real-time updates are powered by Socket.io.

Notifications You must be signed in to change notification settings

ChuloWay/gamification-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Gamification System

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.

Chat App Demo

Features

Backend

  • 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.

Frontend

  • 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.

Requirements

  • Node.js
  • Express.js
  • MongoDB
  • React
  • Socket.io
  • Jest (for unit testing)
  • Prettier (for code formatting)

Installation

  1. Clone the repository from GitHub:
    git clone https:/ChuloWay/gamification-system.git
  2. Navigate to folder:
    cd gamification-system

Real-Time Updates

This project uses Socket.io to implement real-time updates for the leaderboard. The server emits events when user points or achievements are updated.

Setting Up Socket.io

  1. Socket.io is set up in the backend to listen for and emit events.
  2. The frontend listens for these events to update the leaderboard in real-time.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License.

Thank You

About

A full-stack gamification system to manage users and reward them with points, maintaining a real-time leaderboard. The backend uses TypeScript, Node.js, Express.js, and Redis, while the frontend is built with React. Real-time updates are powered by Socket.io.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published