- Login Form Requirements
- Can determine users location and translate all form controls into two languages (English, French, and Spanish)
- Customer CRUD Requirements
- Add
- Update
- Delete
- Includes address and phone number updates
- Appointment CRUD Requirements
- Add
- Update
- Delete
- Links to the appropriate customer
- Appointment Time Requirements
- Auto-adjust to time zone and daylight savings time
- Calendar View
- Weekly View
- Monthly View
- Exception Control Requirements
- Scheduling an appointment outside business hours
- Scheduling overlapping appointments
- Entering nonexistent or invalid customer data
- Entering an incorrect username and password
- Two different types: form data validation, restriction of appointment time scheduling to the hours of 8AM to 5PM (business hours)
- Lambda Expression Requirements
- First lambda expression justified in detail (see controls.calendar.Calendar#upcomingAppointments)
- Second lambda expression justified in detail (see reports.appointment.AppointmentReport#refreshData)
- Alert Requirements
- Alerts user on login of upcoming appointments
- Report Requirements (must include 3)
- Number of appointments by month (bar chart)
- Schedule for each consultant (table views)
- Number of customers per city (bar chart)
- Tracking Requirements
- Record timestamps for user logins in a .txt file (see logins.txt)