Skip to content

Server-side application designed to support the SmartAlert mobile application, which provides immediate notifications to citizens during high-risk emergency situations

License

Notifications You must be signed in to change notification settings

roussosan/smart-alert-api-spring-boot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartAlert Web Service - Backend

BSc course: Current Topics Of Software Engineering - Software For Mobile Devices

Semester: 7

Project Completion Year: 2024

Description

The SmartAlert Backend is a server-side application designed to support the SmartAlert mobile application, which provides immediate notifications to citizens during high-risk emergency situations. This backend handles incident management, and notification dispatching, ensuring that users receive timely and accurate information.

From the Android app, citizens can send a new report, which is a request to the server (Spring Boot). The backend server receives this request from the sender (citizen) and processes it, generating a group of data through a PostgreSQL database trigger function named assign_report_to_group. The group data is then sent to Firebase Real-time Database, allowing the Android application to inform employees in real-time about the new incident. Employees can accept or decline the incident, and based on their decision, if the incident is approved, the backend server sends an alert message (push notification) through Firebase to inform citizens near the incident.

Features

  • Incident Reporting: Citizens can submit high-risk incident reports through the Android app, which sends a request to the Spring Boot backend.
  • Data Processing: The backend processes incoming requests and generates a group of data using the PostgreSQL database trigger function assign_report_to_group.
  • Real-time Database Integration: The generated group data is sent to Firebase Real-time Database, enabling immediate updates to the application.
  • Incident Management: Employees can accept or decline incidents, with the backend handling the logic for approval.
  • Alert Messaging: If an incident is approved, the backend server sends a push notification through Firebase to inform citizens near the incident.
  • Employee Dashboard: An interface for employees to monitor incidents, and view statistics.

Demo Video

SmartAlert-Demo

Contributors

Dimitris Stylianou
Dimitris Stylianou

Antonis Roussos
Antonis Roussos

Konstantinos Loizidis
Konstantinos Loizidis

Acknowledgments

This project was developed as part of the "Current Topics Of Software Engineering - Software For Mobile Devices" BSc course at the University of Piraeus. Contributions and feedback are always welcome!

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Server-side application designed to support the SmartAlert mobile application, which provides immediate notifications to citizens during high-risk emergency situations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 93.7%
  • PLpgSQL 6.3%