The Time Management System API is designed to help users effectively organize and manage their tasks and projects. Key features include:
- Task Management: The core unit where users define and track their activities and goals.
- Project Collaboration: Users can create projects to manage related tasks. Admins and managers can assign team members, encouraging collaborative work.
- Task Categorization: users can organize tasks into custom categories for better task prioritization and tracking.
- Communication: Task discussions are facilitated through comments and replies, allowing for detailed communication between project members.
- File Sharing: Members can attach files to tasks and projects, centralizing necessary resources and documentation.
- Notifications: Keeps users informed about task updates, comments, and project changes through a notification system.
- Spring boot
- Spring data jpa
- Spring security with JWT
- Spring Email
- Realtime notifications using Websocket
- MySQL
- Mapstruct (mapping)
- Swagger
- Maven
- Docker
- Java ( JDK )
- MySQL database
- Maven
- Postman or a similar tool for API testing
- Docker (optional)
1- Clone Repo
git clone https://github.com/eagledev-am/time-management-api.git
2- Create env.properities
file in the root directory
of the project
Important
- You can Get your App Password using this Link
- Copy the next properities to your env file
# db info
DB_USERNAME=YOUR_DB_USERNAME
DB_PASSWORD=YOUR_DB_PASSWORD
# email
MAIL_USERNAME=YOR_EMAIL
MAIL_PASSWORD=GOOGLE_APP_PASSWORD
# secret key
SECRET_KEY=YOUR_SECRET_KEY
3- Open cmd
in the project dir and place this commands :
- Build the Spring Boot Application
mvn clean package
- Run the project
./mvnw spring-boot:run
Note
make sure that docker is running. Open a cmd
in the root directory of the project and place the next command.
- Build the Spring Boot Project
mvn clean package
- Start the Services with Docker Compose
docker-compose up --build
- Verify Everything is Running
docker-compose ps
- To stop and remove all containers
docker-compose down
Important
- The Project is Running in the port :
8080
- Now, Spring Boot application should be running and accessible via
http://localhost:8080
. - Use Swagger ui to discover documentation of project
http://localhost:8080/swagger-ui/index.html
This project is licensed under MIT license. See LICENSE for details.