The JSLearner Backend is a team assignment for creating the backend infrastructure for the JSLearner Mobile App, developed as part of the "Educational Software" course, offered in the 8th semester of the 2023-2024 academic year at the University of Piraeus, Department of Informatics. This serverless backend, developed using Firebase Cloud Functions and hosted on Google Cloud, provides real-time data synchronization, experience tracking, and leaderboard management for the JSLearner app. It supports key functionalities required to monitor user progress, assess performance, and dynamically adjust content based on user experience.
- Institution: University of Piraeus
- Department: Department of Informatics
- Course: Educational Software (2024)
- Semester: 8th
- Python
- Firebase Authentication
- Firebase Realtime Database
- Firestore
- Google Cloud
- Experience Score Updates: Cloud Functions trigger events to update user scores and adjust their experience levels based on progress.
- Automatic Level Adjustment: Users are promoted or demoted between experience levels based on predefined thresholds (e.g., XP scores below 300 or above 1400).
- Leaderboard Updates: The leaderboard is updated dynamically as users gain or lose experience points, ensuring real-time competition.
-
Clone the backend repository:
git clone https://github.com/thkox/JSLearner-backend.git
-
Install dependencies and Firebase CLI tools:
pip install -r requirements.txt firebase login firebase init
-
Deploy the functions to Firebase:
firebase deploy --only functions
- Full project details can be found in the Project-documentation.pdf.
Apostolis Siampanis |
Theodore Koxanoglou |
Alexander Cholis |
This project is licensed under the MIT License - see the LICENSE file for details.