Skip to content

Sprint 2

Past due by 3 months 87% complete

Reflection on Sprint 2:

Saanika:
This sprint had much better progress compared to our first sprint because we had properly set up the frontend theme repository and were finally able to get the frontend code to work. This allowed me to resolve the user story we were unable to finish in the first sprint. However, by deciding to continue our first user story…

Reflection on Sprint 2:

Saanika:
This sprint had much better progress compared to our first sprint because we had properly set up the frontend theme repository and were finally able to get the frontend code to work. This allowed me to resolve the user story we were unable to finish in the first sprint. However, by deciding to continue our first user story into the second sprint, we were not able to dedicate as much time to the additional user stories we wanted to tackle, leading us to have the post-view restriction user story unfinished by the end of the sprint 2.

Alanna:
In Sprint 2, I focused on completing the backend search functionality, specifically by building it based on the existing groupSearch implementation in NodeBB. This gave me valuable experience working with jQuery to interact with the HTML DOM, which was a critical part of making the search feature function dynamically on the client side.

I spent a considerable amount of time trying to understand how NodeBB's test suite is structured, and invested over six hours reformatting my search tests and setting up various .eslintrc configurations in an attempt to run the tests. Unfortunately, I was unable to get the tests to work within the existing framework. After consulting a TA during office hours, I was advised to explain why my search implementation wasn't easily testable within the current test setup. Instead of automated tests, I provided a manual testing recording to demonstrate the feature in action. Please see my PR for a more detailed explanation!

One of the challenges this sprint was the backlog from Sprint 1, combined with my underestimation of how long it would take to implement the backend search functionality and attempt to test it. As a result, I was not able to start working on my second user story for the sprint. Additionally, the time I spent attempting to integrate testing for my HTML DOM-based search functionality further delayed my progress on other planned tasks for this sprint.

Karen:
In this sprint, I was able to successfully finish the issues I was assigned to after we redistributed them after sprint 1. This was due to the front-end repository being successfully set up, and by having a better understanding of how the front-end code works. I was also able to test the changes I made in sprint 1. However, since we were also working on finishing sprint 1 tasks, there was not enough time to be able to fully finish the post visibility restriction story. I was able to discuss with the others, such as Sofian, on how to finish the post visibility restriction story in the next sprint with the knowledge we learned about how Nodebb currently implements their user's privileges and how the front-end is set up.

Sofian
In this sprint, I was responsible for various tasks including connecting backend/frontend code for pin logic and limiting post visibility based on user groups within NodeBB. Throughout the sprint, we realized that it may be better to split our resources so I fully focused on the visibility user story.

For the frontend button for the visibility, I learned about the NodeBB theme submodules structure and then added a button and dropdown for posting to specific users.

For the post visibility feature backend, I worked extensively on the logic that allowed posts to be restricted based on user group permissions. This involved modifying the database to store visibility levels and implementing logic to render the correct posts for different user types. While the backend logic passed the first set of tests, which ensured that the database was correctly updated with visibility fields, the second set of tests that verified correct post rendering based on permissions did not pass yet. Three main issues caused the tests to fail. First, I had to dive into how the database was retrieving and sending the data to ensure everything was being stored and queried correctly. Second, I had to ensure that the logic for selecting the right posts based on user groups was accurate. However, despite these efforts, the biggest issue was that more posts than intended were being marked as null in my lists, causing not enough posts to be rendered for certain user groups.

Loading