Skip to content

Latest commit

 

History

History
93 lines (67 loc) · 2.7 KB

File metadata and controls

93 lines (67 loc) · 2.7 KB

Production Ready Spring Boot Web Application

A backend application built using Spring Boot, Spring MVC, Spring Data JPA (Hibernate), Criteria Builder, and MySQL.

This project follows clean layered architecture and implements dynamic query building, pagination, sorting, logging, and Spring Security configuration.

Technologies Used

  • Backend: Spring Boot, Spring MVC
  • ORM: Spring Data JPA (Hibernate)
  • Dynamic Queries: CriteriaBuilder & CriteriaQuery
  • Database: MySQL
  • Security: Spring Security
  • Logging: SLF4J + Logback
  • Build Tool: Maven
  • Java Version: 17+

Spring Security

Default credentials are configured using environment variables.

Example:

Username: user
Password: password

(For production, always change credentials and use encrypted passwords.)

Production application.properties

spring.application.name=Employee_Detail_Form

# Server
server.port=${PORT:8080}
server.servlet.context-path=/api

# Database (Use Environment Variables)
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# JPA
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

# Logging
logging.level.root=INFO
logging.level.com.example=INFO
logging.file.name=logs/application.log

# Spring Security (Use env variables in production)
spring.security.user.name=${APP_USERNAME:user}
spring.security.user.password=${APP_PASSWORD:password}

# Email Configuration
spring.mail.host=${MAIL_HOST} 
spring.mail.port=${MAIL_PORT}
spring.mail.username=${MAIL_USERNAME}
spring.mail.password=${MAIL_PASSWORD}

How to Run

git clone https://github.com/Ayush1665/Employee_Detail_Form.git
cd Employee_Detail_Form
mvn spring-boot:run

Preview

ER Diagram

WhatsApp Image 2026-03-31 at 10 09 25 PM

Create Employee

Update Employee Details

Update Employee Detail

Validation

Validations

Swagger Integration
Screenshot 2026-04-10 113913
Jacoco (Java Code Coverage)

WhatsApp Image 2026-03-31 at 10 04 17 PM