GithubHelp home page GithubHelp logo

pezcue / springbootrest Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 471 KB

Go-to solution for streamlining project management

Java 100.00%
java jpa-hibernate kanban maven mysql project-management projectmanagementsystem spring-boot swaggerui workbench

springbootrest's Introduction

๐Ÿš€ Kanban System for Project Management

This project is a web-based Kanban system for project management. It allows users to manage projects, organize tasks into different stages, and track the progress of tasks.

Demo Video

Screenshot 2024-04-29 at 11 17 36 PM

Watch the video here

Diagrams

๐Ÿ“Š UML Diagram

Diagrama_UML

๐Ÿ”„ Entity-Relationship Diagram

Diagrama_DER

Technologies Used

  • โ˜• Java
  • ๐Ÿš€ Spring Boot
  • ๐Ÿ’พ Spring Data JPA
  • ๐Ÿ› ๏ธ Hibernate
  • ๐Ÿ—ƒ๏ธ MySQL
  • ๐Ÿ” JWT (JSON Web Tokens)
  • ๐Ÿ“ Swagger UI
  • ๐Ÿ“ฆ Maven

Configuration and Usage

  1. Clone the repository: git clone https://github.com/Pezcue/SpringBootRest.git
  2. Configure the MySQL database: Update the application.properties file with your database configuration.
  3. Compile and run the application: mvn spring-boot:run
  4. Access the application: Open your browser and go to http://localhost:8080
  5. Explore the API: Use Swagger UI to explore and test the API endpoints at http://localhost:8080/swagger-ui.html

Main Endpoints

Project Endpoints

  • โœจ POST /v1/projects/: Create a new project.
  • โœ๏ธ PUT /v1/projects/{id}: Edit an existing project.
  • โŒ DELETE /v1/projects/{id}: Delete a project.
  • ๐Ÿ“ GET /v1/projects/{id}: Get a project by its ID.
  • ๐Ÿ“Š GET /v1/projects/{id}/board: Get all tasks of a project grouped by status.
  • โฐ GET /v1/projects/{id}/due-task: Get overdue tasks of a project.

Task Endpoints

  • โœจ POST /v1/task/project/{1id}: Create a new Task.
  • โœ๏ธ GET /v1/task/{id}: Edit an existing Task.
  • โŒ DELETE /v1/task/{id}: Delete a Task.
  • ๐Ÿ”ง PATCH /v1/task/{id}: Update the status of a task.

Authentication and Authorization

The API uses JWT (JSON Web Tokens) for user authentication and authorization. To obtain an access token, follow these steps:

  1. Authenticate: Send a POST request to /auth/login with valid credentials in the request body.
  2. Receive Token: If the credentials are correct, you will receive an access token in the response.
  3. Include Token: Include the access token in the Authorization header of subsequent requests to protected endpoints.

Error Handling

The API handles errors and returns appropriate responses for invalid requests or resources not found. Error messages are included in the response body with an appropriate HTTP status code.

Testing

Unit and integration tests have been implemented to ensure the proper functioning of the application. You can run the tests using the following command:

mvn test

Contribution
If you wish to contribute to this project, please follow these steps:

Fork the repository.
Create a new branch: For your feature or bug fix.
Make Changes: Make necessary changes and ensure that tests pass.
Submit a Pull Request: Describe your changes and submit a pull request.
Contact
If you have any questions or suggestions about this project, feel free to contact us at [insert your contact information here].

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.