Skip to content

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.

Notifications You must be signed in to change notification settings

withinJoel/TeamSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Star History Chart

Project Current Progress

  1. Install Required Tools: ✅
    • Java ✅
    • IntelliJ ✅
    • MySql ✅
  2. Create a New Spring Boot Project: ✅
  3. 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)
  4. Design the Database Schema: ✅ (Mentioned in the later part of this readme)
  5. Configure MySQL Connection: ✅
  6. Create JPA Entities: ✅
  7. Create Repository Interfaces: ✅
  8. Implement the Service Layer: ✅
  9. Create REST Controllers: ✅
  10. Handle Validation: ✅
  11. Test with Postman: ❌ (Have conducted few tests)
    • Able to get info from the backend.
  12. Write Unit and Integration Tests: ✅
  13. Implement Basic Security (Optional): ✅
  • (Secured in the HTML level)
  1. Prepare Documentation: ✅ (Almost)
  2. Deploy the Application: ❌ (Tried, but had issues deploying it) (Working on it)
  3. Code Review and Feedback: Pending

Screenshots

  • Index page

Screenshot from 2024-08-13 16-15-50

  • Employees page

Screenshot from 2024-08-13 16-16-20

  • Department page

Screenshot from 2024-08-13 16-16-27

  • Project page

Screenshot from 2024-08-13 16-16-33

  • About page

Screenshot from 2024-08-14 12-52-47

To get started

  • Create a database
CREATE DATABASE teamsync;
  • Enter inside the database
USE teamsync_db;
  • 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

Screenshot from 2024-08-14 13-17-08

  • 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)

Screenshot from 2024-08-14 13-15-02

  • Example:

image

Want help, Use my Java & Springboot basics course (It's free)

Support Me

If you love TeamSync and want to keep me caffeinated for more awesome updates, consider buying me a coffee!

Buy Me a Coffee

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published