Skip to content

๐Ÿšง MVP In Progress ๐Ÿšง A service to subscribe to MTA alerts for particular line or stop.

License

Notifications You must be signed in to change notification settings

MackHalliday/subscribe_to_MTA_alerts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

55 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Subscribe to MTA Alerts

๐Ÿšง MVP In Progress ๐Ÿšง

Project Overview

This application enables users to subscribe to MTA stations or lines to receive timely service alerts.

  • Frontend: Developed using React with TypeScript
  • Backend: Utilizes Django and Django REST Framework with Python Typing
  • Hosting: AWS
  • Authorization: Managed through Auth Tokens
  • Third-Party API: MTA API

Milestones

For more detailed user stories, view the Kanban board.

Current Milestones (As of Jan 24th, 2024):

MVP

  • ๐Ÿ› ๏ธ V0: Basic Project Setup - Establish the foundational structure
  • ๐Ÿ› ๏ธ V1: User Login - Implement user login functionality
  • V2: Users Types - Create basic and admin user
  • V3: User Sign Up - Create basic sign up via email
  • V4: Station Alert Subscription - Enable station-specific alert subscriptions
  • V5: View Station Alerts - Users can view alerts from subscribed stations on their dashboard
  • V6: Unsubscribe from Station Alerts - Option to unsubscribe from station alerts via the dashboard
  • V7: Station Alerts via Twilio - Receive station alerts on mobile through Twilio integration

Additional Alerts

  • V8: Admin User Controls - Admin user controls overs users and alerts
  • V9: Line Alert Subscription - Facilitate subscriptions to specific MTA lines
  • V10: Unsubscribe from Line Alerts - Feature to cancel line-specific alert subscriptions
  • V11: Line Alerts via Twilio - Get line alerts on mobile through Twilio

Stretch Goals

  • V12: User Login with Google - User can login with Google
  • V13: Time-Specific Alerts - Receive alerts within a preferred time window
  • V14: Historical Alert Data - Access to historical alert data

Tech Overview

Backend

  • Framework: Django, Django REST Framework
  • Package Management: PIP
  • Authentication: Django Admin, Django REST Framework Auth Tokens, CORS
  • Database: PostgreSQL, Django ORM
  • Testing: Pytest, Locust (Potential for performance testing)
  • Environment: Virtual Env, DotEnv
  • Formatting and Linting: PyLint, MyPy, Black
    • Run pylint *.py, mypy ., and black . in backend/
  • Typing: Python Typing

Frontend

  • Framework: React with TypeScript
  • CSS Framework: Tailwind
  • Package Management: NPM
  • HTTP Client: ky
  • Formatting and Linting ESLint, Prettier
    • Run npx eslint . and npm run prettier
  • Testing: Jest
  • Misc: Flexbox, AwesomeFont

Infrastructure

  • Platforms: AWS
  • Services: EC2, S3, IAM, EBS

CI/CD

  • Tools: GitHub or AWS CodeDeploy

Project Resources

About

๐Ÿšง MVP In Progress ๐Ÿšง A service to subscribe to MTA alerts for particular line or stop.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published