README.md

Dance school scheduler

HOWTO

Build

####Prerequisited:

  • JDK 11 or higher
  • Maven 3.6 or higher

**NB! You may want to change paths to your JDK in build.sh and run.sh scripts. **

$ ./build.sh

Run

$ ./run.sh

Test data

After the application is run there will be test data already available:

Students:

  • Alex (leader, password: SidorA82)
  • Frenchy (follower, password: FreakYFr33)
  • Luiz (leader, password: LuizRuz27)
  • Maria (follower, password: SimplyMaria29)
  • Chris (follower, password: Christina69)

Dance classes:

  • Azure Tango (capacity - 4)
  • Yellow Bachata (capacity - 6)
  • Red Kazachok (capacity - 4)

Use administrator (admin, password: AdmIn) for viewing and changing data on dance classes and students.

Assumptions

  • A student is assigned to be either follower or leader globally, though for some dance types he/she could prefer an opposite role.
  • Administrator may sign up more students to a dance class than capacity allows, and so that the difference between “followers” and “leaders” could exceed 2. In that case students with a minor role in the dance class would sign up successfully.

Architecture

The application has Menu (i.e. controller), Service and Repository layers. Menu depends on Service, Service in turn on Repository. Repository layer is abstracted by interfaces DanceClassRepo and StudentRepo. Initial implementation uses in-memory storing of entities Student and DanceClass. For the aim of persistency it can be rewritten by using JDBC + H2 or Celesta ORM.

Описание

Dance School Scheduler (assignment from LoveDancing Bird)

Конвейеры
0 успешных
0 с ошибкой