Skip to content

Ayush1665/SpringBoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Spring Boot app using Criteria API, and MySQL, showcasing clean architecture, Scheduling tasks, logging.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages