A full-stack web application for DoorDash drivers to track earnings, analyze performance metrics, and visualize delivery data.
- Earnings Dashboard with interactive charts and $50 challenge bonus tracking
- Delivery Analytics by restaurant, merchant type, and location
- Performance Metrics including hourly rates and time efficiency
- Session Management for adding and managing delivery data
- Frontend: React, ApexCharts, TailwindCSS
- Backend: Flask API with JWT authentication
- Data: JSON-based storage with aggregation services
# Backend setup
cd server
pip install -r requirements.txt
python app.py # Runs on http://localhost:5000
# Frontend setup
cd client
npm install
npm run dev # Runs on http://localhost:5173The application implements JWT (JSON Web Tokens) for secure authentication:
- Protected routes require a valid access token
- Automatic token refresh mechanism
- Session persistence across page reloads
-
Database Implementation
- Replace JSON file storage with MongoDB or PostgreSQL
- Add data migration scripts from JSON to DB
- Implement proper DB connection pooling and error handling
-
Deployment
- Configure CI/CD pipeline with GitHub Actions
- Deploy backend API to a cloud provider (Replit, Azure, AWS) replit for proof of concept; scale accordingly
- Set up frontend hosting
- Implement environment-specific configuration
# Core data endpoints
GET /api/summary # Earnings summary with metrics
GET /api/timeseries # Time-series chart data
GET /api/restaurants # Restaurant statistics
# Authentication
POST /api/auth/login
POST /api/auth/register
POST /api/auth/refresh
Sessions are stored in doordash_sessions.json:
{
"sessions": [
{
"date": "2025-05-15",
"start_time": "18:00",
"end_time": "20:00",
"dash_time_minutes": 120,
"active_time_minutes": 60,
"deliveries": [
{
"restaurant": "McDonald's",
"doordash_pay": 4.25,
"tip": 1.75,
"total": 6.0,
"merchant_type": "Fast Food"
}
],
"earnings": 6.0
},
{
"date": "2025-04-29",
"challenge_bonus": 50.0,
"note": "Weekly Challenge",
"deliveries": []
}
]
}Note: Rename
doordash_sessions.example.jsontodoordash_sessions.jsonto get started.
This project is licensed under the MIT License.

