Skip to content

A full-featured web-based system designed to streamline car rental operations. The system allows users to browse available vehicles, make reservations, manage bookings, and process payments. Admins can add/edit cars, set pricing, manage customers, and track rental history. Key features include vehicle availability tracking, and authentication

Notifications You must be signed in to change notification settings

ayaatef11/Car-Rental-System

Repository files navigation

Car Rental System

A modern, modular, and extensible RESTful API , built with ASP.NET Core (.NET 9), Entity Framework Core, MediatR, Follows Clean Architecture.

dotnet dotnet sql-server jwt Swagger Swagger

Table of Contents


Features

  • User authentication & JWT-based authorization
  • Cars, Customer, and reservation management
  • Reservation progress tracking
  • Email Support
  • Background jobs with Hangfire
  • Health checks and monitoring
  • Swagger documentation

Database Diagram

01 02 03

Endpoints

01 02 03 03 03


Getting Started

Prerequisites

Configuration

  1. Clone the repository:

  2. Restore packages

    dotnet restore
  3. Set up configuration:

  • Update src/Goodreads.API/appsettings.Development.json with your local connection strings and secrets as needed.
  1. Apply database migrations and seed data:
  • By default, RunMigrations is set to true in development. The database will be created and seeded automatically on first run.

  • Run the migrations (manually).

    dotnet ef migrations add InitialCreate
    dotnet ef database update
  1. Run the application
    dotnet run

API Documentation

  • Interactive API docs are available via Swagger at /swagger.

Background Jobs

  • Hangfire is used for recurring and background jobs.
  • Dashboard available at /hangfire.

Health Checks

  • Health check endpoint: /healthz
  • Includes checks for database and blob storage connectivity.

Contributing

Contributions are welcome! Please open issues or submit pull requests for improvements.

linkedin

About

A full-featured web-based system designed to streamline car rental operations. The system allows users to browse available vehicles, make reservations, manage bookings, and process payments. Admins can add/edit cars, set pricing, manage customers, and track rental history. Key features include vehicle availability tracking, and authentication

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published