A comprehensive Electric Vehicle charging station management platform with dual backend support (.NET & Spring Boot) and modern React frontend.
- Station Discovery - Find nearby charging stations with real-time availability
- Smart Booking - Book charging slots with time selection and payment integration
- Vehicle Management - Save multiple vehicle profiles with charging preferences
- Reservation Management - View, modify, and cancel bookings with 20-minute policy
- Review System - Rate and review charging stations
- Google OAuth - Quick login with Google account
- Station Management - Add and manage charging stations
- Booking Analytics - Track station performance and revenue
- Real-time Monitoring - View active bookings and slot availability
- Review Management - Monitor customer feedback
- Complete Dashboard - System-wide analytics and statistics
- User Management - Manage all platform users
- Station Approval - Approve/reject new charging stations
- Booking Oversight - Monitor and manage all bookings
- Revenue Tracking - Financial analytics and reporting
- React 18 - Modern UI library with hooks
- React Router - Client-side routing
- Bootstrap 5 - Responsive UI components
- Axios - HTTP client for API calls
- React Hot Toast - Beautiful notifications
- Google OAuth - Authentication integration
- Razorpay - Payment gateway integration
- ASP.NET Core - Web API framework
- Entity Framework Core - ORM for database operations
- JWT Authentication - Secure token-based auth
- SQL Server - Primary database
- Swagger - API documentation
- Spring Boot - Java web framework
- Spring Security - Authentication & authorization
- Spring Data JPA - Database abstraction
- MySQL/PostgreSQL - Database options
- OpenAPI 3 - API documentation
Users (Id, Name, Email, Password, Role, VehicleInfo, CreatedAt)
Stations (Id, Name, Address, Location, Pricing, Slots, OwnerId, Status)
Bookings (Id, UserId, StationId, DateTime, Amount, Status, PaymentId)
Reviews (Id, UserId, StationId, Rating, Comment, CreatedAt)- Node.js 18+
- .NET 8 SDK OR Java 17+ with Maven
- SQL Server OR MySQL/PostgreSQL
- Git
git clone https://github.com/yourusername/ev-charger-finder.git
cd ev-charger-findercd frontend-both
npm install
npm run dev
# Runs on http://localhost:5173cd EVChargerAPI
dotnet restore
dotnet ef database update
dotnet run
# Runs on http://localhost:5000cd EVChargerSpringBoot
mvn clean install
mvn spring-boot:run
# Runs on http://localhost:8080VITE_API_BASE_URL=http://localhost:5000/api
VITE_GOOGLE_CLIENT_ID=your_google_client_id
VITE_RAZORPAY_KEY=your_razorpay_key{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=EVChargerDB;Trusted_Connection=true;"
},
"JwtSettings": {
"SecretKey": "your_jwt_secret_key",
"Issuer": "EVChargerAPI",
"Audience": "EVChargerUsers"
}
}spring:
datasource:
url: jdbc:mysql://localhost:3306/evcharger
username: your_db_username
password: your_db_password
jpa:
hibernate:
ddl-auto: update
jwt:
secret: your_jwt_secret_key
expiration: 86400000- Registration/Login β Google OAuth or email/password
- Station Discovery β Browse available charging stations
- Booking Process β Select time slot, vehicle, and payment
- Payment β Secure Razorpay integration
- Confirmation β Booking confirmed with details
- Management β View, cancel, or review bookings
- Station Registration β Add charging station details
- Approval Process β Admin reviews and approves
- Booking Management β Monitor station bookings
- Analytics β Track performance and revenue
- Dashboard Overview β System-wide statistics
- User Management β Manage platform users
- Station Approval β Review new station applications
- System Monitoring β Oversee all operations
POST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/google- Google OAuth login
GET /api/stations- Get all stationsPOST /api/stations- Create new stationGET /api/stations/{id}- Get station details
POST /api/bookings- Create bookingGET /api/bookings/user- Get user bookingsDELETE /api/bookings/{id}- Cancel booking
GET /api/admin/dashboard-stats- Dashboard statisticsGET /api/admin/users- All usersGET /api/admin/bookings- All bookings
- Dark Theme - Modern dark interface with accent colors
- Responsive Design - Works on desktop, tablet, and mobile
- Interactive Maps - Station location visualization
- Real-time Updates - Live booking status updates
- Professional Modals - Booking and review interfaces
- Toast Notifications - User feedback system
- JWT Authentication - Secure token-based authentication
- Role-based Access - User, Station Master, Admin roles
- Input Validation - Frontend and backend validation
- SQL Injection Protection - Parameterized queries
- CORS Configuration - Cross-origin request handling
- Real-time Slot Management - Prevents overbooking
- Payment Integration - Secure Razorpay payments
- Cancellation Policy - 20-minute rule enforcement
- Review System - 5-star rating system
- Analytics Dashboard - Revenue and usage tracking
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Frontend Development - React.js with modern UI/UX
- Backend Development - .NET Core & Spring Boot APIs
- Database Design - Relational database architecture
- Payment Integration - Razorpay payment gateway
- Authentication - JWT & Google OAuth implementation
For support, email sanketmandavgane673@gmail.com or create an issue in this repository.
β‘ Powering the future of electric vehicle charging! π