Project Log
View our timeline to see what's been planned and what's ahead.
#
Team Progress breakdownDate | Task Description | Team member | hours |
---|---|---|---|
03/5/2021 | Initial team meeting | YL + JX | 3 |
05/5/2021 | Learning React and NextJS | YL + JX | 15 |
10/5/2021 | Week 1 Sprint team meeting | YL + JX | 2 |
Week 1 | Set up Quiz, Forum Dashboard | YL + JX | 20 |
week 1 | Undocumented coding (UI and Bug fixes) | YL + JX | 10 |
17/5/2021 | Week 2 Sprint team meeting | YL + JX | 2 |
week 2 | Undocumented coding (UI and Bug fixes) | YL + JX | 10 |
Week 2 | Set up Login authentication | JX | 5 |
24/5/2021 | Week 3 Sprint team meeting | YL + JX | 2 |
week 3 | Undocumented coding (UI and Bug fixes) | YL + JX | 10 |
Week 3 | Set up & migrate documentation site | YL | 5 |
Week 3 | Set up firebase connection | JX | 5 |
Week 3 | UI improvements and responsive design for forum | JX | 5 |
Week 3 | Improve Quiz creation UI | YL | 5 |
week 3 | UI fixes for landing and dashboard | YL | 3 |
week 3 | Video and milestone 1 docs preparation | YL + JX | 3 |
week 3 | Discuss backend data formats and arrangements | YL + JX | 3 |
31/5/2021 | Week 4 Sprint team meeting | YL + JX | 2 |
week 4 | Undocumented coding (UI and Bug fixes) | YL + JX | 10 |
Week 4 | Adding tags to forum posts | YL | 2 |
Week 4 | Include Cypress as E2E testing tool | YL | 5 |
Week 4 | Fixed firebase logic and backend | YL | 5 |
Week 4 | Improved creation page for quiz and question | JX | 5 |
07/6/2021 | Week 5 Sprint team meeting | YL + JX | 2 |
week 5 | Undocumented coding (UI and Bug fixes) | YL + JX | 10 |
Week 5 | Fix fetch & update of forum data | YL | 5 |
Week 5 | Update landing page for forum | JX | 5 |
Week 5 | Update UI of Quiz functionality | JX | 5 |
Week 5 | Create badges page | JX | 5 |
week 5 | Create scoreboard page | YL | 3 |
week 5 | Update profile page to display module info | YL + JX | 3 |
14/6/2021 | Week 6 Sprint team meeting | YL + JX | 2 |
week 6 | Undocumented coding (UI and Bug fixes) | YL + JX | 10 |
week 6 | Create user backend | YL | 5 |
week 6 | Crate forum post from question | JX | 5 |
week 6 | Mark posts as wiki and link posts to question | YL | 5 |
week 6 | UI improvements for quiz, forum and questions | JX | 5 |
week 6 | Documentation updates | YL + JX | 5 |
21/6/2021 | Week 7 Sprint team meeting | YL + JX | 2 |
week 7 | Undocumented coding (UI and Bug fixes) | YL + JX | 10 |
week 7 | Add tests for forum and quiz | YL | 5 |
week 7 | Add notification functionality | YL | 2 |
week 7 | Crate module and quest editing functionality | JX | 5 |
week 7 | Update user guide | JX | 2 |
week 7 | Add make wiki from reply functionality | YL | 2 |
week 7 | Backend update to connect user to post | YL | 2 |
week 7 | UI improvements for quiz, forum and questions | JX | 5 |
week 7 | Milestone 2 submission prep (Video, Poster etc) | YL + JX | 5 |
28/6/2021 | Week 8 Sprint team meeting | YL + JX | 2 |
week 8 | Undocumented coding (UI and Bug fixes) | YL + JX | 10 |
week 8 | Team review and feedback | YL + JX | 2 |
week 8 | Scoreboard and badges UI and fixes | YL | 5 |
week 8 | Backend logic connection for Module and quest | YL | 5 |
week 8 | Reformating UI for Quiz, Question and others | JX | 5 |
week 8 | Quest creation functionality | JX | 5 |
week 8 | Weekly announcement filtering and logic | JX | 5 |
week 8 | Various bug fixes and other refactoring | YL + JX | 5 |
5/7/2021 | Week 9 Sprint team meeting | YL + JX | 2 |
week 9 | Forum post ordered by week | JX | 2 |
week 9 | Forum UI update | JX | 2 |
week 9 | Fix badge display issues | YL | 4 |
week 9 | Search and sorting of Quiz | YL | 3 |
week 9 | Developer guide update | JX | 5 |
12/7/2021 | Week 10 Sprint team meeting | YL + JX | 2 |
week 10 | General coding and bug fixes | YL + JX | 10 |
week 10 | Adding new question type | JX | 5 |
week 10 | UI improvements and refactoring | JX | 5 |
week 10 | Fixing backend issues | YL | 5 |
week 10 | Adding new test cases | YL | 6 |
week 10 | Updating documentation | YL + JX | 5 |
19/7/2021 | Week 11 Sprint team meeting | YL + JX | 2 |
week 11 | General bug fixes | YL + JX | 6 |
week 11 | Functional refactoring | JX | 5 |
week 11 | Update developer guide | JX | 5 |
week 11 | Fix backend module switching issues | YL | 5 |
week 11 | Fix quest update issues | YL | 5 |
week 11 | Update user guide | YL | 2 |
week 11 | Fix unexpected UI issues | JX | 2 |
week 11 | Updating documentation | YL + JX | 5 |
week 11 | Milestone 3 preparations | YL + JX | 5 |
25/7/2021 | Final product meeting | YL + JX | 2 |
Total hours: 396 hours
Average per student:
- Jun Xiong: 198 hours
- Yong Liang: 198 hours
#
Overall StatisticsAt the time of writing (25/7/2021), we
- closed 123 issues and
- made 497 commits in our code repository
At the time of writing (13/7/2021), we
- closed 110 issues and
- made 444 commits in our code repository
At the time of writing (30/6/2021), we
- closed 89 issues and
- made 359 commits in our code repository
The details of issues (Bugs, Features, Tasks) can be found on the Github issues page
#
Progress in a few wordsAlso noting down some thoughts along the way...
#
Week 1First week of development saw significant changes to our application. Besides the quiz functionality that I was working on, the landing page, dashboard as well as other aspects of the project had great improvements made. Though UI is not a focus in our initial phase of development, it was nice to view the application and receive visual feedback from the work that we put in. There were many challenges that we managed to overcome via discussion and experimentation. We were able to decide on the schema of data to be stored and also create a few mock data files to work with. The application was also finally deployed to the cloud and we would be able to see real time updates to it with every PR we merge. I think this week created a great foundation for us to continue to work and improve our product towards final release.
18/5/2021 - Yong Liang
#
Week 2Second week of development included UI improvements, the creation of our logo,
functionality improvements and allowed for users to login to access the pages.
We also added a backend on deta base to the project and
revamped the UI used for documentation purposes. Continuing from the first week
of development, we refactored code and cleaned up redundant functions. Whilst
developing the pages, we realized that there was significant lag coming from
getServerSideProps()
and started using getStaticProps()
instead. As
development continued, we have changed the way we stored the data multiple times
and created a backend API written in flask to facilitate this. And with the
addition of the deta base backend, we are now able to get and post data with
ease. Overall, the improvements to the app this week have been substantial and
will be crucial moving forward.
25/5/2021 - Jun Xiong
#
Week 3Last week's progress was slightly slow and we had to spend some time updating all the documentation and publicity resources in preparation for milestone 1 submission. However, I am glad that the login functionality is now in place and we are in good position to make the gamification side of the project. In terms of quiz and forum functionalities, we were proceeding at a slower pace due to more considerations required in terms of data storage and communication between the front-end and the back-end. Overall, the improvements though small, were still important as we head towards more complex work in the coming month.
31/5/2021 - Yong Liang
#
Week 4We made a lot of progress last week, with forum and quiz seeing major backend improvements with relation to speed and functionality. We also improved the UI and updated most of our website to support both mobile view and dark mode. We are still behind on some of our goals like gamification and course selection but I think that with the following weeks, things will start to pick up pace. Overall, the changes made last week will put up in a better position to continue development as we start to add more pages and more features to the app.
7/6/2021 - Jun Xiong
#
Week 5Further changes were made in order to get the forum and quiz basic functionalities to be even more polish. There were many consuming tasks that though not important individually, affect the overall user experience of our application. We added things like the search and filter functionality to forum. We also started to look at the highlight of our application: the integration between forum and quiz. The ability to view a relevant post when reviewing a quiz attempt was implemented and more updates to come in the following days! Overall, I would say the week's progress was on the slower side of development. However, there were many important lessons we learned through this journey. For example, the exploration of data management packages such as SWR and react-query for the front-end data fetching mechanism. There were also many minor design bugs that we uncovered and fixed along the way. As we are soon reaching the midway of our development, we hope to keep up with the consistency and make realistic improvements towards finishing the application.
14/6/2021 - Yong Liang
#
Week 6There were many minor but meaningful UI changes as well as functionality and code abstraction. Many bugs were also addressed and we believe that the user experience will be much smoother moving forward. Refactoring oir code and cleaning up errors were also a focus of this weeks activity as we come close to finishing all our core features. Quiz and forum now link to one another seamlessly and users can see forum posts after finishing their quiz questions. Users can also change their user name with ease. Finally, we improved our documentation to include acceptance testing and other testing methods as well as some improvements to our developer guide. Overall, we managed to clean up much of our code and improved the functionality and readability of our code.
21/6/2021 - Jun Xiong
#
Week 7Last week was more hectic than expected as we were nearing milestone 2 submission. We wanted to make sure that the website is usable and without significant bugs. We also aimed to include the setup for gamification into the site so that we can share that with our testers and friends. However, the work to get all the bugs fixed while adding new functionalities was time consuming. And we had to update our documentations, posters and make a video for the submission. Overall I am glad that we managed to fulfill 80% of our intended tasks for the week. There was an interesting problem we encountered with user login that I would like to share. While developing the website locally, Jun Xiong and I usually used the same login credentials and found no issue with it. However, when we were testing the production website and Jun Xiong logged in with his GMail account, the user system was broken and all logins to the website started to use Jun Xiong's profile instead. Even though the userId for the logins were different, somehow the user retrieved from the database stuck with one user account. After some investigation, I managed to locate the source of error, which was the session mechanism. The userId was a mutable variable that was attached to the user session. Somehow that information was not mutated properly when new users are logged in. I removed the mutating variable and looked through the documentation of the authentication service that we are using. I found out that the token that comes with the session object in fact contains the userId. Therefore, I no longer need to query the userId from Firebase and could use it directly from the session object. This problem only surfaced when we use the website in production and with multiple users. A great lesson about the importance of testing, including user testing on production.
28/6/2021 - Yong Liang
#
Week 8Last week was the week after the submission of milestone 2. Along with many bug fixes, UI improvements and code optimizations we managed to accomplish a good deal. As of now, most of the UI is looking synonymous with one another but there is still some work to be done on the forum and wiki pages. We also made some changes to our backend and database designs especially for the module and quests to maintain a more consistent format throughout our application. Most of the work last week was focused on the modules, scoreboard, badges and dashboard pages as we are almost complete with the forum and quiz functionality. Moving forward we intend on finishing our final functionality updates in the coming week and start moving towards more rigors testing and documentation. All in all, I feel that the UI updates that we made in the past week has added alot more functionality to the application as a whole and if we can keep up the pace, our app will be very complete by the end of orbital.
5/7/2021 - Jun Xiong
#
Week 9As we are nearing the end of the development cycle, the main focus of the week was to complete any remaining features and make sure the use cases are supported. There were some details that we took the time to ensure they function properly. These include search and sort of quizzes as well as another round of UI improvements. We also added more content to our documentation that explain the design decisions and inner workings of the front-end components. Along the way, we fixed some bugs related to mobile view and resolved issues with regards to forum posts' order by week.
12/7/2021 - Yong Liang
#
Week 10Since this is our second last week working on this project, we have started moving from adding new features to bug fixing and improving existing features. Our main focus is getting our test coverage up and improving our documentation. Other than these, we also wanted to help improve the UX of the user and we can achieve that by implementing features that users requested for in their demo run. Working on these tasks we can ensure that our app will be ready for the final production date and be fully functional with minimal bugs. We are also working to refactor the code to improve readability and improve performance. All in all, we feel that we are on pace to be done with our core features in time for our main release.
19/7/2021 - Jun Xiong
#
Week 11Considering this the last week before submission, we took this week seriously and made a ton of updates to ensure all noticible issues are resolved. The amount of work was intense because of the changes we made to add a module context to all the interactions within the site. Also because this is the final 10%, the efforts taken to make even the slightest changes required careful attention. We are lucky enough to have a test suite running and that had major impact in speeding up the review process and ensuring that the changes made would not create regressions. I honest think that all students who persisted and reached milestone 3, they have done a fantastic job already! Looking back, consistent development work on a weekly basis was both tiring and fulfilling. To constantly think about our product and make noticeable progress over the weeks required a fair amount of passion and commitment. As a whole, I am proud of what our team achieved. Our product has a proper test suite, a comprehensive documentation (including detailed User Guide, Developer Guide and other information), as well as a reasonably well structured code base. I know there are many areas that we could continue to work on and improve further, but the product turned out more polished than I had expected. The one significant lesson that I learned from this journey is that making an great product is indeed hard and requires a tremendous amount of effort. There's no shortcut in striving towards excellence.
25/7/2021 - Yong Liang