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

  • in progress

Releases

No releases published

Packages

No packages published

Languages