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.
- 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).
- 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.
- .NET SDK (version 8.0)
- SQL Server
- Cloudinary Account for image management.
- Gmail Account with less secure apps enabled.
- Clone the repository
https://github.com/Promise30/BlogApiService.git cd BlogApiService
- 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
- 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