This is a .NET 7 Web API that provides endpoints to access and manage data related to the TV show The Office.
The API allows users to retrieve information about characters, episodes, and quotes from the show.
The API endpoints are documented using Swagger
Open a web browser and navigate to http://localhost:5000/swagger.
This will display the Swagger UI, which provides a user-friendly interface for exploring the API
endpoints. The API provides the following endpoints:
- Presentation Layer
- Name: the-office.api
- Description: This layer is responsible for exposing the API to the outside world, i.e. it receives HTTP requests,
processes them and returns the responses. It is in this layer that most of the API configurations are done.
- Application Layer
- Name: the-office.application
- Description: The layer is responsible for housing the application's business rules,
it uses the services provided by the other layers to perform the required operations. It is in this layer
that the application use cases are implemented.
- Domain Layer
- Name: the-office.domain
- Description: The layer is responsible for defining the application's business concepts and rules.
It is in this layer that the entities and object values that the application uses are defined.
- Infrastructure Layer
- Name: the-office.infrastructure
- Description: The layer is responsible for access database.
It is in this layer that the configuration database, context class, migrations, repositories and configuration the MediatR.
To get started with the API, clone this repository to your local machine and run the following
command to start the application:
To get started with the API, follow these steps:
- Install .NET 7 if you haven't already. You can download it from here.
- Clone this repository to your local machine.
https://github.com/JessicaNathany/the-office.api.git
- Next, navigate to the project directory and run the following command to restore the dependencies:
dotnet restore
- Finally, run the following command to start the API:
dotnet run
- The application will start listening on http://localhost:5000
GET /characters
- retrieves a list of all characters in The Office.GET /characters/{id}
- retrieves a specific character by ID.POST /character
- add a character in The Office.DELETE /character
- remove a character in The Office.GET /episodes
- retrieves a list of all episodes in The Office.GET /episodes/{id}
- retrieves a specific episode by ID.POST /episode
- add an episode in The Office.DELETE /episode
- remove an episode in The Office.GET /seasons
- retrieves a list of all seasons in The Office.GET /seasons/{id}
- retrieves a specific season by ID.POST /seasons
- add a season in The Office.DELETE /seasons
- remove a season in The Office.
GET /gifs
- retrieves a list of all gifs in The Office.GET /images
- retrieves a list of all iamges in The Office.GET /images/character/{id}
- retrieves of all iamges in specific character in The Office.
Project status
This project is currently at version 1.0.0. Below is a list of currently available features and those that will
be added in future updates.
- Moq
- AutoMoq
- Newtonsoft
- MediatR
- FluentValidation
- EntityFrameworkCore
- Npgsql.EntityFrameworkCore.PostgreSQL
- Npgsql.EntityFrameworkCore.PostgreSQL.Design
- AutoMapper
- NBuilder
Contributions are welcome!
To contribute to this project, please fork this repository and submit a pull request.
This project is licensed under the MIT License - see the LICENSE.md file for details.
📧 Contact
Made with ♥ by Jéssica Natahny 👋: Get in touch!
By the way, guess who suggested this readme?... You're welcome 🥰