A crowd-sourced safety navigation app that helps users travel from A to B while avoiding high-risk areas through real-time incident reporting.
Features β’ Architecture β’ Screenshots β’ Setup
Traditional navigation apps show traffic conditions, but what about safety conditions? SafetyNet fills this gap by creating a community-driven safety map where users can report and view incidents in real-time, making informed decisions about their routes.
Gender-neutral. Community-powered. Safety-first.
|
|
|
|
Built with Clean Architecture principles for scalability and maintainability:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β UI Layer (Jetpack Compose) β
β ββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β MapScreen β β ReportDialogβ β IncidentListβ β
β ββββββββββββββ βββββββββββββββ βββββββββββββββ β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β Domain Layer (Business Logic) β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Use Cases: AddIncident, GetNearbyIncidents β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β Data Layer (Repository Pattern) β
β ββββββββββββββββββ ββββββββββββββββββββββ β
β β Local (Room DB)β ββ β Remote (Firebase) β β
β ββββββββββββββββββ ββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Category | Technology |
|---|---|
| Language | |
| UI Framework | |
| Architecture | |
| Dependency Injection | |
| Database | |
| Maps | |
| Backend | |
| Documentation |
- Location Privacy: GPS data never leaves device without user consent
- Anonymous Reporting: Optional identity protection
- Data Encryption: All sensitive data encrypted at rest
- No Tracking: Zero analytics or user behavior tracking
Q1 2025
βββ β
Core incident reporting
βββ β
Interactive map with clustering
βββ β
Offline-first architecture
βββ π Firebase integration (In Progress)
Q2 2025
βββ Route optimization avoiding high-risk areas
βββ Push notifications for nearby incidents
βββ Community verification system
βββ Heatmap visualization
Future
βββ Multi-language support
βββ Safety analytics dashboard
βββ AI-powered incident prediction
βββ Integration with local authorities
# Clone the repository
git clone https://github.com/yourusername/safetynet.git
# Navigate to project directory
cd safetynet
# Add your Google Maps API key in local.properties
echo "MAPS_API_KEY=your_api_key_here" >> local.properties
# Add google-services.json from Firebase Console
# Place in app/ directory
# Build the project
./gradlew build
# Run on device/emulator
./gradlew installDebugRequirements:
- Android Studio Hedgehog | 2023.1.1+
- Minimum SDK: 24 (Android 7.0)
- Target SDK: 34 (Android 14)
- JDK 17+
# Run unit tests
./gradlew test
# Run instrumented tests
./gradlew connectedAndroidTest
# Generate coverage report
./gradlew jacocoTestReportComprehensive KDoc documentation available. Generate docs:
./gradlew dokkaHtmlView at: build/dokka/html/index.html
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ for safer communities
β Star this repo if you find it useful! β




