Skip to content

Latest commit

 

History

75 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

School Application

This is a Spring Boot project for managing members, invitations, and authentication with JWT.
It supports two database profiles for flexibility in development:

  • H2 (in-memory, default) → quick, resets on restart
  • MySQL (via Docker) → persistent, closer to production

🚀 Running the Application

🟢 Run with H2 (default)

H2 requires no setup and is enabled by default.

mvn spring-boot:run

or (with wrapper):

./mvnw spring-boot:run

🟡 Run with MySQL (Docker)

1. Start MySQL and Adminer

From the project root:

docker compose up -d

Login to Adminer with:

  • System: MySQL
  • Server: mysql (container name) or localhost
  • Username: yucomp
  • Password: yucomp123
  • Database: yucompdb

2. Run Spring Boot with the MySQL profile

mvn spring-boot:run -Dspring-boot.run.profiles=mysql

or:

./mvnw spring-boot:run -Dspring-boot.run.profiles=mysql

🔴 Stop MySQL + Adminer

When finished, stop the containers:

docker compose down
  • This stops services but keeps data in the mysql_data volume.
  • To also wipe all data:
docker compose down -v

✅ Development Workflow

  • Use H2 when iterating quickly (e.g., developing or running tests).
  • Switch to MySQL to verify persistence and compatibility with a production-like DB.

🛠 Troubleshooting

  • Port conflict: If 3307 or 8081 are in use, edit docker-compose.yml to change ports.
  • Invalid login in Adminer: Double-check credentials in docker-compose.yml match the application-mysql.yml.
  • Stale containers: Run docker compose down -v to remove old volumes and reset.

About

Backend for a team management app written with Spring Boot

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages