Skip to content

vertyll/fastprod

Repository files navigation

Project Assumptions

Production management application.

Technology Stack

Back-end:

  • Spring Boot
  • Java
  • Gradle Kotlin DSL
  • JDBC
  • JPA
  • Hibernate
  • PostgreSQL
  • JUnit
  • Mockito
  • Lombok
  • Spring Security
  • Spring Data
  • Spring Web
  • Spring Mail
  • Flyway
  • OpenAPI (Swagger)

Front-end:

  • Vaadn (Java-only(Flow))
  • Spring Boot
  • Java
  • Gradle Kotlin DSL
  • JUnit
  • Mockito
  • Lombok
  • Spring Web

Authentication:

  • JWT-based authentication - the application uses JWT tokens for user authentication and includes token refresh mechanism (http only secure cookie)
  • the application allows login on multiple devices simultaneously

Core back-end:

  • Gradle multi module build system
  • the application has an exception handling mechanism
  • the application has a logging mechanism
  • the application has an email sending mechanism
  • the application has a scheduled task handling mechanism (cron)
  • the application has separate environments for dev and prod
  • the application has a dedicated configuration file
  • the application has RBAC (Role Based Access Control)
  • the application has an audit mechanism (who and when modified data)
  • the application has Flyway database migration mechanism
  • and many other features that can be found in the application code

Core front-end:

  • Gradle build system
  • Vaadin
  • the application has separate environments for dev and prod
  • the application has a dedicated configuration file
  • and many other features that can be found in the application code

Other:

  • Docker for development environment
  • PMD for static code analysis
  • SpotBugs for static code analysis
  • JSpecify for null-safety annotations
  • NullAway for null-safety checks
  • Error Prone for static code analysis
  • Spotless for code formatting

Note: During application development, SOLID principles, DRY, composition over inheritance, dependency injection, design patterns, architectural patterns were applied, tests were written, and other good programming practices were adopted.

Preview Screenshots

Project View Project View Project View Project View

Releases

No releases published

Packages

 
 
 

Contributors

Languages