From dbec6081acdd495cf15a01d1bb194890355ef9ff Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 7 Aug 2024 15:49:48 +0100 Subject: [PATCH] Add realtime leader board system project --- src/data/projects/movie-reservation-system.md | 2 +- .../projects/realtime-leaderboard-system.md | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 src/data/projects/realtime-leaderboard-system.md diff --git a/src/data/projects/movie-reservation-system.md b/src/data/projects/movie-reservation-system.md index fe6f91c3f..c565e0335 100644 --- a/src/data/projects/movie-reservation-system.md +++ b/src/data/projects/movie-reservation-system.md @@ -2,7 +2,7 @@ title: 'Movie Reservation System' description: 'Build a system that allows users to reserve movie tickets.' isNew: false -sort: 15 +sort: 16 difficulty: 'advanced' nature: 'API' skills: diff --git a/src/data/projects/realtime-leaderboard-system.md b/src/data/projects/realtime-leaderboard-system.md new file mode 100644 index 000000000..6bfa830ac --- /dev/null +++ b/src/data/projects/realtime-leaderboard-system.md @@ -0,0 +1,48 @@ +--- +title: 'Real-time Leaderboard' +description: 'Create a real-time leaderboard system for ranking and scoring.' +isNew: false +sort: 17 +difficulty: 'advanced' +nature: 'API' +skills: + - 'Programming Language' + - 'Database' + - 'Scheduling' + - 'Authentication' +seo: + title: 'Real-time Leaderboard System Idea' + description: 'Create a real-time leaderboard system that updates scores in real-time.' + keywords: + - 'movie reservation system' + - 'backend project idea' +roadmapIds: + - 'backend' + - 'nodejs' + - 'python' + - 'java' + - 'golang' + - 'spring-boot' +--- + +This project involves creating a backend system for a real-time leaderboard service. The service will allow users to compete in various games or activities, track their scores, and view their rankings on a leaderboard. The system will feature user authentication, score submission, real-time leaderboard updates, and score history tracking. Redis sorted sets will be used to manage and query the leaderboards efficiently. + +## Project Requirements + +You are to build an imaginary real-time leaderboard system that ranks users based on their scores in various games or activities. The system should meet the following requirements: + +1. **User Authentication**: Users should be able to register and log in to the system. +2. **Score Submission**: Users should be able to submit their scores for different games or activities. +3. **Leaderboard Updates**: Display a global leaderboard showing the top users across all games. +4. **User Rankings**: Users should be able to view their rankings on the leaderboard. +5. **Top Players Report:** Generate reports on the top players for a specific period. + +## Tip - Use Redis Sorted Sets + +- **Leaderboard Storage:** Use Redis sorted sets to store and manage leaderboards. +- **Real-Time Updates:** Utilize Redis sorted sets for efficient real-time updates and queries. +- **Rank Queries:** Use Redis commands to query user ranks and leaderboard positions. + +
+ +After finishing this project, you will have a good understanding of how to create a real-time leaderboard system that updates scores in real-time. You will also gain experience working with Redis sorted sets and implementing user authentication and score submission features. \ No newline at end of file