This is the backend API for a Blogging Website built using Spring Boot. It provides endpoints for managing users, posts, comments, likes, and followers.
-
User Management
- User registration
- User authentication (JWT-based)
- User profile management
- Profile picture upload
-
Post Management
- Create, read, update, delete posts
- Draft, publish, and archive posts
- Tagging posts with categories
- Retrieve posts by user or category
-
Comment Management
- Add, edit, delete comments on posts
- Nested comments support
- Get comments for a specific post
-
Likes
- Like/unlike posts
- Retrieve likes for a specific post
-
Followers
- Follow/unfollow other users :pending
- Get followers/following list for a user :pending
- Spring Boot: Framework for building robust Java applications
- Spring Security: For authentication and authorization
- Spring Data JPA: For working with databases using JPA
- Hibernate: ORM (Object-Relational Mapping) tool for Java
- PostgreSQL: Relational database management system
- JWT (JSON Web Tokens): For secure authentication
-
Clone the repository:
git clone https://github.com/Munezero2000/Blogging-Application-Backend.git
-
Navigate to the project directory:
cd blogging-website-backend
-
Configure your database settings in
application.properties
. -
Build and run the project:
./mvn spring-boot:run
-
The API will be available at
http://localhost:8081
.
- Detailed documentation of API endpoints can be found in API Documentation.
Contributions are welcome! Feel free to open issues or submit pull requests for any improvements or new features you'd like to see.
This project is licensed under the MIT License.