https://github.com/yash-mokashi/project-management-system-backend
A backend API for a Project Management System built with Spring Boot, MySQL, and Postman for testing. Provides functionalities like project and task management, user roles, and authentication/authorization.
https://github.com/yash-mokashi/project-management-system-backend
backend spring-boot
Last synced: 2 months ago
JSON representation
A backend API for a Project Management System built with Spring Boot, MySQL, and Postman for testing. Provides functionalities like project and task management, user roles, and authentication/authorization.
- Host: GitHub
- URL: https://github.com/yash-mokashi/project-management-system-backend
- Owner: Yash-Mokashi
- Created: 2025-02-03T05:09:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-03T05:49:41.000Z (over 1 year ago)
- Last Synced: 2025-02-03T06:24:36.736Z (over 1 year ago)
- Topics: backend, spring-boot
- Language: Java
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Management System
A comprehensive backend system for project management built using Spring Boot, Maven, and MySQL.
## Features
- **User Management**
- User registration and authentication
- User profile management
- **Project Management**
- Create and manage projects
- Search projects by keyword
- View project details
- Delete projects
- **Issue Tracking**
- Create and assign issues
- Track issue status
- Delete issues
- **Communication**
- In-project messaging system
- Comment system on issues
- Get project-specific messages
## Tech Stack
- **Backend:** Spring Boot
- **Build Tool:** Maven
- **Database:** MySQL
- **API Testing:** Postman
## API Endpoints
### Authentication
- `POST /signup` - Register a new user
- `POST /signin` - User login
### User Management
- `GET /get_users_profile` - Get user profile information
### Project Operations
- `POST /create_project` - Create a new project
- `GET /get_project_By_ID` - Get project details
- `GET /get_all_Projects` - List all projects
- `DELETE /delete_project_By_ID` - Delete a project
- `GET /search_project_By_Keyword` - Search projects
### Issue Management
- `POST /create_Issues` - Create a new issue
- `GET /get_issue_By_Project_ID` - Get project issues
- `PUT /change_issue_Status` - Update issue status
- `PUT /assigne_user_To_Issue` - Assign user to issue
- `DELETE /delete_Issue` - Delete an issue
### Communication
- `POST /send_message` - Send a message
- `GET /get_message_using_projectId` - Get project messages
- `POST /add_comments` - Add a comment
- `GET /get_all_comments` - Get all comments
- `DELETE /delete_comment` - Delete a comment
## Setup and Installation
1. **Clone the repository**
```bash
git clone https://github.com/yourusername/project-management-system-backend.git
```
2. **Configure MySQL**
- Create a MySQL database
- Update `application.properties` with your database credentials
3. **Build the project**
```bash
mvn clean install
```
4. **Run the application**
```bash
mvn spring-boot:run
```
## API Testing
To test the APIs:
1. Import the Postman collection from the `postman` directory
2. Update the environment variables if necessary
3. Execute the requests
## Postman Collection
### Downloading the Postman Collection
1. Navigate to the GitHub repository
2. Locate the `ProjectManagementSystem.postman_collection.json` file
3. Click on the file
4. Click the "Raw" button
5. Right-click and select "Save As" to download the file
### Importing the Postman Collection
1. Open Postman
2. Click on the "Import" button in the top-left corner
3. Choose the "File" tab
4. Select the downloaded `ProjectManagementSystem.postman_collection.json` file
5. Click "Import"
### Using the Postman Collection
- The collection contains all pre-configured API endpoints
- Update environment variables (if required) to match your setup
- Each request is labeled and organized by functionality
### Recommended Setup
- Ensure you have the latest version of Postman installed
- Set up environment variables for:
- Base URL
- Authentication tokens
- Any project-specific configurations