Spring MVC Practice - Tuong-Nguyen/Spring GitHub Wiki

Description

  • Build an web application that allows user register and enroll a course.
  • A logged user can view his registered courses list and unenroll them only.
  • Hard-coded admin account, only admin can add course info.

Models

User

  • ID
  • Username
  • Password
  • Email
  • Birthday
  • Gender

Course

  • ID
  • Title
  • Description
  • StartDate
  • EndDate
  • Pax
  • IsActive

Enrollment

  • ID
  • User
  • Course
  • EnrollDate
  • Status (None, Approved, Rejected)

Lesson

  • ID
  • Title
  • Time

Pages

User

  • Login
  • Register
  • View/update user's detail (Tao)
  • View/unenroll user's courses (Tao)
  • List/find/view/enroll a course

Admin

  • List/find/add/update/delete course (Kim)
  • Add/remove lessons to course (Kim)
  • Approve/reject enrollment (Tao)

Validations

Login

  • Username: required
  • Password: required

Register

  • Username
    • Required
    • Unique
    • Can not be changed
    • Min length: 5
    • Max length: 25
  • Password
    • Required
    • Min length: 8
    • Max length: 25
    • Must contain at least one lower case letter, one upper case letter, one digit and one of these special characters ~!@#$%^&*()_+
  • Confirm Password
    • Required
    • Match Password
  • Email
    • Required
    • Valid email
  • Birthday
    • Required
    • Valid date
    • At least 13 years old
  • Gender
    • Required

Course

  • Title
    • Required
    • Max length: 255
  • Description
    • Required
  • StartDate
    • Required
    • Valid date
  • EndDate
    • Required
    • Valid date
    • Must be greater than StartDate
  • Pax
    • Required
    • Min: 15
    • Max: 100
  • IsActive
    • Default: false
  • Lessons
    • Required
    • At least 3 lessons

Lesson

  • Title
    • Required
    • Max length: 255
  • Description
    • Required

Enrollment

  • (Course, User) must be unique, a user can not enroll a course more than 1 time
  • Course
    • Required
  • User
    • Required
  • EnrollDate
    • Required
    • Valid date
    • Must be earlier than Course's StartDate
  • Status
    • Default: None

Assignments

Must read: https://github.com/Tuong-Nguyen/Spring/wiki/Spring-MVC-Validation

Deadline: end of day 15/05/2017

Wire frames

Register and Login

Register Login

Course catalog

Course catalog