-[ ] Backend
-
Models/Database
- create Defibrillator model
- run migrations to create tables
- ensure database set up in settings.py
- Add json serializer for Defibrillator
-
Views/Routes/APIs
- learn about views
- learn about MVC architecture
- create class based views for Defibrillator HTTP CRUD ops
- define URLS for views to URL config in url.py
-
Open Data DC API
- Fetch Defibrillator data
- Parse data and store in postgres (Varun)
- endpoint that serves AED data to frontend,
- test if working with front end display (Varun)
-
Google Maps API
- move google api key functionality to backend
- Parse response URL to get route coordinates (Sanya)
- Pagination: only send closest 10 AEDs to frontend
- set up caching
-
Frontend
- Display Map in frontend
- support CRUD ops to backend: get list
- Display loading screen before data/current location gets rendered
- use expo managed .env file to store backend url
- Routing
- Fix real-time routing with current location (Varun)
- Develop url building logic to get Directions from backend in useRoute hook (Varun)
- Display directions directions.js (Sanya)
- Add recenter button (Varun)
- Add button to exit directions
- Add button to get nearest aed upon click: open info card of that marker/aed (Sanya)
- Styling
- Fix directions overflow
- fixed card and button positions
- Try adding animation to recenter button, cards, directions, etc.
-
Deployment
- Enable API keys and test app
- Deploy to AWS
-
Future
- script that regularly fetches and updates data: Cron Job
- Set up production database
-
Cleaning & Refactoring
- Extract react components
- Extract styles
- Extract constants
- Extract hooks
- Extract utils
- Make sure code modularization makes sense
- Ensure code is DRY
- Ensure code is readable
- Document code
- Format code (prettier)
- Styling
- Add transition get current location and polyline