The Blog Management System is a web application designed to facilitate the creation, management, and interaction with blog posts across various categories. This project was developed using React for the frontend and Spring Boot for the backend. Secure JWT authentication is implemented to ensure user data and interactions are protected.
- User Authentication: Secure login and registration using JWT tokens.
- Post Management: Create, read, update, and delete blog posts.
- Comment Management: Add, read, update, and delete comments on posts.
- User Management: Handle user registrations and permissions.
- Admins: Have permissions to delete and update posts and comments.
- Users: Can access and use APIs relevant to their level (create, read, and comment on posts).
- Frontend: React
- Backend: Spring Boot
- Authentication: JWT (JSON Web Tokens)
- Node.js
- Java JDK
- Spring Boot
- MySQL or any preferred database
- Navigate to the
frontenddirectory. - Install dependencies:
npm install- Start the development server:
npm start- Navigate to the
backenddirectory. - Configure the database settings in application.properties.
- Build the project:
mvn clean install- Run the Spring Boot application:
mvn spring-boot:runPOST /api/auth/register: Register a new user.POST /api/auth/login: Login and retrieve a JWT token.
GET /api/posts: Retrieve all posts.GET /api/posts/{postId}: Retrieve a single post by ID.POST /api/posts: Create a new post.PUT /api/posts/{postId}: Update an existing post.DELETE /api/posts/{postId}: Delete a post.
GET /api/posts/{postId}/comments: Retrieve all comments for a post.POST /api/posts/{postId}/comments: Add a comment to a post.PUT /api/comments/{cId}: Update a comment.DELETE /api/comments/{cId}: Delete a comment.
- Contributions are welcome! Please fork the repository and create a pull request with your changes.