Skip to content

Promise30/BlogApiService

Repository files navigation

Blog API Project

Overview

This Blog API project is a robust backend solution for managing a blogging platform. Built with ASP.NET Core, it provides a RESTful API for creating, reading, updating, and deleting blog posts, managing users, and handling comments and post tags. It also provides a comprehensive set of functionalities for user authentication and account management. The project uses SQL Server for data persistence and Redis for caching, all containerized with Docker for easy deployment and scalability.

Features

  • User Authentication: Secure user registration and login using JWT.
  • Account Management: Users can create, update, and manage their accounts.
  • Posts CRUD Operations: Endpoints for creating, reading, updating, and deleting blog posts.
  • Comments CRUD Operations: Endpoints for adding, updating, and deleting comments on posts.
  • Tags CRUD Operations: Endpoints for creating, reading, updating and deleting tags.
  • Image Upload: Integration with Cloudinary for image uploads.
  • Mailing System: Gmail service integration for sending emails (e.g., account verification, password reset, new post and comment notification).

Technologies Used

  • C# and .NET 8: Backend development framework.
  • SQL Server: Database management system.
  • Cloudinary: Cloud-based image and video management service.
  • Gmail API: Service for sending emails.

Getting Started

Prerequisites

  • .NET SDK (version 8.0)
  • SQL Server
  • Cloudinary Account for image management.
  • Gmail Account with less secure apps enabled.

Installation

  1. Clone the repository
    https://github.com/Promise30/BlogApiService.git
    cd BlogApiService
    
  2. Set up the project environment variables. Copy the .env.example file to a new file named .env and provide your own values:
    cp .env.example .env
    
  3. Run the project
    docker-compose up
    

This will start the API, the SQL Server database and the redis cache. The API will be available at http://localhost:8002/swagger OR https://localhost:8003/swagger

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published