All Projects โ†’ SelimHorri โ†’ project-tracking-system-backend-app

SelimHorri / project-tracking-system-backend-app

Licence: other
Enterprise project tracker, tracks commits done by employees after getting assigned to a couple of projects by their managers

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects
SQL
17 projects
CSS
56736 projects
XML
50 projects
YAML
28 projects

Projects that are alternatives of or similar to project-tracking-system-backend-app

Perfect Ssm
๐Ÿ‡ๆ›ดๅฎŒๅ–„็š„Spring+SpringMVC+Mybatis+easyUIๅŽๅฐ็ฎก็†็ณป็ปŸ(RESTful API+redis)
Stars: โœญ 606 (+877.42%)
Mutual labels:  maven, spring-mvc, restful-api
spring-boot-shop-sample
My first web application using Spring Boot framework.
Stars: โœญ 66 (+6.45%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
Springboard
Spring Boot based production grade starter kit.
Stars: โœญ 59 (-4.84%)
Mutual labels:  maven, spring-security, spring-mvc
Library
Online Library Management. User can search, check in, checkout book. System adds fines automatically if the book is not checked in by due date
Stars: โœญ 27 (-56.45%)
Mutual labels:  spring-mvc, restful-api, jpa-hibernate
Eshop Soa
EShopๅŸบไบŽDubboๅฎž็ŽฐSOAๆœๅŠกๅŒ–ๆ‹†ๅˆ†๏ผŒๅนถๅŸบไบŽRocketMQ่งฃๅ†ณไบ†ๅˆ†ๅธƒๅผไบ‹ๅŠก๏ผˆๆ–ฐ็‰ˆSpringBootSOASkeleton๏ผ‰
Stars: โœญ 65 (+4.84%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
spring-boot-web-application-sample
Real World Spring Boot Web Application Example with tons of ready to use features
Stars: โœญ 143 (+130.65%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
Spring-Boot-2
Spring Boot 2.x examples
Stars: โœญ 33 (-46.77%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
spotifyApiSpring
Spring-boot MVC application consuming Spotify's REST API
Stars: โœญ 28 (-54.84%)
Mutual labels:  maven, spring-mvc, restful-api
Web Framework For Java
A seed project with spring boot for AngularJS, AngularJs Material, Thymeleaf, RESTful API, MySQL and admin panel based on AdminLTE.
Stars: โœญ 29 (-53.23%)
Mutual labels:  thymeleaf, maven, restful-api
Spring Boot Enterprise Application Development
Spring Boot Enterprise Application Development.ใ€ŠSpring Boot ไผไธš็บงๅบ”็”จๅผ€ๅ‘ๅฎžๆˆ˜ใ€‹
Stars: โœญ 261 (+320.97%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
Javadevjournal
Source code for the tutorials published on the Javadevjournal site.
Stars: โœญ 141 (+127.42%)
Mutual labels:  maven, spring-security, spring-mvc
Spring Boot Shopping Cart
Simple shopping cart web app made using Spring Boot + Thymeleaf
Stars: โœญ 85 (+37.1%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
BusinessInfrastructurePlatformGroupVersion
A java web project based on Spring Boot using MySQL, Spring MVC, Hibernate, Spring Data JPA, Query DSL, Lombok, Logback, etc.
Stars: โœญ 90 (+45.16%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
Mybatis Spring Boot Jpetstore
A sample web application built on MyBatis 3, Spring Boot and Thymeleaf 3.
Stars: โœญ 75 (+20.97%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
Spring Boot Blog
Simple blog web app made using Spring Boot + Thymeleaf
Stars: โœญ 121 (+95.16%)
Mutual labels:  thymeleaf, spring-security, spring-mvc
rate-my-cat
Sample application for the book "Mastering Software Testing with JUnit 5"
Stars: โœญ 23 (-62.9%)
Mutual labels:  thymeleaf, spring-mvc
M-Volunteer-SpringBoot
็พŽๅฟ—ๆ„ฟAPPๆœๅŠก็ซฏ๏ผŒๅฎขๆˆท็ซฏๅœจhttps://github.com/learner1999/M-Volunteer
Stars: โœญ 52 (-16.13%)
Mutual labels:  spring-security, restful-api
xdu-cloudcourse-web
่ฅฟ็”ตไบ‘่ฎก็ฎ—่ฏพ็จ‹ๅคงไฝœไธšWeb็ซฏไปฃ็ ็คบไพ‹
Stars: โœญ 26 (-58.06%)
Mutual labels:  thymeleaf, maven
blog-ssm
ไธ€ไธช็ฎ€ๅ•ๆผ‚ไบฎ็š„SSMๅšๅฎข็ณป็ปŸใ€‚
Stars: โœญ 487 (+685.48%)
Mutual labels:  thymeleaf, spring-mvc
Library-Spring
The library web application where you can borrow books. It's Spring MVC and Hibernate project.
Stars: โœญ 73 (+17.74%)
Mutual labels:  spring-security, spring-mvc

Project Tracking System repo

Spring Boot project

FOSSA Status

The only thing better than a Maven archetype is a repo you can fork with everything already setup. Skip the documentation and just fork-and-code.

Delete the sample code, replace with your own and youโ€™re good to go.

Built With

  • StarUML - A sophisticated software modeler for agile and concise modeling (UML)
  • Maven - Dependency Management
  • Flyway - Version control for database
  • JDK 11 - Javaโ„ข Platform, Standard Edition Development Kit
  • Spring Boot - Framework to ease the bootstrapping and development of new Spring Applications
  • MySQL - Open-Source Relational Database Management System
  • git - Free and Open-Source distributed version control system
  • Docker - Developing apps today requires so much more than writing code. Multiple languages, frameworks, architectures, and discontinuous interfaces between tools for each lifecycle stage creates enormous complexity. Docker simplifies and accelerates your workflow, while giving developers the freedom to innovate with their choice of tools, application stacks, and deployment environments for each project.
  • Twilio API - Contactless Delivery - Remote Contact Centers - Distance Learning - Video Support - Mass Notifications
  • Swagger - Open-Source software framework backed by a large ecosystem of tools that helps developers design, build, document, and consume RESTful Web services.

External Tools Used

  • Postman - API Development Environment (Testing Docmentation)

Done

  • Logger (Console, File, Mail)
  • RESTful Web Service (CRUD)
  • Bootstrap - CSS
  • Web - HTML, JavaScript (jQuery)
  • Content Negotiation
  • Material Design for Bootstrap
  • Docker
  • Spring Boot Admin
  • Spring Security
  • Spring Data Jpa
  • Spring AOP
  • MySQL
  • H2
  • Swagger
  • Twilio API
  • JFreeChart
  • Heroku deployment
  • More .... ;)

Running the application locally

There are several ways to run a Spring Boot application on your local machine. One way is to execute the main method in the com.selimhorri.app.pack class from your IDE.

  • Download the zip or clone the Git repository.
  • Unzip the zip file (if you downloaded one)
  • Open Command Prompt and Change directory (cd) to folder containing pom.xml
  • Start your local MySQL database
  • Import pfa_db.sql
source ./pfa_db.sql 
  • Build the project
./mvnw clean install 
  • Open Eclipse
    • File -> Import -> Existing Maven Project -> Navigate to the folder where you unzipped the zip
    • Select the project
  • Choose the Spring Boot Application file (search for @SpringBootApplication)
  • Right Click on the file and Run as Spring Boot App
  • Or, Run on different env :
  • On Dev :
java -jar target/project-tracking-sys.jar
java -Dspring.profiles.active=dev -jar target/project-tracking-sys.jar
  • On Test :
java -Dspring.profiles.active=test -jar target/project-tracking-sys.jar
  • On Test :
java -Dspring.profiles.active=prod -jar target/project-tracking-sys.jar

Alternatively you can use the Spring Boot Maven plugin like so:

mvn spring-boot:run

Spring Boot Starter Security default username is user and a generated security password is printed in the console like Using generated security password: ?

Automated dependency updates done via Dependabot

Actuator

To monitor and manage your application

URL Method
http://localhost:8080 GET
http://localhost:8080/actuator/ GET
http://localhost:8080/actuator/health GET
http://localhost:8080/actuator/info GET
http://localhost:8080/actuator/prometheus GET
http://localhost:8080/actuator/httptrace GET

URLs

URL Method Remarks
http://localhost:8080/app
http://localhost:8080/app/employees GET Custom Response Headers
http://localhost:8080/app/managers GET
http://localhost:8080/app/admins GET

Employees URLs

URL Method Remarks
http://localhost:8080/app/employees/employee-index GET
http://localhost:8080/app/employees/employee-show-my-commits GET
http://localhost:8080/app/employees/employee-add-commit GET
http://localhost:8080/app/employees/employee-show-all-commits GET
http://localhost:8080/app/credentials/credential-edit GET
http://localhost:8080/app/employees/employee-team GET

Managers URLs

URL Method Remarks
http://localhost:8080/app/managers/manager-index GET
http://localhost:8080/app/managers/manager-add-project GET
http://localhost:8080/app/managers/manager-show-commits GET
http://localhost:8080/app/managers/manager-describe-commit GET
http://localhost:8080/app/managers/manager-assign GET
http://localhost:8080/app/managers/manager-edit-project GET
http://localhost:8080/app/managers/manager-delete-project GET
http://localhost:8080/app/managers/manager-info GET
http://localhost:8080/app/managers/manager-team GET
http://localhost:8080/app/managers/manager-assigned-projects GET
http://localhost:8080/app/credentials/credential-edit GET

Admins URLs

URL Method Remarks
http://localhost:8080/app/admins/admin-index GET
http://localhost:8080/app/admins/employees/admin-employees-list GET
http://localhost:8080/app/admins/employees/admin-employees-add GET
http://localhost:8080/app/admins/employees/admin-employees-edit GET
http://localhost:8080/app/admins/employees/admin-employee-credentials GET
http://localhost:8080/app/admins/employees/admin-employees-isactive GET
http://localhost:8080/app/admins/employees/admin-employees-delete GET
http://localhost:8080/app/admins/departments/admin-departments-list GET
http://localhost:8080/app/admins/departments/admin-departments-edit GET
http://localhost:8080/app/admins/departments/admin-departments-delete GET
http://localhost:8080/app/admins/locations/admin-locations-list GET
http://localhost:8080/app/admins/locations/admin-locations-edit GET
http://localhost:8080/app/admins/locations/admin-locations-delete GET

Documentation

Files and Directories

The project (a.k.a. project directory) has a particular directory structure. A representative project is shown below:

.
โ”œโ”€โ”€ employees-management
โ”œโ”€โ”€ src
โ”‚   โ””โ”€โ”€ main
โ”‚       โ””โ”€โ”€ java
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.configs
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.configs.swagger
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.configs.cors
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.configs.twilio
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.configs.modelmapper
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.controllers
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.controllers.api
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.controllers.employee
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.controllers.manager
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.controllers.admin
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.converters
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.enums
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.security
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.security.
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.exceptions
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.exceptions.customs
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.exceptions.payloads
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.models
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.models.entities
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.models.ids
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.models.dto
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.models.collectionwrappers
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.utils
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.utils.email
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.utils.sms
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.utils.report
โ”‚           โ”œโ”€โ”€ com.pfa.pack.pack.repositories
โ”‚           โ””โ”€โ”€ com.pfa.pack.pack.services
โ”‚           โ””โ”€โ”€ com.pfa.pack.pack.services.impls
โ”œโ”€โ”€ src
โ”‚   โ””โ”€โ”€ main
โ”‚       โ””โ”€โ”€ resources
โ”‚           โ””โ”€โ”€ static
โ”‚           โ”‚   โ”œโ”€โ”€ css
โ”‚           โ”‚   โ”œโ”€โ”€ js 
โ”‚           โ””โ”€โ”€ templates
โ”‚           โ”‚   โ”œโ”€โ”€ admins
โ”‚           โ”‚   โ”œโ”€โ”€ employees
โ”‚           โ”‚   โ”œโ”€โ”€ managers
โ”‚           โ”‚   โ”œโ”€โ”€ credentials
โ”‚           โ”‚   โ”œโ”€โ”€ home
โ”‚           โ”œโ”€โ”€ application.properties
โ”‚           โ”œโ”€โ”€ application-dev.properties
โ”‚           โ”œโ”€โ”€ application-test.properties
โ”‚           โ”œโ”€โ”€ application-prod.properties
โ”‚           โ”œ
โ”‚           โ””โ”€โ”€ 
โ”œโ”€โ”€ src
โ”‚   โ””โ”€โ”€ test
โ”‚       โ””โ”€โ”€ java
โ”œโ”€โ”€ JRE System Library
โ”œโ”€โ”€ Maven Dependencies
โ”œโ”€โ”€ bin
โ”œโ”€โ”€ logs
โ”‚   โ””โ”€โ”€ application.log
โ”œโ”€โ”€ src
โ”œโ”€โ”€ target
โ”‚   โ””โ”€โ”€project-tracking-system.jar
โ”œโ”€โ”€ mvnw
โ”œโ”€โ”€ mvnw.cmd
โ”œโ”€โ”€ pfa_db.sql
โ”œโ”€โ”€ pfa_ERD.png
โ”œโ”€โ”€ pom.xml
โ””โ”€โ”€ README.md

packages

  • modelsโ€Šโ€”โ€Što hold our entities;

  • repositoriesโ€Šโ€”โ€Što communicate with the database;

  • servicesโ€Šโ€”โ€Što hold our business logic;

  • securityโ€Šโ€”โ€Šsecurity configuration;

  • controllersโ€Šโ€”โ€Što listen to the client;

  • resources/ - Contains all the static resources, templates and property files.

  • resources/static - contains static resources such as css, js and images.

  • resources/templates - contains server-side templates which are rendered by Spring.

  • resources/application.properties - It contains application-wide properties. Spring reads the properties defined in this file to configure your application. You can define serverโ€™s default port, serverโ€™s context path, database URLs etc, in this file.

  • test/ - contains unit and integration tests

  • pom.xml - contains all the project dependencies

Reporting Issues

This Project uses GitHub's integrated issue tracking system to record bugs and feature requests. If you want to raise an issue, please follow the recommendations below:

Resources

-- ## License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].