Skip to content

Repository files navigation

⚡ Grid-Lock

EV Charging Platform

A full-stack MERN application connecting EV drivers with home charging station hosts — GPS discovery, live booking, wallet payments, and real-time price bidding.

React Node.js Express MongoDB Socket.io Leaflet Tailwind CSS

Live Demo License PRs Welcome

⚡ View Live App


📖 Overview

Grid-Lock is a full-stack MERN marketplace that connects EV drivers with everyday people who host home charging stations. Drivers can locate nearby chargers on a live map, reserve time slots for cars or bikes, pay through an integrated wallet, and leave reviews — while hosts get a dashboard to list and manage their own stations. A Socket.io real-time layer powers live price bidding, so charging costs can flex dynamically instead of being fixed.

Screenshot 2026-07-15 at 2 27 28 PM Screenshot 2026-07-15 at 2 28 07 PM

🚀 Features

Feature Description
📍 Live GPS Tracking Find chargers near your real-time location on an interactive map
🗓️ Booking System Reserve time slots for Cars or Bikes
💳 Wallet & Payments Integrated dummy payment gateway with an in-app wallet system
🏠 Host Dashboard Users can deploy and manage their own charging stations
🔄 Real-Time Updates Socket.io-powered live price bidding on charging slots
Reviews Drivers can rate and review stations after use

🏗️ Architecture

                        ┌───────────────────────────┐
                        │   React Client (Vite/CRA)   │
                        │   Leaflet Maps · Tailwind     │
                        └──────────────┬──────────────┘
                                       │  REST API + WebSocket
                                       ▼
                        ┌───────────────────────────┐
                        │   Express.js Server           │
                        │   (Node.js runtime)             │
                        └──────┬─────────────┬────────┘
                              │             │
                REST/CRUD    │             │  Real-time events
                              ▼             ▼
                ┌───────────────────┐  ┌───────────────────┐
                │      MongoDB          │  │    Socket.io          │
                │  (Users, Stations,     │  │  (Live price bidding,  │
                │   Bookings, Wallet)     │  │   booking updates)      │
                └───────────────────┘  └───────────────────┘

🛠️ Tech Stack

Layer Technologies
Frontend React.js · Leaflet Maps · Tailwind CSS
Backend Node.js · Express.js
Database MongoDB
Real-Time Socket.io
Deployment Vercel

📦 Getting Started

Prerequisites

  • Node.js 18+
  • npm
  • A running MongoDB instance (local or Atlas)

Installation

# 1. Clone the repository
git clone https://github.com/adjienjeknwc/grid-lock-ev-platform.git
cd grid-lock-ev-platform

# 2. Install client dependencies
cd client && npm install

# 3. Install server dependencies
cd ../server && npm install

Running Locally

# Terminal 1: Start the server
cd server && node index.js

# Terminal 2: Start the client
cd client && npm start

The client will typically run on http://localhost:3000, connecting to the Express server for REST calls and real-time Socket.io events.

Or skip local setup entirely and try the ⚡ Live App.


🔄 How It Works

  1. Discover — the driver opens the app and sees nearby charging stations plotted live on a Leaflet map based on GPS location.
  2. Book — the driver selects a station, chooses a vehicle type (car or bike), and reserves an available time slot.
  3. Bid — Socket.io streams live price updates for slots where hosts have enabled dynamic bidding.
  4. Pay — payment is settled through the integrated wallet and dummy payment gateway.
  5. Review — after charging, the driver leaves a rating and review for the station.
  6. Host — station owners manage their listings, pricing, and bookings through a dedicated host dashboard.

🗺️ Roadmap

  • Real payment gateway integration (Razorpay/Stripe)
  • Push notifications for booking confirmations & bidding updates
  • Host payout & earnings dashboard
  • Route-based charger suggestions (not just proximity)
  • Mobile app (React Native)

⚠️ Disclaimer

Grid-Lock is a portfolio / demonstration project. The payment gateway is a dummy implementation for demo purposes only — no real financial transactions are processed.


🤝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


Built with ⚡ to keep EVs charged and drivers moving.