Skip to content

pedro-cons/CmsApi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMS API

Description

This is a CMS (Content Management System) API project built with MongoDB and .NET 8 to efficiently and scalably store data. To use the API, it is necessary to register a user in the database for authentication.

Project Structure

The project is organized following best practices in software architecture. It is composed of the following layers:

  • Presentation: Responsible for communication interfaces, including controllers and endpoints.
  • Application: Contains application logic, such as services that orchestrate communication between presentation and domain layers.
  • Domain: Defines entities and business rules.
  • Repository: Interfaces between the application and the database, encapsulating CRUD operations.
  • Configuration: Centralizes dependency and system configuration.

Why MongoDB?

We chose MongoDB because it is a NoSQL database, providing greater flexibility in data storage, ideal for documents with variable schemas. Additionally, MongoDB is highly scalable and suitable for large volumes of data.

The DocumentDB service on AWS runs MongoDB internally and is fully compatible with it. Choosing MongoDB has a similar justification to using DocumentDB, offering scalability and flexibility with the reliability of AWS.

Authentication with JWT

For authentication, we used JWT (JSON Web Token). A token must be passed with each request to access the endpoints. This ensures secure access and authentication for every API call.

All API documentation is also available through swagger

Installation

Before running the project, make sure to install all the necessary packages by running the following commands:

# Install project dependencies
dotnet restore

# Build the project
dotnet build

# Run the project
dotnet run

After running these commands, the API should be up and running, and you can start making requests by passing the JWT token for authentication.

About

This is a CMS (Content Management System) API project built with **MongoDB** and .NET 8.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages