Skip to content

salimdotpy/drsas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛰️ Distress Reporting & Security Advisory System

A web-based emergency reporting and security advisory platform built using Flask and Google Maps API.
This system enables users to report distress incidents, visualize locations on an interactive map, and receive security alerts.
The application employs the Vincenty formula (inverse method) for high-precision geodesic distance calculations between coordinates — essential for accurate response routing and geolocation tracking.


🚀 Features

  • 📍 Location-Based Reporting: Users can report distress or suspicious activities using their GPS location.
  • 🗺️ Google Maps Integration: Real-time visualization of reported incidents on an interactive map.
  • 🧭 Vincenty Distance Calculation: Accurate geodesic distance measurement between two coordinates (latitude/longitude).
  • 🔐 User Authentication: Secure login and registration using Flask-Login.
  • 💾 Database Integration: Persistent storage of user and incident data with Flask-SQLAlchemy and MySQL.
  • 📢 Security Advisory Broadcasts: Display system-wide alerts and emergency notifications.

🧩 Technology Stack

Component Description
Backend Framework Flask (Python)
Frontend HTML, CSS, Bootstrap, JavaScript, Google Maps API
Database MySQL
Distance Calculation Vincenty Formula (Inverse Method)
Authentication Flask-Login
ORM SQLAlchemy

⚙️ Installation & Setup

  1. Clone the repository
git clone https://github.com/yourusername/drsas.git
cd drsas
  1. Create and activate a virtual environment (recommended)

    python -m venv venv
    source venv/bin/activate   # On Windows: venv\Scripts\activate
  2. Install dependencies

    pip install -r requirements.txt
  3. Configure the database Update your database URI in the config.py file:

    SQLALCHEMY_DATABASE_URI = 'mysql+mysqlconnector://username:password@localhost/distress_db'
  4. Run the application Update your database URI in the config.py file:

    flask run

    The app will be available at: http://127.0.0.1:5000


📦 Dependencies

click==8.1.7
Flask==2.2.5
Flask-Login==0.6.3
Flask-SQLAlchemy==2.5.1
importlib-metadata==6.7.0
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
mysql-connector-python==8.0.29
protobuf==4.24.4
SQLAlchemy==1.3.24
typing_extensions==4.7.1
Werkzeug==2.2.3
zipp==3.15.0

📡 Vincenty Formula (Inverse Method)

The Vincenty inverse method computes the geodesic distance between two latitude/longitude pairs on an ellipsoidal Earth model. This provides millimeter-level accuracy, superior to simple spherical formulas like Haversine — making it ideal for emergency response applications where precision matters.

🧠 Future Enhancements

🔔 Push notifications for nearby alerts

📱 Mobile app integration

🧭 Route optimization for emergency responders

☁️ Cloud deployment and scalability improvements


🤝 Contributing Contributions, suggestions, and improvements are welcome! Feel free to open an issue or submit a pull request.

👨‍💻 Author

Selim Adekola 📧 salimdotpy@gmail.com 📞 +2348076738293

About

Distress Reporting & Security Advisory System is a web-based emergency response and alert platform built with Flask and integrated with Google Maps API. It uses the Vincenty formula (inverse method) to accurately calculate distances between coordinates, helping responders locate incidents precisely.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors