Smart Route Planning with Real-Time Traffic ETAs
ETA Now is a web application that helps you plan your commutes by calculating estimated arrival times based on real-time traffic conditions. Set your target arrival time, and the app tells you exactly when to leave.
- Save multiple routes - Home to work, gym, appointments, etc.
- Custom route names - Label routes for easy identification
- From/To locations - Set origin and destination addresses
- Target arrival times - Specify when you need to arrive
- Live traffic data - Real-time traffic conditions
- Accurate ETAs - Calculate travel time with current traffic
- Departure time calculation - Know exactly when to leave
- Auto-refresh - Updates every 5 minutes automatically
- Departure alerts - Get notified when it's time to leave
- Customizable notifications - Enable/disable per route
- Browser notifications - Native notification support
- User authentication - Secure login system
- Personal routes - Each user has their own saved routes
- Settings management - Customize app preferences
- Clean interface - Intuitive and easy to use
- Responsive design - Works on desktop and mobile
- Real-time updates - Live ETA updates
- Visual feedback - Loading states and refresh indicators
- Node.js 14+ and npm
- Modern web browser with notification support
-
Clone the repository:
git clone <repository-url> cd ETA_Now
-
Install dependencies:
npm install
-
Start development server:
npm run dev
-
Open in browser:
http://localhost:5173
- Create an account or login with existing credentials
- Your routes are saved per user account
- Click "Add Route" button
- Enter route details:
- Route Name - e.g., "Home to Work"
- From Location - Starting address
- To Location - Destination address
- Target Arrival Time - When you need to arrive
- Enable Notifications - Get departure alerts
- Dashboard shows all your saved routes
- Each route displays:
- Current travel time with traffic
- Recommended departure time
- Time until you need to leave
- Last updated timestamp
- Edit - Update route details
- Delete - Remove routes you no longer need
- Refresh - Manually update ETAs
- Auto-refresh - Automatic updates every 5 minutes
- Enable browser notifications when prompted
- Receive alerts when it's time to leave
- Notifications show:
- Route name
- Departure time
- Estimated travel duration
ETA_Now/
βββ src/
β βββ components/
β β βββ Dashboard.jsx # Main dashboard view
β β βββ Login.jsx # Login/signup page
β β βββ Header.jsx # App header
β β βββ RouteCard.jsx # Individual route display
β β βββ RouteForm.jsx # Add/edit route form
β β βββ Settings.jsx # User settings
β βββ utils/
β β βββ auth.js # Authentication utilities
β β βββ storage.js # Local storage management
β β βββ maps.js # ETA calculation logic
β β βββ notifications.js # Notification handling
β βββ App.jsx # Main app component
β βββ main.jsx # App entry point
β βββ index.css # Global styles
βββ public/ # Static assets
βββ index.html # HTML template
βββ vite.config.js # Vite configuration
βββ package.json # Dependencies
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview- React 18 - UI framework
- React Router DOM - Client-side routing
- Vite - Build tool and dev server
- LocalStorage - Data persistence
- Browser Notifications API - Departure alerts
- Maps API - ETA calculations (configurable)
The app uses a maps service for ETA calculations. Configure in src/utils/maps.js:
// Example: Google Maps API, Mapbox, or custom service
const API_KEY = 'your_api_key_here';Note: For development, the app includes mock ETA calculations. For production, integrate with a real maps API service.
- Chrome/Edge - Full support
- Firefox - Full support
- Safari - Full support (notifications require permission)
- Mobile browsers - Responsive design works on all devices
- Click "Allow" when prompted for notification permission
- Enable notifications per route in route settings
- Receive alerts when it's time to leave
- Alerts sent when departure time approaches
- Configurable notification window
- Smart timing based on traffic conditions
- LocalStorage - All data stored locally in browser
- No backend required - Fully client-side application
- Privacy-focused - Your data stays on your device
- Per-user storage - Routes saved per user account
- Daily commute - Never be late to work
- Appointments - Arrive on time for meetings
- School runs - Plan pickups and drop-offs
- Gym sessions - Time your workout commute
- Social events - Arrive punctually to gatherings
- Multiple route alternatives
- Historical traffic patterns
- Calendar integration
- Public transit options
- Carpool coordination
- Weather-based adjustments
- Recurring routes (daily/weekly)
- Mobile app (React Native)
MIT License - see LICENSE file for details.
- React team for the amazing framework
- Vite for lightning-fast development
- Maps API providers for traffic data
For issues or questions:
- Open an issue on GitHub
- Check existing documentation
- Review the code comments
Built with β€οΈ by Garason
Never be late again! β°β¨