- TravelAccommodationBooking.Api: Presentation Layer, providing endpoints and functionality for the platform.
- TravelAccommodationBooking.Db: Data access Layer for managing database interactions. This includes the use of Entity Framework Core (EF Core) for working on Object-Relational Mapping (ORM).
- TravelAccommodationBooking: Business Logic Layer, handles core business logic.
- TravelAccommodationBooking.Tests: Contains unit tests to ensure the reliability and correctness of the platform.
- xUnit - for testing
- .NET 6: Target framework for building web APIs.
- Entity Framework Core: ORM for data access.
- AutoMapper: Object mapping solution.
- BCrypt: Cryptography provider for hashing passwords.
- FluentValidation: Framework for building strong validation rules.
- JWT Bearer Authentication: Implementation for secure user authentication.
- Serilog: Logging mechanism.
- Swashbuckle: Swagger tool for API documentation.
-
Clone the repository:
git clone `[Repository URL](https://github.com/Reema-Khaseeb/Travel-Accommodation-Booking.git)
-
Navigate to the project's root directory:
cd TravelAccommodationBooking
-
Restore dependencies and build the project:
dotnet restore dotnet build
-
Launch the API project:
dotnet run --project TravelAccommodationBooking.API
Detailed examples of API usage are provided in the Swagger UI once the application is running:
http://localhost:7119/swagger
To run the unit tests, use the following command:
dotnet test TravelAccommodationBooking.Tests