Skip to content

Commit fb85b90

Browse files
authored
Create README.md
1 parent fc841b4 commit fb85b90

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

README.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# 🚀 Kanban System for Project Management
2+
3+
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.
4+
5+
## Diagrams
6+
7+
### 📊 Class Diagram
8+
[Insert your class diagram here]
9+
10+
### 🔄 Entity-Relationship Diagram
11+
[Insert your entity-relationship diagram here]
12+
13+
## Technologies Used
14+
15+
- ☕ Java
16+
- 🚀 Spring Boot
17+
- 💾 Spring Data JPA
18+
- 🛠️ Hibernate
19+
- 🗃️ MySQL
20+
- 🔐 JWT (JSON Web Tokens)
21+
- 📝 Swagger UI
22+
- 📦 Maven
23+
24+
## Configuration and Usage
25+
26+
1. **Clone the repository:** `git clone https://github.com/your-username/kanban-project-management.git`
27+
2. **Configure the MySQL database:** Update the `application.properties` file with your database configuration.
28+
3. **Compile and run the application:** `mvn spring-boot:run`
29+
4. **Access the application:** Open your browser and go to `http://localhost:8080`
30+
5. **Explore the API:** Use Swagger UI to explore and test the API endpoints at `http://localhost:8080/swagger-ui.html`
31+
32+
## Main Endpoints
33+
34+
-`POST /v1/projects`: Create a new project.
35+
- ✏️ `PUT /v1/projects/{id}`: Update an existing project.
36+
-`DELETE /v1/projects/{id}`: Delete a project.
37+
- 📝 `GET /v1/projects/{id}`: Get a project by its ID.
38+
- 📊 `GET /v1/projects/{id}/board`: Get all tasks of a project grouped by status.
39+
- 🔧 `PATCH /v1/task/{id}`: Update the status of a task.
40+
-`GET /v1/projects/{id}/due-task`: Get overdue tasks of a project.
41+
42+
## Authentication and Authorization
43+
44+
The API uses JWT (JSON Web Tokens) for user authentication and authorization. To obtain an access token, follow these steps:
45+
46+
1. **Authenticate:** Send a POST request to `/auth/login` with valid credentials in the request body.
47+
2. **Receive Token:** If the credentials are correct, you will receive an access token in the response.
48+
3. **Include Token:** Include the access token in the `Authorization` header of subsequent requests to protected endpoints.
49+
50+
## Error Handling
51+
52+
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.
53+
54+
## Testing
55+
56+
Unit and integration tests have been implemented to ensure the proper functioning of the application. You can run the tests using the following command:
57+
58+
```bash
59+
mvn test
60+
61+
Contribution
62+
If you wish to contribute to this project, please follow these steps:
63+
64+
Fork the repository.
65+
Create a new branch: For your feature or bug fix.
66+
Make Changes: Make necessary changes and ensure that tests pass.
67+
Submit a Pull Request: Describe your changes and submit a pull request.
68+
Contact
69+
If you have any questions or suggestions about this project, feel free to contact us at [insert your contact information here].

0 commit comments

Comments
 (0)