Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thkox/uni_2023-smart-alert-backend
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.
https://github.com/thkox/uni_2023-smart-alert-backend
7th-semester department-of-informatics firebase-authentication firebase-cloud-storage firebase-realtime-database gcp google-cloud google-cloud-scheduler google-maps python scheduler university-of-piraeus
Last synced: 4 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/thkox/uni_2023-smart-alert-backend
- Owner: thkox
- License: mit
- Created: 2024-02-23T12:42:13.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-10-19T22:36:30.000Z (18 days ago)
- Last Synced: 2024-11-03T21:05:25.135Z (4 days ago)
- Topics: 7th-semester, department-of-informatics, firebase-authentication, firebase-cloud-storage, firebase-realtime-database, gcp, google-cloud, google-cloud-scheduler, google-maps, python, scheduler, university-of-piraeus
- Language: Python
- Homepage:
- Size: 1.94 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Current Topics of Software Engineering (2024) - Smart Alert Backend
## Project Overview
The **Smart Alert Backend** is a team assignment designed as the core system that powers the [Smart Alert Android App](https://github.com/thkox/current-topics-of-software-engineering_2023-smart-alert), 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).
## Course Information
- **Institution:** [University of Piraeus](https://www.unipi.gr/en/)
- **Department:** [Department of Informatics](https://cs.unipi.gr/en/)
- **Course:** Current Topics of Software Engineering (2024)
- **Semester:** 7th## Technologies Used
- Python
- Firebase Authentication
- Firebase Realtime Database
- Firebase Cloud Storage
- Google Cloud Scheduler
- Google Cloud## Features
### 1. Real-Time Incident Management
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.### 2. Automated User Notification
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.
### 3. Incident Ranking and Prioritization
- 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.### 4. Cloud Functionality
- **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.## Setup Instructions
1. Clone the backend repository:
```bash
git clone https://github.com/thkox/current-topics-of-software-engineering_2023-smart-alert-server.git
```2. Install dependencies and Firebase CLI tools:
```bash
pip install -r requirements.txt
firebase login
firebase init
```3. Deploy the backend 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.