This repository contains the backend Web API for the Electric Vehicle Station Booking System. The API is developed in C# and serves as the central business logic layer for all client applications (web and mobile). It exposes RESTful endpoints for managing users, EV owners, charging stations, and bookings.
- Implements all business rules and logic for the system (FAT Service)
- Handles authentication, authorization, and role-based access control
- Manages CRUD operations for users, EV owners, charging stations, and bookings
- Enforces booking rules (e.g., reservation windows, update/cancel restrictions)
- Generates QR codes for bookings.
- Integrates with MongoDB Atlas for NoSQL data storage
- ASP.NET Core Web API (C#)
- MongoDB Atlas (NoSQL database)
- QRCoder (QR code generation)
- Swagger (API documentation)
- User Management: Create, update, delete users; assign roles (Backoffice, Station Operator)
- EV Owner Management: Create, update, delete EV owner profiles; activate/deactivate accounts
- Charging Station Management: Create, update, deactivate stations; manage slot schedules
- Booking Management: Create, update, cancel bookings; confirm bookings and generate QR codes; retrieve bookings by QR code
- The API is the point of interaction for both the web and mobile clients
- All data access and business logic are centralized in the API
- The web and mobile apps are responsible only for user interface.
- Clone the repository:
git clone https://github.com/y4-systems/ev-station-booking-system-api.git
- Configure MongoDB Atlas connection by creating
.env. Use .env.sample for the reference. - Run the API:
dotnet run
- Access Swagger UI for API documentation at
http://localhost:5000/swagger/index.html
- Web Frontend: ev-station-booking-system-web
- Android App: ev-station-booking-system-android