The Smart Alert Backend is a team assignment designed as the core system that powers the Smart Alert Android App, developed for the "Current Topics of Software Engineering - Mobile Software" course, offered in the 7th semester of the 2023-2024 academic year at the University of Piraeus, Department of Informatics. The backend handles emergency reports submitted by users, ranks incidents based on severity and proximity, and sends location-based alerts to citizens in real-time using Firebase Cloud Messaging (FCM).
The backend ensures the scalability and reliability of the Smart Alert system, enabling real-time data processing and communication during emergencies. It integrates with the mobile app to deliver notifications, manage user data, and facilitate incident validation by employees (civil protection role).
- Institution: University of Piraeus
- Department: Department of Informatics
- Course: Current Topics of Software Engineering (2024)
- Semester: 7th
- Python
- Firebase Authentication
- Firebase Realtime Database
- Firebase Cloud Storage
- Google Cloud Scheduler
- Google Cloud
The backend processes emergency reports submitted by users through the Smart Alert app. It evaluates the severity of each incident based on:
- The number of reports submitted for a given incident.
- The proximity of the reports in terms of geographic location and time.
Once an incident is verified by an employee (civil protection role), the backend triggers an alert to users within a defined radius using Firebase Cloud Messaging (FCM). The notification includes essential information such as event type, location, timestamp, and safety instructions.
- The system ranks incidents based on how many reports are submitted and their geographic and time proximity.
- Incident rankings help employees decide which reports to approve and notify nearby citizens about.
- Cloud Functions: Automatically triggered when new incident reports are submitted, allowing the backend to process and categorize the reports for further action.
- Google Cloud Scheduler: Manages periodic tasks, such as sending reminders or handling time-based checks for expired incident reports.
-
Clone the backend repository:
git clone https://github.com/thkox/current-topics-of-software-engineering_2023-smart-alert-server.git
-
Install dependencies and Firebase CLI tools:
pip install -r requirements.txt firebase login firebase init
-
Deploy the backend 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.