Git Product home page Git Product logo

seesharp.backend's Introduction

Blog Post Management API

This repository contains a .NET API for managing blog posts. It is built using .NET 7 and follows a clean architecture pattern. The project leverages various technologies and design patterns to ensure a robust and scalable solution.

Latest Features

  • Added GraphQL support using HotChocolate
  • Updated solution to .net 8
  • Updated some packages

Currently Being Implemented

  • Refactoring 🔓

Features

  • .NET 8: This project is built on .NET 8.

  • Clean Architecture: The codebase follows the principles of clean architecture, separating concerns into distinct layers to achieve maintainability and testability.

  • CQRS and Mediatr: Command Query Responsibility Segregation (CQRS) and Mediatr are used to separate the write and read operations, making the application more scalable and flexible.

  • Authentication: The API utilizes .NET Core Identity and JWT Tokens for user authentication and authorization.

  • Logging: Serilog is employed for comprehensive logging, allowing you to monitor and troubleshoot the application effectively.

  • Docker SQL Container: The project includes a Docker SQL container for easy database setup and management.

  • API Versioning: API versioning is implemented to ensure backward compatibility and smooth updates.

  • Fluent Validations: FluentValidations are used for input validation, ensuring data integrity and security.

  • CQRS IPipelineBehavior: Custom pipeline behaviors are employed to handle cross-cutting concerns such as validation, logging, and error handling in the CQRS pipeline.

Getting Started

To get started with this project, follow these steps:

  1. Clone the repository to your local machine:

    bash

  2. git clone https://github.com/hyazbek/SeeSharp.Backend.git

  3. Open the solution in your preferred IDE (Visual Studio, Visual Studio Code, etc.).

  4. Configure your database connection in the appsettings.json file.

  5. Update database using dotnet ef database update

  6. Build and run the application.

  7. Access the API endpoints through the provided Swagger documentation or your preferred API client.

GraphQL

  • Use [server]/graphql to open the GraphQL IDE

API Endpoints

Here are some of the key API endpoints:

  • POST /api/v1/blogposts: Create a new blog post.

  • GET /api/v1/blogposts/{id}: Retrieve a specific blog post by ID.

  • GET /api/v1/blogposts: Retrieve a list of blog posts.

  • PUT /api/v1/blogposts/{id}: Update an existing blog post.

  • DELETE /api/v1/blogposts/{id}: Delete a blog post.

  • POST /api/v1/auth/register: Register a new user.

  • POST /api/v1/auth/login: login endpoint.

For a complete list of endpoints and their descriptions, refer to the Swagger documentation.


Happy coding! 🚀📝

seesharp.backend's People

Contributors

hilalyazbek avatar

Stargazers

zakariae haida avatar Fabio Tavares avatar  avatar Raviraj Padhiyar avatar Huynh Quang Vinh avatar M. Yilmaz avatar George Zardavas avatar  avatar O0oo0O avatar  avatar Parsa avatar  avatar Doğa Aydın avatar sametcekin avatar andry avatar Cioclea Doru Octavian avatar Ricardo Jara  avatar memoyu avatar  avatar Borhan uddin amin avatar Renato Trincas avatar Renato Barbosa de Paula avatar Badruzzaman avatar Nguyen Viet Manh avatar Ameet Jayawant avatar YuChia avatar Michael C Hanna avatar

Watchers

 avatar Borhan uddin amin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.