Skip to content

Reflection

Aryaman Arora edited this page Dec 5, 2023 · 6 revisions

What best-practices were used? What worked well for the team? What would we do differently? If there were features that were not completed, discuss what happened and what we learned from it. [Delete paragraph when complete]

The journey of creating the CalendarApp was a very fulfilling experience for our team of CS + CFM students. From the initial concept, where the group was super keen to do something unique, to the final implementation, we navigated through a bunch of different challenges that significantly contributed towards the successful completion of the project.

During the beginning, the group was brainstorming different ideas for issues we face ourselves to plant the roots for potential project. We ended up landing on this CalendarApp because of the challenges and difficulties that are involved with the course selection/planning/scheduling process. Some of us had to email five different professors just to enroll into CS346 itself due to TST and TUT overrides. As such, there was a lot of motivation from each group member to build this project.

Throughout the project and different sprints, there were many different things that were done to ensure its completion:

  • There was a general split between group members, where two focused primarily on the back-end and two focused on the front-end. As such, requirements were completed by pairing a front-end and back-end member together, helping allocate specific tasks and divvying up the work in an effective manner. This made tackling the sprints very efficient.
  • We also created a group chat to informally discuss questions and problems we faced as we went along with the process to stay-in-touch and update each other our our progress.
  • As the sprints went on, we realized that our initial issues in the project proposal were too broad such that they would need to split up into smaller issues due to the depth of work that was required for the completion of each of them. Following on, we began to split our milestones into smaller more concise issues that allowed us to make appropriate progress as time went on.

In terms of what would be done differently:

  • More Iterative Testing: One aspect we would change is to incorporate more iterative testing phases within each sprint. This would have allowed us to catch bugs and usability issues earlier in the development process.
  • Advanced Planning for Scalability: In hindsight, a key improvement area could have been advanced planning for scalability. This involves designing the system and database to easily handle increased users and data as the app grows, ensuring a robust foundation for future enhancements and user growth.

There were some features that had not been completed or ones that we realized we could have added after the last sprint:

  • Initially, we had planned to implement a dark mode setting that would give the user the option to select the visual setting of the application. This was not completed due to time constraints and the prioritization of other core functionalities.
  • Since we allow the user to create multiple calendars through the calendar page, the group realized it would have been more effective to create a dropdown menu on the course info page to allow the user to select which calendar they would want to add a course into, instead of just adding the course to the primary "Current Calendar."
  • On the wishlist and list of courses on the calendar page, we realized it would be ideal to have made each course on the page clickable such that it would be linked to its info page. This would be ideal in case the users wanted to double-check anything, remind themselves of any course-related information, or see the different sections and their times easily.

Clone this wiki locally