Skip to content

eshabakhov/schoodule

Repository files navigation

School schedules

Schoodule

Java 21 Spring Boot 3.5 Maven PostgreSQL Docker Required Release 0.0.1

Schoodule is an application for school schedule management. It helps organize schools, classes, teachers, subjects, cabinets, and schedules in one place.

To try it locally, make sure Java 21, Docker Desktop, and Node.js are installed, then run the full project check:

mvn clean install -Pqulice

The build starts PostgreSQL in Docker, applies Liquibase migrations, generates jOOQ classes, runs tests, lints frontend assets, and packages the application. After that, start the app with:

java -jar target/schoodule-0.0.1.jar

To run the packaged application with Docker Compose, build the jar first and then start the stack:

mvn clean install -Pqulice
docker compose up --build

Docker Compose reads deployment variables from the environment or from a local .env file.

Open http://localhost:9500/. If OAuth login is needed, provide ya-id and ya-secret. If you need to create the first administrator, enable bootstrap admin settings:

BOOTSTRAP_ADMIN_ENABLED=true
BOOTSTRAP_ADMIN_USERNAME=admin
BOOTSTRAP_ADMIN_EMAIL=admin@example.com
BOOTSTRAP_ADMIN_PASSWORD=StrongPass1!

Main Use Cases

Manage the school structure: schools, classes, teachers, subjects, cabinets, and schedules.

Work with role-based access so administrators and school staff can manage data with different permission levels.

Plan and maintain schedules through the web interface and API.

How to Contribute

Install Java 21, Docker Desktop, and Node.js.

Run the full verification command before changes:

mvn clean install -Pqulice

Frontend linting is also available separately:

npm run lint

If you change the database schema, update the Liquibase changelog first and then run the normal Maven build. Keep changes small and verify role-sensitive behavior before sending them forward.

About

The best school schedule management

Topics

Resources

License

Stars

Watchers

Forks

Contributors