Skip to content

Real-time location tracking and ETA calculation app with Google Maps integration and live updates

License

Notifications You must be signed in to change notification settings

beerberidie/ETA_Now

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ETA Now β°πŸš—

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.


✨ Features

πŸ—ΊοΈ Route Management

  • 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

⏱️ Real-Time ETA Calculation

  • 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

πŸ”” Smart Notifications

  • Departure alerts - Get notified when it's time to leave
  • Customizable notifications - Enable/disable per route
  • Browser notifications - Native notification support

πŸ‘€ User Management

  • User authentication - Secure login system
  • Personal routes - Each user has their own saved routes
  • Settings management - Customize app preferences

🎨 Modern UI

  • 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

πŸš€ Quick Start

Prerequisites

  • Node.js 14+ and npm
  • Modern web browser with notification support

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd ETA_Now
  2. Install dependencies:

    npm install
  3. Start development server:

    npm run dev
  4. Open in browser:

    http://localhost:5173
    

πŸ“– How to Use

1. Login

  • Create an account or login with existing credentials
  • Your routes are saved per user account

2. Add a Route

  • 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

3. View ETAs

  • 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

4. Manage Routes

  • Edit - Update route details
  • Delete - Remove routes you no longer need
  • Refresh - Manually update ETAs
  • Auto-refresh - Automatic updates every 5 minutes

5. Notifications

  • Enable browser notifications when prompted
  • Receive alerts when it's time to leave
  • Notifications show:
    • Route name
    • Departure time
    • Estimated travel duration

πŸ› οΈ Development

Project Structure

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

Available Scripts

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

Technologies Used

  • 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)

πŸ”§ Configuration

Maps API Integration

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.


πŸ“± Browser Support

  • Chrome/Edge - Full support
  • Firefox - Full support
  • Safari - Full support (notifications require permission)
  • Mobile browsers - Responsive design works on all devices

πŸ”” Notifications

Enable Notifications

  1. Click "Allow" when prompted for notification permission
  2. Enable notifications per route in route settings
  3. Receive alerts when it's time to leave

Notification Timing

  • Alerts sent when departure time approaches
  • Configurable notification window
  • Smart timing based on traffic conditions

πŸ’Ύ Data Storage

  • 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

🎯 Use Cases

  • 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

🚧 Future Enhancements

  • Multiple route alternatives
  • Historical traffic patterns
  • Calendar integration
  • Public transit options
  • Carpool coordination
  • Weather-based adjustments
  • Recurring routes (daily/weekly)
  • Mobile app (React Native)

πŸ“„ License

MIT License - see LICENSE file for details.


πŸ™ Acknowledgments

  • React team for the amazing framework
  • Vite for lightning-fast development
  • Maps API providers for traffic data

πŸ“ž Support

For issues or questions:

  • Open an issue on GitHub
  • Check existing documentation
  • Review the code comments

Built with ❀️ by Garason

Never be late again! ⏰✨

About

Real-time location tracking and ETA calculation app with Google Maps integration and live updates

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •