Skip to content

navneetdesai/dora

Repository files navigation

Dora: Alert Management System

Build FastAPI Twilio smtplib pytest black

Dora is a comprehensive alert management system built with FastAPI that helps businesses and organizations streamline their communication and notification processes. It provides user registration and login functionality, allowing users to securely access the system and manage their alerts. With Dora, you can effectively send alerts to subscribers based on their location, leveraging Twilio for text message notifications and the smtplib library for email notifications. Dora can benefit groups like 🚨 Emergency Services and Public Safety Agencies, for critical alerts, public health advisories, and weather warnings.

Key Features

🔒 User Registration and Login: Create accounts and securely log in to the system.

📍 Location-Based Alerts: Send targeted alerts to subscribers based on their specified location, ensuring timely and relevant communication.

📱 Twilio Integration: Seamlessly integrate with Twilio to trigger text messages as an alert delivery method.

📧 Email Notifications: Utilize the power of the smtplib library to send email messages as part of the alerting mechanism.

API Documentation

The API documentation is available at http://localhost:8000/docs once the server is running.

Installation

  1. Clone the repository
git clone [email protected]:navneetdesai/dora.git
cd dora # change directory
poetry install # install dependencies
# Setup the configuration show below
poetry run uvicorn app.main:app --reload # run the app

Once the server is running, you can access the API documentation at http://localhost:8000/docs to explore the available endpoints and interact with the system.

Configuration

  1. Create a .env file in the root directory by copying .env-example (or rename .env-example to .env)
  2. Create a twilio account and get the following values:
    • TWILIO_ACCOUNT_SID
    • TWILIO_AUTH_TOKEN
    • TWILIO_PHONE_NUMBER
  3. Create a gmail account and get the email id and app password.
  4. Update the environment variables in .env with your own values

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvement, please feel free to submit a pull request or open an issue on the GitHub repository.

About

Dora - Sreamline your alerts

Topics

Resources

Stars

Watchers

Forks