A design of calendar app on mobile phone.
- The user should be able to create, manage and check the events.
- The user should be notified by upcoming event.
- User: the person who uses the app.
mike:User
- today when mike is at work, his boss, jack, announces a new meeting tomorrow 10 a.m.
- to help himself remember the event, mike creates a new event with his calendar app. He inputs the date, time, location, when to notify and the name of the event, and then saves it.
- the next day, at 9 a.m., mike's phone buzzes. When he pick up the phone, mike realizes the meeting is within one hour, so he starts preparing relevant materials.
mike:User
- mike, who tries to land a job, receives a phone call from company x, saying that due to time conflicts, his interview with the company has been scheduled to another time, but the location is the same.
- mike thanks for the update, and then decides to modify the event of this interview on his calendar app.
- mike opens the app, selects the event, and modifies only the time and data, keeps other information unchanged, and then saves the event. The event has been updated.
initialized by User
- User requests to create a new event.
- The app presents User with a form.
- User specifies a name, time and date, location, whether enable notification, and if do when to notify, for the event. Then User saves the event.
- The app notifies User the event has been created.
- If User enables the notification function, when the time has come to the time User setup as the notification time, the app notifies User the event is coming up.
- User must know necessary information of the event.
- A new event exists.
- User receives notification that the event has been created.
- The event is available to be browsed.
initialized by User
- User requests to edit an existing event.
- The app presents User with a form showing the information of the event.
- User changes fields accordingly. Then User saves the event.
- The app notifies User the event has been updated.
- If User enables the notification function, when the time has come to the time User setup as the notification time, the app notifies User the event is coming up.
- The event must exist.
- User must know necessary information of the event.
- The information of the event has been updated.
- User receives notification.
initialized by User
- User requests to check his/her events.
- The app presents events as bullet lists for each day of the current month.
- User selects one event.
- The app presents the information of the event including xxxx.
- The event must exist.
- User knows his/her events now.
- Follow MVC architecture style, because
- There exist multiple views (Year, Month, Week, Day) for one single type of object (Calendar event)
- The interaction of the object is fixed (create, edit, delete)
- View is an abstract interface, which requires subclass to do the implementation
- where should I put the function of notifying upcoming events?
- should the shareEvent include EmailApp, or provide its own sharing function?