Skip to content

CyberScribeX integrates Posts and Comments management with robust Authentication, Authorization, and Category organization through RESTful APIs, fortified by JWT token-based security.

Notifications You must be signed in to change notification settings

xoraus/CyberScribeX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 CyberScribeX 🖋️

Welcome to CyberScribeX! The ultimate Blogging Application API project, where creativity meets technology. 🌐✨

📖 Introduction

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.

High-Level Requirements

  1. Posts Management: Create, Read, Update, and Delete Posts with Pagination and Sorting Support.
  2. Comments Management: Create, Read, Update, and Delete Comments for Blog Posts.
  3. Authentication and Authorization: Implement Registration, Login, and Security measures.
  4. Category Management: Create, Read, Update, and Delete Categories.

Swagger Docs

The project includes comprehensive Swagger documentation, providing detailed insights into the available REST APIs and their usage.

API Documentation

✨ Features

  • 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 📝

Exceptions Handling and Validations

  1. Handle exceptions and errors, returning proper error responses to the client.
  2. Validate REST API requests and send validation error responses to the client.

Securing REST APIs

  1. Secure REST APIs using Database Authentication.
  2. Implement LogIn/SignIn REST API.
  3. Implement Register/SignUp REST API.
  4. Use JWT (JSON Web Token) token-based Authentication to secure the REST APIs.
  5. Implement Role-based security with ADMIN and USER roles.

💻 Usage

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:

🛠️ Installation

  1. Clone the repository:

    • Open IntelliJ IDEA and choose "Checkout from Version Control" > "Git".
    • Enter your Git repository URL and click "Clone."
  2. Import the project in IntelliJ IDEA:

    • Open IntelliJ IDEA.
    • Choose "File" > "Open" and select the cloned project directory.
  3. 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.
  4. Configure application properties:

    • If your application relies on external configurations or properties, configure them in the application.properties or application.yml file. For example, database connection details.
  5. 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.
  6. 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.
  7. 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.

🤝 Contributing

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.

📄 License

This project is licensed under the MIT License. Feel free to unleash your creativity!

About

CyberScribeX integrates Posts and Comments management with robust Authentication, Authorization, and Category organization through RESTful APIs, fortified by JWT token-based security.

Topics

Resources

Stars

Watchers

Forks

Languages