A job board backend API built with .NET 8 following Domain-Driven Design (DDD) and Clean Architecture principles.
The solution follows Clean Architecture principles and is organized into the following projects:
- JobBoard.Domain: Contains the domain entities, value objects, domain events, and domain services. This is the core of the application.
- JobBoard.Application: Contains the application services, DTOs, interfaces, and business logic.
- JobBoard.Infrastructure: Contains the implementation of the interfaces defined in the Application layer.
- JobBoard.API: Contains the API controllers, middlewares, and configuration for the web application.
- .NET 8.0
- Entity Framework Core
- AutoMapper
- MediatR
- Minimal APIs
- Swagger
- .NET 8.0 SDK or higher
- A SQL Server instance (or use the LocalDB)
- Clone the repository
- Navigate to the project directory
- Run the API:
cd src/JobBoard.API
dotnet run
- Access the Swagger documentation at
http://localhost:5000/swagger
- Job Posting Management
- Company Profiles
- Job Applications
- User Management
- Search and Filtering
This project follows Clean Architecture principles with a Domain-Driven Design approach. The main components include:
- Domain Layer: Core business logic and entities
- Application Layer: Use cases and DTOs
- Infrastructure Layer: External concerns like database, file systems, etc.
- API Layer: REST API endpoints using minimal APIs
This project is licensed under the MIT License - see the LICENSE file for details.