Home task #18

Description

This app acts as a school journal. Allows you to enter data in the form of marks, students, subjects, teachers, and student parents.

Task list

  1. Git repo
  2. README.MD file with the task and description. gitignore
  3. create new maven project with 3 modules
    1. entity module
    2. persistence module
    3. (optinal) integration test module
    4. naming: {project-name}-persistence. examples: school-journal-persistence, car-service-entity, etc
  4. Create POJO classes
  5. Use at least 4 class level annotations (for example embedded, immutable, and so on)
  6. Use at least 5 field level annotations (for example, transient)
  7. Use at least 2 diff id generation strategy
  8. create your custom id generation strategy and use it
  9. create your custom name strategy and use it

Technologies

  1. Java version: 11
  2. MySQL database
  3. docker-compose
  4. Flyway
  5. Hibernate
  6. Slf4j+logback
  7. Lombok
  8. jUnit-jupiter
  9. Mockito