Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thkox/uni_2024-jslearner-backend
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.
https://github.com/thkox/uni_2024-jslearner-backend
8th-semester cloud-functions department-of-informatics firebase firestore google-cloud python university-of-piraeus
Last synced: 4 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/thkox/uni_2024-jslearner-backend
- Owner: thkox
- License: mit
- Created: 2024-05-17T21:25:07.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-10-17T13:24:46.000Z (21 days ago)
- Last Synced: 2024-11-03T21:05:25.172Z (4 days ago)
- Topics: 8th-semester, cloud-functions, department-of-informatics, firebase, firestore, google-cloud, python, university-of-piraeus
- Language: Python
- Homepage:
- Size: 15 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Educational Software (2024) - JSLearner Server
## Project Overview
The **JSLearner Backend** is a team assignment for creating the backend infrastructure for the [JSLearner Mobile App](https://github.com/thkox/educational-software_2024-JSLearner), 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.
## Course Information
- **Institution:** University of Piraeus
- **Department:** Department of Informatics
- **Course:** Educational Software (2024)
- **Semester:** 8th## Technologies Used
- Python
- Firebase Authentication
- Firebase Realtime Database
- Firestore
- Google Cloud## Features
### 1. Cloud Functions
- **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.## Setup Instructions
1. Clone the backend repository:
```bash
git clone https://github.com/thkox/JSLearner-backend.git
```2. Install dependencies and Firebase CLI tools:
```bash
pip install -r requirements.txt
firebase login
firebase init
```3. Deploy the functions to Firebase:
```bash
firebase deploy --only functions
```## Documentation and Resources
- Full project details can be found in the [Project-documentation.pdf](./docs/Project-documentation.pdf).
## Contributors
Apostolis Siampanis
Theodore Koxanoglou
Alexander Cholis
## License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.