Welcome to CyberScribeX! The ultimate Blogging Application API project, where creativity meets technology. 🌐✨
This project is aimed at developing a robust blogging application with a focus on efficient Posts and Comments management, user Authentication and Authorization, and Category organization. The application is built with RESTful APIs to ensure seamless integration and scalability.
- Posts Management: Create, Read, Update, and Delete Posts with Pagination and Sorting Support.
- Comments Management: Create, Read, Update, and Delete Comments for Blog Posts.
- Authentication and Authorization: Implement Registration, Login, and Security measures.
- Category Management: Create, Read, Update, and Delete Categories.
The project includes comprehensive Swagger documentation, providing detailed insights into the available REST APIs and their usage.
- Post Management:
- Create, retrieve, update, and delete blog posts 📝🔄
- Associate posts with categories and users 🤝
- View posts by user, category, or search by keywords 🔍
- Upload and serve post images 🌅
- Delete, update, and retrieve post details 📌
- Category Management:
- Create, retrieve, update, and delete blog categories 🗂️
- Comment Management:
- Add comments to blog posts 💬
- Retrieve, update, and delete comments 🗑️
- Authentication:
- Authenticate users and generate JWT tokens 🛡️
- Register new users 📝
- Handle exceptions and errors, returning proper error responses to the client.
- Validate REST API requests and send validation error responses to the client.
- Secure REST APIs using Database Authentication.
- Implement LogIn/SignIn REST API.
- Implement Register/SignUp REST API.
- Use JWT (JSON Web Token) token-based Authentication to secure the REST APIs.
- Implement Role-based security with ADMIN and USER roles.
To harness the power of these APIs, make HTTP requests to the specified endpoints using the appropriate methods (GET, POST, PUT, DELETE). Don't forget your authentication tokens!
Certainly! For a Spring Boot project in IntelliJ, the steps would be different. Here's the modified installation section:
-
Clone the repository:
- Open IntelliJ IDEA and choose "Checkout from Version Control" > "Git".
- Enter your Git repository URL and click "Clone."
-
Import the project in IntelliJ IDEA:
- Open IntelliJ IDEA.
- Choose "File" > "Open" and select the cloned project directory.
-
Build the project:
- IntelliJ IDEA will automatically detect the project's build file (e.g.,
pom.xml
for Maven). - Click "Build" > "Build Project" to download dependencies and build the project.
- IntelliJ IDEA will automatically detect the project's build file (e.g.,
-
Configure application properties:
- If your application relies on external configurations or properties, configure them in the
application.properties
orapplication.yml
file. For example, database connection details.
- If your application relies on external configurations or properties, configure them in the
-
Run the application:
- Find the main class that contains the
main
method (usually annotated with@SpringBootApplication
). - Right-click on the class and choose "Run" to start the Spring Boot application.
- Find the main class that contains the
-
Verify the application:
- Open a web browser and go to
http://localhost:8080
(or the port specified in your application). You should see the application running.
- Open a web browser and go to
-
Explore APIs:
- Use tools like Postman or Swagger UI to explore and test the available APIs.
Note: Ensure you have a compatible JDK installed on your system, and IntelliJ IDEA is configured to use that JDK.
We welcome contributions from the community. If you find a bug or have an enhancement in mind, please open an issue or submit a pull request.
This project is licensed under the MIT License. Feel free to unleash your creativity!