SafePoint is an Interactive Incident Map Reporting System designed to disseminate real-time information about road hazards and potential risks. Specifically targeting Quezon City civilians and commuters, it empowers the community to report and track incidents to ensure safer travel.
- Interactive Incident Map: Real-time visualization using Leaflet.js and OpenStreetMap with custom incident pins.
- Crowdsourced Reporting: Users can submit reports including specific locations, detailed descriptions, and severity levels.
- Moderator Dashboard: A "Human-in-the-Loop" validation system where admins verify reports before they are visible to the public.
- Smart Map Filtering: Filter incidents by type (e.g., road hazard, flood), severity level, or date.
- Community Comment System: Facilitates discussion and updates on specific incidents for better situational awareness.
- External API Integrations:
- Windy API: Real-time weather overlays for hazard anticipation.
- EmailJS: Secure OTP (One-Time Password) delivery for user verification.
- Formspree: Automated contact and feedback handling.
-
- Leaflet: Mapping of the world for visual reporting, and viewing.
| Layer | Technology |
|---|---|
| Backend | C# / ASP.NET Core (Razor Pages) |
| Frontend | HTML5, CSS3, JavaScript |
| Mapping | Leaflet.js / OpenStreetMap API |
| Database | Microsoft SQL Server |
| APIs | Windy API, EmailJS, Formspree |
- .NET SDK (Version 6.0 or higher)
- Microsoft SQL Server
- Visual Studio 2022
-
Clone the repository:
git clone [https://github.com/Prince-Rim/safepoint.git](https://github.com/Prince-Rim/safepoint.git)
-
Configure Database: Update the connection string in
appsettings.json:"ConnectionStrings": { "DefaultConnection": "Server=YOUR_SERVER_NAME;Database=SafePointDB;Trusted_Connection=True;" }
-
Apply Migrations: In the Visual Studio Package Manager Console, run:
Update-Database -
Run the Application: Press
F5in Visual Studio or execute:dotnet run
SafePoint ensures data integrity through:
- Identity Verification: OTP-based registration via EmailJS.
- Report Vetting: All submissions are held in a pending state until approved by a moderator.
- Data Persistence: Secure storage of incident logs and user interaction history in SQL Server.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/NewFeature) - Commit your Changes (
git commit -m 'Add NewFeature') - Push to the Branch (
git push origin feature/NewFeature) - Open a Pull Request
Developed as part of an initiative to improve commuter safety in Quezon City.