Skip to content

Backend side of a layered web application. Developed using .NET 7.0, Entity Framework Core and PostgreSql.

License

Notifications You must be signed in to change notification settings

emrecancorapci/dotnet-yet-another-blog-app-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yet Another Blog Project

The app is a backend service for a blog, providing a RESTful API for creating, reading, updating, and deleting posts. It uses JWT tokens for authentication, allowing users to securely log in and access protected routes.

It is built using .NET 7.0 and has a layered architecture with five different layers: API, Business, Data Access, Entities, and Web. The API layer exposes the endpoints and handles incoming HTTP requests. The Business layer contains the business logic for the app. The Data Access layer communicates with the database using Entity Framework Core. The Entities layer defines the models used by the app. The Web layer contains the frontend code for the app.

Swagger is used to document the API and provide a user interface for testing the endpoints. AutoMapper is used to map data between the database models and the API models, and BCrypt is used to hash and salt user passwords for secure storage.

You can access development roadmap from here

Features

  • User authentication using JWT tokens
  • CRUD operations
  • Swagger documentation
  • AutoMapper for mapping data between models
  • BCrypt for hashing and salting passwords

Technologies

Getting Started

Prerequisites

Installation

  1. Clone the repo
git clone https://github.com/emrecancorapci/YetAnotherBlogProject_Backend.git
  1. Build the project
dotnet build
  1. Run the project
dotnet run --project src/API/API.csproj
  1. Open the Swagger UI
{URL}/swagger/index.html
  1. Create appsettings.json at API folder. You can use appsettings.example.json as a template.
{
  "ConnectionStrings": {
    "DefaultConnection": "Server={SERVER};Port={PORT};Database={DATABASE};User Id={USER};Password={PASSWORD};"
  },
  "JsonWebTokenKeys": {
    "Subject": "Login",
    "IssuerSigningKey": "{KEY}"
  }
}

About

Backend side of a layered web application. Developed using .NET 7.0, Entity Framework Core and PostgreSql.

Topics

Resources

License

Stars

Watchers

Forks

Languages