-
Notifications
You must be signed in to change notification settings - Fork 0
User Guide
CS 346 - CALENDAR APP USER GUIDE This guide will explore all pages in the Calendar App, and show how to navigate each one!
1. Register/Login: When launching the app, the user can see a login page where they have the optionality to either sign-in or register to save and access their course planning data.

2. Home Page: After signing-in, the user can see the sidebar (which is visible from every page) and home matrix that allows them to begin using the app. The user has four options to begin.

3. Course Search: If the user selects Course Search, they are brought to this search page where they can type in any course they would like in the search bar and select the one they wish. If they are unsure of a class to select, they can input the subject code and click Explore All __ Courses as written at the bottom.

4. Course Directory: Clicking Explore All __ Courses leads the user to a course directory that displays every course under a specific subject, which is sortable by the course years as well (100s, 200s, …)

5. Course Info: On the course info page, the user can read the details about the course, its prerequisites, and see when it is offered for the upcoming term. They can either add it to their wish list for a specific term (through a dropdown menu) or add it to their calendar/schedule.

6. Friends: The Friends feature allows for the user to find their friends on the app, send a friend request, and view their friends calendar to compare with their own (assuming the friend request is accepted by the other person). A user cannot just access anybody’s calendar, they can only view their friend’s calendar if their friend accepts their request. This feature can be accessed via “Friends” on the sidebar. The Friends screen has another sidebar of 4 icons that allows you to do different things.
6a. Search: The user can search for their friends username, and send a friend request.
6b. Requests: The user can view their outgoing/incoming friend requests.
6c. Friends: The user can view a list of their friends. Friends can be removed via the trash icon. A confirmation pop-up will allow the user to confirm they actually intend to unfriend.
6d. Compare Calendars: The user can choose the friend they wish to compare calendars with (user can only compare with one friend), then click the compare button. The courses of one friend will be one color, and the other friend’s courses will be another color. The colors are transparent so if there are overlapping courses the color will be darker. The user can pick and choose whether both or one set of courses are displayed via the checkboxes at the top of the screen.
7. Calendar: The user can create multiple Calendars in the app, and when “My Calendar” is clicked on the sidebar, all calendars are shown on the screen. The list of Calendars are clickable, so if you click on a calendar it’s calendar view will appear on the screen. The overall features of the current calendar differs slightly from the features of the custom calendars. The custom calendars are meant to be a bit more experimental in design so the user can play around with their courses with more flexibility. We will go into more detail below.
7a. Current Calendar: The current calendar is meant to be the user’s current/feasible schedule. The “+” button in the top right opens up a sidesheet through which the user can search for and add courses. All courses that are available in the respective term can be added.
In the current calendar, there can be no overlapping courses as that’s not feasible/allowed. If the user attempts to add a course that conflicts with another course, the app will not allow for it to be added. A snackbar will pop up to communicate this to the user and will specify what existing class the conflict is occurring with.
The arrows on the top left of the calendar screen allow for the user to browse through weeks. By default the current calendar will open to the week of the current day. If the current date is not within the respective term’s start and end date courses will not show up. For example the Fall 2023 terms ends December 5, so Fall courses won’t show up anytime after December 5 in the Calendar.
The “List View” button allows for the user to view their courses in a list and remove courses via the trash icon. Any removal of courses must be saved by clicking the save button. Courses can be added from the list view as well.
7b. Themes: The user can pick themes via the theme button to the left of the add button in the calendar view. There are 4 color themes. The theme preference will be saved as you move from page to page in the app.
7c. Custom Calendar: You can have multiple custom calendars. When a custom calendar is selected from the “My Calendar” Page the calendar view of the courses will be shown. The main difference between these customer calendars and the current calendar is that courses cannot be added through the Course Search page, and time conflicts are allowed. Time conflicts are allowed to give the user more flexibility in terms of viewing selected courses (visualizing conflicts may make the course choosing process simpler for the user).
The button right to the theme button will show a list view of the courses in the calendar via a sidesheet. There’s a save button at the top right in case the trash icon is accidentally clicked. To save the removal of courses the user must click the save button after.
Beside the list view button is the add button. When clicked this button will open a sidesheet through which the user can add courses to their customer calendar. To add a course, the user can drag and drop the course to the calendar.
7d). Optimization: The customer calendars also have an optimization feature that can be accessed through the optimization button in the top right of the screen.
The optimization logic takes in a list of courses that the user wishes to take, and creates a schedule that fits in all desired courses. It will also prioritize reducing time between classes. The optimization button leads to another screen where the user can choose courses they want to add to their calendar, via the sidesheet which opens when the “+” card is clicked on the screen. When the user clicks the “Optimize Schedule” button they will produce an “optimized” calendar that the user can then work off of. This will overwrite whatever courses were in the customer calendar before optimization was initiated by the user.
If no optimization can be found then the screen will display a snackbar that says there was no optimization found. Otherwise it will create an optimal calendar for the user (it may take a couple seconds to load). The user can access their optimized schedule by clicking the Calendar button on the top right.
- Wishlist: On the wishlist page, the user can plan out the rest of their degree. For example, in the image below, you can see an example of a 2nd year CFM student who has just completed their 2B term and is planning how their next couple terms may look. Courses can be added to this page from a course’s info page or straight from this page by clicking the + button.
8a. Add/Remove: By clicking the plus button under the 4B term box, the user can search for any course. By clicking the course, it will be added to the term box. If the student changes their mind, they can select the minus button beside each course to remove it from the wishlist. 9. Hotkeys and Menu: Hotkeys and a menu bar have also been implemented to allow the user to use shortcuts for different features: Ctrl-N: Takes you to the “create new custom calendar page” as described in 7c) Ctrl-S: Takes you to the “course search” page as seen in 3)
- Logout Button: Clicking the logout button on the bottom left corner saves the user’s preferences and selections during their time on the application and sends them back to the Register/Login page as seen in 1).