TeamSync
Made with π by Joel Jolly.
About
- TeamSync is a comprehensive employee management and project tracking application designed to streamline the way you manage your workforce and projects. With TeamSync, you can effortlessly keep track of employee details, monitor the status of ongoing projects, and manage department information, all from a unified platform.
Star History
Project Current Progress
- Install Required Tools: β
- Java β
- IntelliJ β
- MySql β
- Create a New Spring Boot Project: β
- Set Up Version Control: β
- Github β
(Files are uploaded via GitKraken (For linux users) (Github Desktop for windows users)) (Note: If your individual files are less than 25 mb you can use github website on your browser for file uploading)
- Design the Database Schema: β
(Mentioned in the later part of this readme)
- Configure MySQL Connection: β
- Create JPA Entities: β
- Create Repository Interfaces: β
- Implement the Service Layer: β
- Create REST Controllers: β
- Handle Validation: β
- Test with Postman: β (Have conducted few tests)
- Able to get info from the backend.
- Write Unit and Integration Tests: β
- Implement Basic Security (Optional): β
- (Secured in the HTML level)
- Prepare Documentation: β
(Almost)
- Deploy the Application: β (Tried, but had issues deploying it) (Working on it)
- Code Review and Feedback: Pending
Screenshots
To get started
- Create a database
CREATE DATABASE teamsync;
- Enter inside the database
- Create a table called
department
CREATE TABLE department (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
- Create a table called
employee
CREATE TABLE employee (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
department_id BIGINT,
FOREIGN KEY (department_id) REFERENCES department(id)
);
- Create a table called
project
CREATE TABLE project (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
employee_id BIGINT,
FOREIGN KEY (employee_id) REFERENCES employee(id)
);
- Update the
application.properties
```
spring.application.name=teamsync
spring.datasource.url=jdbc:mysql://localhost:3306/teamsync
spring.datasource.username=root
spring.datasource.password=test123!
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
//For teamSync
server.port=8084
server.servlet.context-path=/teamsync
```
- Paste the repo code inside the intellij project folder. (Before doing this create a new project using intellij and then close the intellij app and then paste the code from this repo)
- Run the
build.gradle
(To install the packages)
- Run the code.
Testing
- There are testing code that is present in the
Test
folder.
Testing using Postman
- First create an account in the postman site (https://www.postman.com/)
- Install the Postman cli or an Postman desktop app. (If you are an Linux user type
sudo snap install postman
- Then run the cli or the app.
- In the browser go to the website (https://www.postman.com/) and click on
New Request
(If you are using cli)(if not use the installed application)
Want help, Use my Java & Springboot basics course (Itβs free)
- https://github.com/withinJoel/TechForDummies
Support Me
If you love TeamSync and want to keep me caffeinated for more awesome updates, consider buying me a coffee!
Made with π by Joel Jolly.