Project Manager is a java spring boot backend project that essentially represents the server-side API for a social, team based kanban-style system for task management.
-
User authentication: As a user you can provide credentials to register a new account as well as log in to an existing one.
-
Project creation: Every user can create projects by providing information about the project scope, name, description, tags etc.
-
Collaboration requests: Project team members (creator at first) can generate a project collaboration request code. Other users can redeem that code in order to accept the invitation and become a part of the project team.
-
Ticket creation: Every project team member can create, assign, edit and delete project tickets. Each ticket represents a task, having its own deadline, tags, progress, importance, assignee and so on.
-
Ticket comments: Each ticket has its own comment section. Every team member can post comments to let other people know what is on their mind regarding the ticket.
-
Discussions: Each project has its own discussion attatched to it. Every team member can send messages to let other people know what is going on or ask questions.
To get started with the project locally, follow the instructions below. This will guide you through setting up the development environment and running the application on your machine.
Before setting up the project, ensure you have the following installed on your machine:
Start by cloning the repository to your local machine:
git clone https://github.com/vasilev17/project-management-backend.git
cd project-nameInstall the dependencies with:
mvn clean installCreate a new file named application-dev.properties inside the /src/main/resources directory. Afterwards provide appropriate values for the SQL and JWT configuration properties:
spring.datasource.username=<mySqlUser>
spring.datasource.password=<sqlPassword>
jwt.secret=<JwtSecretKey>(Example JWT Secret for testing is provided in the application.properties file)
Another way would be to remove the development environment property from
application.propertiesand directly set the values there:spring.profiles.active=dev
Create a new database named project_manager:
CREATE DATABASE project_manager;One option is to use OpenAPI Swagger available at:
localhost:8082/swagger-ui/index.html
Alternatively you can use Postman by downloading and importing the provided Postman Collection