From acb4166d245b7fc369d9b3b87a449e161bd63c82 Mon Sep 17 00:00:00 2001 From: victoriaokoro <143893109+victoriaokoro@users.noreply.github.com> Date: Mon, 4 Dec 2023 11:29:46 +1100 Subject: [PATCH 01/19] Thoth Tech progress report from pdf to markdown. --- astro.config.mjs | 2302 ++++++++++++++++- .../Thoth Tech progress report | 0 2 files changed, 2300 insertions(+), 2 deletions(-) create mode 100644 src/content/docs/teams-and-leadership/Thoth Tech progress report diff --git a/astro.config.mjs b/astro.config.mjs index ab41e2e5..97028b30 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -7,7 +7,2305 @@ export default defineConfig({ integrations: [ starlightBlog(), starlight({ - title: "Thoth Tech", + title: "Thoth Tech progress report", + + Deakin University +Capstone Team Project (B) +OnTrack Submission +Company Handover and Showcase +Submitted By: +Daniel Maddern +maddernd +Tutor: +Andrew Cain +Group Members: +maddernd Daniel Maddern ����� +ungso Sovinhou Ung ���� +chulme Chloe Eloise Hulme ����� +siva Sivasamyuktha Selvarajuh ��� +qvcao Quoc Vi Cao ��� +cynt Cynthia Yi Min Chee ��� +saurellia Swanny Aurellia ��� +wvoon Wei Min Voon ��� +ongr Ro Wern Ong ���� +hhassanzada Hazratomar Hassanzada ���� +djsutherland Dylan Sutherland � +kaboyle Kieron Anthony Boyle ����� +jdoss Jaden Doss ��� +s221071083 Jayant Jayant ��� +mbugay Mel David Bugay ����� +anellippillijos Anirudh Nellippilli Joshi � +kdadams Kyle David Adams ��� +nharty Norman Harty ��� +dryzner Dominic Robert Ryzner ��� +roussoren Riley Michael Oussoren ��� +singhind Inderdeep Singh ���� +sfrehman Syed Faiq ur Rehman ���� +s222574652 Philip Williams ����� +s221199844 Nidhisha Ravindra Pahade � +quazis Sanah Quazi ��� +s221519423 Thando Loliwe �� +hhalls Harney Halls ��� +aghilesharasu Aghilesh Arasu � +s221071216 Sherap Thakur � +September 27, 2023 +Produced by Doubtfire +2 +Thoth Tech Showcase Video Links +Company (Thoth tech) Showcase Video: https://video.deakin.edu.au/media/t/1_kd7o8aft +Company Operations Showcase Video: https://video.deakin.edu.au/media/t/1_yrgrebdj +OnTrack Showcase Video: https://video.deakin.edu.au/media/t/1_qtqbi271 +Art Gallery Showcase Video: https://video.deakin.edu.au/media/t/1_1gei2x0y +1 + + + + + +Product Handover and +Showcase Document +Thoth Tech +Trimester 2, 2023 +2 +Table of Contents +1. Leadership Team................................................................................................................4 +1.1. Company Directors ....................................................................................................4 +1.2. Student Leadership ....................................................................................................4 +1.3. Updated Company Organization Chart......................................................................4 +1.4. Company Showcase Video.........................................................................................5 +2. Products - Company Operations........................................................................................5 +2.1. Team Members and Their Key Achievements...........................................................6 +2.2. Completed Deliverables.............................................................................................9 +2.3. Roadmap....................................................................................................................9 +2.4. Open Issues..............................................................................................................10 +2.5. Source Code .............................................................................................................10 +2.6. Login Credentials......................................................................................................10 +2.7. Other Relevant Information.....................................................................................10 +2.8. Showcase Video .......................................................................................................11 +3. Product – OnTrack ..........................................................................................................11 +3.1. Team Members and Their Key Achievements.........................................................13 +3.2. Completed Deliverables...........................................................................................20 +3.3. Roadmap..................................................................................................................21 +3.4. Open Issues..............................................................................................................22 +3.5. Source Code .............................................................................................................22 +3.6. Login Credentials......................................................................................................22 +3.7. Other Relevant Information.....................................................................................22 +3.8. Showcase Video .......................................................................................................22 +4. Product – Art Gallery .......................................................................................................22 +4.1. Team Members and Their Key Contributions..........................................................23 +4.2. Completed Deliverables...........................................................................................24 +4.3. Roadmap..................................................................................................................26 +4.4. Open Issues..............................................................................................................26 +4.5. Source Code .............................................................................................................26 +4.6. Login Credentials......................................................................................................27 +4.7. Other Relevant Information.....................................................................................27 +3 +4.8. Showcase Video .......................................................................................................27 +5. Product - Splashkit...........................................................................................................28 +5.1. Team Members and Their Key Achievements.........................................................28 +5.2. Completed Deliverables...........................................................................................31 +5.3. Roadmap..................................................................................................................34 +5.4. Open Issues..............................................................................................................37 +5.5. Source Code .............................................................................................................37 +6. Product - CourseFlow.......................................................................................................39 +6.1. Team Members and Their Key Achievements.........................................................39 +6.2. Completed Deliverables...........................................................................................41 +6.3. Roadmap..................................................................................................................44 +6.4. Open Issues..............................................................................................................46 +6.5. Source Code .............................................................................................................47 +6.6. Login Credentials......................................................................................................48 +6.7. Other Relevant Information.....................................................................................48 +4 +1. Leadership Team +1.1. Company Directors +• Andrew Cain, Managing Director +• Glory Lee, Managing Director +1.2. Student Leadership +• Daniel Maddern – Product Lead for OnTrack +• Daniel Maddern & Chloe Hulme – Product Lead for Art Gallery +• Mel David Bugay & Kieron Anthony Boyle – Product Leads for Courseflow +• Phil Williams – Product Lead for Splash Kit +• Onyedikachi Okorie - Product Lead for Company Operations +1.3. Updated Company Organization Chart +5 +1.4. Company Showcase Video +https://video.deakin.edu.au/media/t/1_kd7o8aft +2. Products - Company Operations +This team oversees the entire operations of Thoth Tech and strives to make things easier. We +aim to make the onboarding process as smooth and clear as possible, as well as increase the +knowledge of our seniors in meaningful ways while creating policies to improve the wellbeing +of all company employees. In the short term, we would like to create new documentation, +policies, workflows, and processes that are relevant to improve the company’s outlook and +overall productivity. In the long term, we aim to store documentations in a dedicated website +(Docusaurus) to make it easy to push updates, new features, and bug fixes to everyone +without the need to gain access to our GitHub repository. +Projects +• Documentation Website: The goal of this project is to deliver a website that serves +as a location for all company documents, this would help eradicate document +management and retrieval issues ensuring everyone has full access to the +documents they need to function in the company. +• Policy creation: The goal of this project is to create policies that would guide every +member of Thoth Tech in using tools and technologies adopted by the company. This +focuses on areas like GitHub, Trello, creating documents, using the Documentation +website, and so on. +• Documentation: This involves documenting every work and activity necessary for +project and business continuity. Every plan and outcome for a project is being +documented and currently stored in the Company Operations GitHub repository, the +end goal is for all documentation to be stored in the documentation website being +created (Starlight). +Aims for Trimester +• Develop a policy for git-workflow. +• Create a policy for Trello and the processes associated with it. +• Describe and document the steps required to progress a change through a product. +6 +• Introduce a new onboarding document for the Ontrack product. +• Explore the use of Docusaurus for storing documentation. +• Generate code standard to be used for all product deployment. +• Ensure group OnTrack tasks are completed to a satisfactory standard. +• Write a list of new tasks for the documentation team to begin building. +Deliverables +• Generated policies to be implemented by the company. +• Deploy Docusaurus for company use. +• Migrate all documentations to Docusaurus. +• Develop general standards for the company in all areas that apply. +2.1. Team Members and Their Key Achievements +Key Achievements (Pull Request links) Team +member +Created Company Operations repository on Thoth Techs GitHub account and created a +folder structure. +folder update by Kachi-Okorie · Pull Request #1 · thoth-tech/Company-Operations +(github.com) +Onyedik +achi +Okorie +Generated a guideline on how to associate Trello cards with GitHub. +add-github-actions-to-trello by Kachi-Okorie · Pull Request #2 · thoth-tech/CompanyOperations +Converted 2.1P Task to markdown and published on GitHub. Add Company Catalogue - +KO by Kachi-Okorie · Pull Request #4 · thoth-tech/Company-Operations (github.com) +Create an Issues Resolution folder and updated it with issues faced with found +resolution. +Add-Issue-Resolutions-KO by Kachi-Okorie · Pull Request #5 · thoth-tech/CompanyOperations (github.com) +Created a hosting plan for Docusaurus and performed a test on Render (a web hosting +platform). +Docusaurus Hosting Plan & Render Outcome - KO by Kachi-Okorie · Pull Request #7 · +thoth-tech/Company-Operations (github.com) +Created GitHub Management policy. +GitHub Company Policy-KO by Kachi-Okorie · Pull Request #10 · thoth-tech/CompanyOperations +7 +Created a folder for Starlight project and populated it with the folders, templates, +modules, and other resources required to create the documentation website. +Add-Starlight-Project-KO by Kachi-Okorie · Pull Request #11 · thoth-tech/CompanyOperations (github.com) +Added the Process, Teams, and leadership pages on Starlight. +Adding teams n leadership page to Starlight - KO by Kachi-Okorie · Pull Request #14 · +thoth-tech/Company-Operations (github.com) +Code and Built Policy Page on Starlight +https://github.com/thoth-tech/Company-Operations/pull/18 +https://github.com/thoth-tech/Company-Operations/pull/19 +Fix Netlify Check Issue on GitHub +https://github.com/thoth-tech/documentation/pull/390 +Added Starlight project to Documentation repo +https://github.com/thoth-tech/documentation/pull/406 +Migrate Products documentations to Starlight. +https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/2 +https://github.com/thothtech/documentation/commit/9b4a65ad4aec4df11e15a809213fcc03f5c2273a +https://github.com/thothtech/documentation/commit/c3d019b064428896070719de3bbeee6da097f505 +Create and Populate News Page on Starlight +https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/5 +Update Onboarding Document to Contain Welcome Package Info +https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/6 +Create a Google form for Assigning New Students to Products +https://forms.gle/c9HPFvDRAUon9uEk9 +Create an Instructional Video on How to Upload Documents to Starlight +https://deakin365.sharepoint.com/:v:/r/sites/ThothTech2/Shared%20Documents/Gen +eral/Instructional%20Video%20- +%20How%20To%20Upload%20Documents%20to%20Starlight.mp4?csf=1&web=1&e= +6JHZnd +Created logo for Company Operations. +Company-Operations/images/CompanyOps-logo.png at main · thoth-tech/CompanyOperations (github.com) +Created Spike documentations for using Docusaurus as a documentation website. +Docusaurus research by QuinnCurtis02 · Pull Request #3 · thoth-tech/CompanyOperations (github.com) Quinn +Created High-level prototypes for the documentation website interfaces. Curtis +Add UI desing samples by QuinnCurtis02 · Pull Request #12 · thoth-tech/CompanyOperations (github.com) +8 +Researched on various documentation platforms to determine the one that meets +Thoth Techs requirement. +Add documentation platform research by QuinnCurtis02 · Pull Request #13 · thothtech/Company-Operations (github.com) +Created Starlight landing page and product page. +added home page and products to starlight by QuinnCurtis02 · Pull Request #15 · thothtech/Company-Operations (github.com) +Created a basic landing and products page for the documentation project. +https://github.com/thoth-tech/Company-Operations/pull/15 +Themed the documentation site with a focus on the products page. +https://github.com/thoth-tech/documentation/pull/384 +Moved the starlight project to a new repo and updated Astro version. +https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/1 +Researched the proper platform for hosting the documentation website. +https://github.com/thoth-tech/Company-Operations/pull/24 +Documented learnings from investigating various documentation platforms. +Docs: knowledge base prior learning and test documentation by Kyle-Dav · Pull Request +#9 · thoth-tech/Company-Operations (github.com) +Kyle +Adams +Improved the side navigation bars on Starlight. +updated starlight config for sidebar -KA by Kyle-Dav · Pull Request #16 · thothtech/Company-Operations (github.com) +Produced basic landing pages for all products. +Docs/md to mdx landing by Kyle-Dav · Pull Request #4 · thoth-tech/ThothTechDocumentation-Website (github.com) +filled out the landing pages -KA by Kyle-Dav · Pull Request #3 · thoth-tech/ThothTechDocumentation-Website (github.com) +Collaborated on the research for documentation platforms. +Add documentation platform research by QuinnCurtis02 · Pull Request #13 · thothtech/Company-Operations (github.com) +Created test documentation to temporarily fill knowledge base. +docs: created ExampleDocMD and ExampleDocRJS · Kyle-Dav/thothoperations@15e3c66 (github.com) +Docs: knowledge base prior learning and test documentation by Kyle-Dav · Pull Request +#9 · thoth-tech/Company-Operations (github.com) +Started the testing for changing product repository. +Move updated Starlight to the documentation repo root on Company Operations | +Trello +Created Onboarding document and conducted research on Docusaurus +https://github.com/thoth-tech/Company-Operations/pull/17 +Harshita +Shroff +Drafted documentation policy for Company – Thoth Tech +9 +https://github.com/thoth-tech/Company-Operations/pull/22 +Created guide on how to use Starlight (Company’s Documentation website) +https://github.com/thoth-tech/Company-Operations/pull/23 +Created project progress policy +https://github.com/thoth-tech/Company-Operations/pull/23 +Created upskilling document for Javascript, Angular, Typewrite, Material library for CSS +https://github.com/thoth-tech/Company-Operations/pull/23 +Documented requirements for documentation website +https://github.com/thoth-tech/Company-Operations/pull/23 +Converted the 6.1P task into markdown for retaining information for further reference. +https://github.com/thoth-tech/Company-Operations/pull/25 +2.2. Completed Deliverables +• Created Spike plan and Outcomes for documentation Platforms. +• Designed and built the documentation website on Starlight. +• Populated the documentation website with required information. +• Created an instructional video for using Starlight. +• Produced a Trello Management Policy +• Produced a GitHub Management Policy +• Produced an Onboarding/Welcome documentation for new students. +• Generated a Documentation Policy. +• Creation of an Upskilling Document +• Created Spike Outcome for Render as a Hosting platform. +• Documented a step-by-step procedure on how to upload documents to Starlight. +• Successfully compiled and submitted 2.1P, 6.1P, and 11.1P tasks. +• Researched Netlify as a free hosting platform and created Spike document. +• Successfully hosted documentation website on Netlify - https://main--strong-fairyc1bde1.netlify.app/ +2.3. Roadmap +• Containerize the documentation website project. +• Launch the Documentation website. +• Conduct a company wide workshop on how to upload documentations to the +website. +• Enforce the use of the policies created this trimester (T2/2023). +• Choose a password management system for Thoth Tech. +• Update Netlify (Web hosting platforms) to use the Directors credentials. +• Move the documentation website to the documentation repository. +10 +2.4. Open Issues +When the documentation website is deployed on the documentation repository, the +website is published as seen through the Netlify portal however, the Netlify checks on +GitHub keeps failing. +2.5. Source Code +Projects, documentations, and other artifacts produced by the Company Operations team +can be found using the following links. +• Company Operations Repo: thoth-tech/Company-Operations (github.com) +• Thoth Tech Documentation Website Repo: https://github.com/thothtech/ThothTech-Documentation-Website +• Company Operations folder in the Documentation Repo: +documentation/docs/Company Operations at main · thoth-tech/documentation +(github.com) +2.6. Login Credentials +The only account used by Company Operations that requires login credentials is the Netlify +account for hosting Thoth Techs documentation website. This is currently authenticated +using Onyedikachi Okories credentials; however, a backlog item has been created to use the +directors’ credentials – Andrew Cain. +2.7. Other Relevant Information +• Trello Board link: Company Operations | Trello +• Documentation Website: Welcome to Thoth Tech! (main--strong-fairyc1bde1.netlify.app) +• GitHub Policy: GitHub Management Policy (main--strong-fairy-c1bde1.netlify.app) +• Trello Management Policy: Trello Management Policy (main--strong-fairyc1bde1.netlify.app) +• Onboarding/Welcome Documentation: Thoth Tech Welcome Package (main--strongfairy-c1bde1.netlify.app) +• Onboarding Form: https://forms.gle/c9HPFvDRAUon9uEk9 +• Upskilling Documentation: Company-Operations/Company Policy/Upskilling +document.md at main · thoth-tech/Company-Operations (github.com) +• Documentation Policy: Company-Operations/Company Policy/Documentation +Policy.md at main · thoth-tech/Company-Operations (github.com) +• Instructional Video on Using Starlight: +https://deakin365.sharepoint.com/:v:/r/sites/ThothTech2/Shared%20Documents/G +eneral/Instructional%20Video%20- +11 +%20How%20To%20Upload%20Documents%20to%20Starlight.mp4?csf=1&web=1&e +=s26lMo +2.8. Showcase Video +Long video: https://video.deakin.edu.au/media/t/1_yrgrebdj +3. Product – OnTrack +This trimester Ontrack will be working dynamically across a variety of projects. We will be +working based on a priority system to get as many useful changes implemented as possible +in the trimester. +We will be breaking each project into smaller subcomponents to allow people to work +across projects in areas that are strong at or interested in. Everything should be completable +in a 2-week sprint. +Projects +• Numbas Integration – We are integrating the Numbas mathematics tests into the +Ontrack Workflow, so tests can be taken during the submission process and can be +incorporated into the workflow to complete a submission based on passing or failing +the test. +• Migration Front End – We have migrated a lot of our components to the later +version of Angular, however there still a range of components that need to be +migrated to FX layout with Tailwind. +• Terminators – This a project to resolve bugs that are in the system, there are a few +key ones we want to focus on first, and any additional bugs will also be added into +this backlog. +• Improvers – This a project to enhance some of our existing features with new +functionality, there are a range of different features we want to enhance. +• Inventors – This project is to scope out and start the build of new features we want +including in the system, again there is a range of new features, and they are at +various stages of development. +12 +• Data Analytics – This project has taken a step back, we will be reviewing the +progress last trimester and coming up with a new project plan and design on how we +want to deliver this. +• Attendance Module – We want to create an attendance module; in that you can use +SSO from different organisations like google/GitHub or other universities to log into +the system. +Aims for Trimester +• Complete the Numbas Integration into Ontrack +• Migrate legacy Angular components to FX layout with tailwind (Migrators) +• Feature enhancements (Terminators) +• Feature enhancers (Improvers) +• New Features (Inventors) +• Data Analytics - New project plan, review of previous work completed, New Project +Aims document. +• Authentication module – Design and plan for the module to be built. +Deliverables +Our main deliverables will be based on story points completed in the Trello tasks; we are +aiming for students to complete between 5-6 Story points every 2-week sprint. +Short Term Deliverables (This trimester): +• Numbas PoC Completed +• Numbas direct integration 70% complete +• 50% of Angular migration completed. +• All bugs resolved. +• New features mapped out ready for next trimester. +• Review of Data Analytics and Plan to move it forward. +• Scope for Authentication Module +Long Term Deliverables (Ongoing): +13 +• All Angular migrations completed. +• Enhance features mapped out in Trimester. +• Develop new features. +• Create Data Analytics platform. +• Authentication Module created. +• Card Scan Attendance Project +3.1. Team Members and Their Key Achievements +Full Name Sprint Contribution GitHub Link Story +Points +Total +Story +Points +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +hero-sidebar +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-hero-sidebar +2 +19 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +footer +https://github.com/syedfai +q/doubtfireweb/commit/cb900e2cbdfe +7ee9fcdffada63ceb6c62081 +f30f +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +user-badge +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-user-badge +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - signin +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-sign-in +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +audio-player +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindaudio-player +2 +Syed Faiq ur +Rehman +Sprint 2 +Code +Review +Spike - +Investigate +running Dev +container and +code base in +CodeSpaces +3 +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replace2 +14 +intelligentdiscussionplayer +fx-layout-with-tailwindintelligent-discussion-player +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +intelligentdiscussion-dialog +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindintelligent-discussion-dialog +2 +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +discussionpromptcomposer +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwinddiscussion-promptcomposer +2 +Jayant Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +task-commentcomposer +https://github.com/thothtech/doubtfire-web/pull/69 +2 +22 +Jayant Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +extensioncomment +https://github.com/thothtech/doubtfire-web/pull/70 +2 +Jayant Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - editprofile-form +https://github.com/jayant3 +1j/doubtfireweb/tree/refactor-editprofile-tailwind +2 +Jayant Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - unitdropdown +https://github.com/thothtech/doubtfireweb/pull/85/ +2 +Jayant Sprint 4 +Review +Replace fxlayout with +tailwind +equivalent - +task-assessmentcomment +https://github.com/thothtech/doubtfireweb/pull/102 +2 +Jayant Sprint 4 +Review +Migrate +"ConfirmationM +odal" +https://github.com/thothtech/doubtfireweb/pull/100 +3 +Jayant Sprint 4 +Review +Add testing - +Angular Service - +learninghttps://github.com/thothtech/doubtfire-web/pull/95 +3 +15 +outcome.service. +ts +Jayant Sprint 4 +Review +Add testing - +Angular Service - +tutorialstream.service.ts +https://github.com/thothtech/doubtfireweb/pull/97/files +3 +Jayant Sprint 4 +Review +Add testing - +Angular Service - +unitrole.service.ts +https://github.com/thothtech/doubtfireweb/pull/96/files +3 +Devanshi +Patel +Sprint 1 +Complete +Incorporate +content in +OnTrack +https://github.com/thothtech/documentation/pull/3 +38 +5 +23 +Devanshi +Patel +Sprint 2 +Code +Review +Create UML - +Incorporate +Content +https://github.com/ptldev0 +2/documentation/commit/f +7dcb01a1f3367ed443564f9 +c7f87bcc0b9b6b3d +3 +Devanshi +Patel +Sprint 2 +Code +Review +Gather +requirements - +Incorporate +Content in +Ontrack +https://github.com/ptldev0 +2/documentation/commit/ +0c6dbd9c1711e5c88a18f39 +774123dc2e4c4df5e +3 +Devanshi +Patel +Sprint 3 +Review +Design +Documentation - +Incorporate +Content +https://github.com/ptldev0 +2/documentation/commit/ +afbe585267e66df97ac06eff +b944e86c5562b360 +3 +Devanshi +Patel +Sprint 3 +Review +Design Feature - +Incorporate +Content +https://github.com/ptldev0 +2/documentation/commit/ +39356e3b9a7649778cf1543 +86c1cdc8d1d5e191e +3 +Devanshi +Patel +Sprint 3 +Review +UML Diagrams +and UI designs - +Tutor Times +https://github.com/thothtech/documentation/pull/4 +26 +3 +Devanshi +Patel +Sprint 4 +Review +Spike - Frontend +Documentation +Investigation +https://github.com/ptldev0 +2/documentation/commit/ +3e74dcc732c96308bbe83d +0794b2651e4649a363 +3 +DYLAN +SUTHERLAN +D +Sprint 1 +Complete +Review T1 Data +Analytics, create +back log +5 +8 +DYLAN +SUTHERLAN +D +Sprint 3 +Complete +Setup Ontrack - +Removable Hard +drive - Ubuntu +3 +Onyedikachi +Okorie +Sprint 1 +Complete +Integrate Trello +Board with +GitHub +https://github.com/thothtech/CompanyOperations/commit/5373d +652ab705c75cd0c3f584f0c +46686c3be9f6 +1 +1 +Brian Caldera Sprint 1 +Complete +Staff grant +extensions - +Create backlog +5 +31 +16 +Brian Caldera Sprint 2 +Complete +Create UML +diagrams and UI +wireframes for +the new feature +- Staff Grant +Extension +https://github.com/thothtech/documentation/pull/3 +68 +3 +Brian Caldera Sprint 2 +Complete +Documentation +(Design and +UML) - Staff +Grant Extensions +https://github.com/thothtech/documentation/pull/3 +57 +3 +Brian Caldera Sprint 2 +Complete +Documentation +(Requirements +and Testing) - +Staff Grant +Extension +https://github.com/thothtech/documentation/pull/3 +35 +3 +Brian Caldera Sprint 2 +Complete +Feature : Tutor +times +5 +Brian Caldera Sprint 3 +Complete +Design +Document +Backend - Tutor +Times +https://github.com/thothtech/documentation/pull/4 +24 +3 +Brian Caldera Sprint 3 +Complete +Requirements +Document Front +End - Tutor +Times +https://github.com/thothtech/documentation/pull/3 +89 +3 +Brian Caldera Sprint 3 +Complete +Design +Document Front +End - Tutor +Times +https://github.com/thothtech/documentation/pull/4 +13 +3 +Brian Caldera Sprint 3 +Complete +Requirements +Document Back +End - Tutor +Times +https://github.com/thothtech/documentation/pull/3 +92 +3 +Cao Quoc Vi Sprint 2 +Code +Review +Spike - Test +Production +Environment +From windows +https://github.com/thothtech/documentation/pull/4 +11 +3 +19 +Cao Quoc Vi Sprint 2 +Code +Review +Spike - Explore +video integration +using Panopto +https://github.com/thothtech/documentation/pull/4 +12 +3 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +staff-task-list +https://github.com/thothtech/doubtfire-web/pull/79 +2 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent -taskdashboard +https://github.com/thothtech/doubtfire-web/pull/81 +2 +17 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +microphonetester +https://github.com/thothtech/doubtfire-web/pull/78 +2 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +calendar-modal +https://github.com/thothtech/doubtfire-web/pull/80 +2 +Cao Quoc Vi Sprint 2 +Complete +Update Angular +UI-Router hybrid +Angular support +https://github.com/caoquo +cvinq/angular-hybrid.git +5 +Inder Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +home +https://github.com/SinghAI/doubtfireweb/commit/dc68dccab83 +9124ef69b76a2543bd9861 +09899f2 +2 +34 +Inder Sprint 2 +Code +Review +Convert PDF for +long lines. +https://github.com/thothtech/doubtfire-api/pull/8 +5 +Inder Sprint 2 +Complete +Research Spike - +Report on data +analytics tools +https://github.com/thothtech/documentation/pull/3 +52 +3 +Inder Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - +welcome +https://github.com/SinghAI/doubtfireweb/commit/6bb98916dab +519fe8bd0b6ac3dc6007c43 +c80e84 +2 +Inder Sprint 3 +Review +switch all alert +service use to +new angular +alert service +https://github.com/SinghAI/doubtfireweb/commit/a97b4dd008e +9a519c69aeebbdc797dc04f +b06f78 +3 +Inder Sprint 4 +Review +Add testing - +Angular Service - +group.service.ts +https://github.com/SinghAI/doubtfireweb/commit/4d743a32c59f +103c6449f6572c296468fab +c94f6 +3 +Inder Sprint 4 +Review +Alert on +extension +request for +group tasks +https://github.com/SinghAI/doubtfireweb/commit/b83dfb7ca60 +299f72c809fbaadda8240ad +4c282f +5 +Inder Sprint 4 +Review +New Featureadjust the +automatic +extension on +"resubmit" +https://github.com/SinghAI/doubtfireapi/commit/5b53a6eb6839 +ffafbe03445715a6b6488dd +34dac +5 +18 +Inder Sprint 4 +Review +Add testing - +Angular Service - +Activity Type +https://github.com/SinghAI/doubtfireweb/commit/4b927734678 +f4b1cfc30d08854be56271f +ecf1f2 +3 +Inder Sprint 4 +Review +Add testing - +Angular Service - +groupset.service.ts +https://github.com/thothtech/doubtfire-web/pull/99 +3 +SANAH +QUAZI +Sprint 2 +Complete +Design a way to +improve the +group Task +submission. +https://github.com/thothtech/documentation/pull/3 +56 +3 +19 +SANAH +QUAZI +Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - +inbox-comment +https://github.com/thothtech/doubtfire-web/pull/83 +2 +SANAH +QUAZI +Sprint 3 +Complete +Requirements to +incorporate +multiple +organisations on +a single OnTrack +server +https://github.com/thothtech/documentation/pull/3 +87 +5 +SANAH +QUAZI +Sprint 3 +Complete +Test Scenario +Documentation +and +Requirements +https://github.com/thothtech/documentation/pull/3 +96 +3 +SANAH +QUAZI +Sprint 3 +Complete +Design +Documentation - +Incorporate +Multiple +Organizations +https://github.com/thothtech/documentation/pull/4 +01 +3 +SANAH +QUAZI +Sprint 3 +Complete +Create UML +Diagram for the +Incorporate +Multiple +Organizations +feature +https://github.com/thothtech/documentation/pull/4 +02 +3 +BRYAN +TAING +Sprint 3 +Review +Identify and +reject encrypted +PDFs on upload +https://github.com/Mango +S9/doubtfireapi/commit/2b412057f431f +f7bf48008a81724e5131c57 +7684 +5 +10 BRYAN +TAING +Sprint 3 +Review +extend the +group lock +feature to allow +students in a +group to "Lock" +and unlock the +group +5 +19 +Daniel +Maddern +Sprint 3 +Complete +Design +Document +Backend - Tutor +Times +https://github.com/thothtech/documentation/pull/4 +24 +3 +77 +Daniel +Maddern +Sprint 4 +Complete +Create Python +Script to export +Trello JSON +https://github.com/thothtech/documentation/pull/4 +36 +3 +Daniel +Maddern +Numbas - +CodeReview +Build Angular +Service to work +with Numbas API +- Stream tests +https://github.com/thothtech/doubtfireweb/tree/add-numbasintegration +3 +Daniel +Maddern +Numbas - +CodeReview +Ontrack - Build +Spec test for +LMS service. +https://github.com/thothtech/doubtfireweb/commit/45ee07c132b +22decc21e4130a46934f7bb +1ec2a7 +3 +Daniel +Maddern +Numbas - +Complete +PoC - Review +Completed test +https://github.com/thothtech/NumbasPoC/pull/10 +5 +Daniel +Maddern +Numbas - +Complete +PoC- Save +answers on new +test issue +https://github.com/thothtech/NumbasPoC/tree/enh +ance/first-resume-issue +5 +Daniel +Maddern +Numbas - +Complete +Abstract LMS +function to +service in PoC +https://github.com/thothtech/NumbasPoC/tree/feat +/AbstractLMSFunctions +3 +Daniel +Maddern +Numbas - +Complete +PoC- Change +front end to use +xhr to fix +synchronicity +issues. +https://github.com/thothtech/NumbasPoC/pull/9 +5 +Daniel +Maddern +Numbas - +Complete +PoC- Adjust +Backend to +offset some get +test logic +https://github.com/thothtech/NumbasPoC/commit/ +eeafca513a3d46216332d0a +3909671af5b2887ce +3 +Daniel +Maddern +Numbas - +Complete +PoC - Save Test https://github.com/thothtech/NumbasPoC/tree/feat +/downloadnumbastest +5 +Daniel +Maddern +Numbas - +Complete +Save Suspend +Data in Commit +https://github.com/thothtech/NumbasPoC/tree/conf +igure-save-test-fe +5 +Daniel +Maddern +Numbas - +Complete +PoC - Save Score https://github.com/thothtech/NumbasPoC/pull/4 +5 +Daniel +Maddern +Numbas - +Complete +Ontrack Back +End Changes +UML +https://trello.com/c/0YU +wD7aO/50-ontrack-backend-changes-uml +3 +Daniel +Maddern +Numbas - +Complete +New Endpoint - +Save test -POC +https://github.com/thothtech/NumbasPoC/tree/addsave-test-api +5 +Daniel +Maddern +Numbas - +Complete +Setup maria DB +in PoC for save +test API +endpoint +https://github.com/thothtech/NumbasPoC/pull/4 +3 +20 +Daniel +Maddern +Numbas - +Complete +Find a way to +convert code +from using +SCORM1.1 to +SCORM 2004. +https://github.com/thothtech/NumbasPoC/tree/upd +ate/convert-scorm2004 +5 +Daniel +Maddern +Numbas - +Complete +Dev Containers +for Windows - +Change Rails/DB +to use docker file +system +5 +Daniel +Maddern +Numbas - +Complete +Spike - +Understand how +the Numbas +Code interact +with our code. +https://github.com/thothtech/documentation/pull/3 +16 +3 +Daniel +Maddern +Numbas - +Complete +Meeting with +Numbas to +discuss save test +state +1 +Daniel +Maddern +Numbas - +Complete +Video guide on +setting up +Ontrack +https://video.deakin.edu. +au/media/t/1_6degiyrj +1 +Daniel +Maddern +Numbas - +Complete +Feature Numbas +Integration - +Exploration +1 +Daniel +Maddern +Numbas - +Complete +Update +contributing +documentation +to show usage of +devcontainer +https://github.com/thoth +-tech/doubtfiredeploy/blob/developmen +t/CONTRIBUTING.md +2 +Sonam +chewang +DORJI – +Shadow(DM +Sprint 4 +Review +Refactor and +improve +authentication +service code +#738 +https://github.com/doubtfi +re-lms/doubtfireweb/pull/738 +5 +8 +Sonam +chewang +DORJI – +Shadow(DM +Sprint 4 +Review +adding unit +testing for +tutorialService +3 +3.2. Completed Deliverables +• Incorporate content in OnTrack – Requirements document created +• Numbas PoC system completed +• Numbas Backend Integration and DB changes completed +• Numbas Front End Integration partially completed. +• Review of T1 Data Analytics and backlog created +21 +• Trello board integrated with GitHub +• Staff grant extensions – backlog created +• UML diagrams and UI wireframes for Staff Grant Extension feature created +• Design and UML documentation for Staff Grant Extension feature created +• Requirements and testing documentation for Staff Grant Extension feature created +• Design for a way to improve group task submission created +• Research spike done for a report on data analytics tools +• Angular UI-router hybrid angular support updated +• Instruction document on setting up OnTrack in bootable Ubuntu hard drive created +• Requirements documentation, test scenario documentation, design documentation +and UML diagram created for incorporating multiple organisations on single OnTrack +server +• Requirements documentation for front-end and back-end along with design +documentation created for feature Tutor Times +• Python script created to export Trello JSON into a CSV +3.3. Roadmap +The current road map for Ontrack is quite broad, however there are a few key projects that +we want to focus on next trimester, first you can view all the backlogs on the Trello board +with their associated tasks: +https://trello.com/invite/b/IKabVmzt/ATTIdf935d63730a48bee701a76b199f48fc61BF23A8/ +ontrack +The Key projects we would like to see movement on next trimester would be: +1. Improvements Backlog – This backlog has core improvements to the system we want +to see. +2. Ontrack Bugs Backlog – These are bugs that are found and added to this backlog. +3. New Feature – Incorporate Content – Ideally, we have an additional 2 designs of +how this would work. It's not ready to code just yet. +4. New Feature – Staff Grant Extensions – Ideally, we have an additional 2 designs of +how this would work. It's not ready to code just yet. +5. New Feature – Tutor Times – Ideally, we have 2 additional designs on how this +would work. It's not ready to code just yet. +6. Backlog Urgent Enhancements – These are important changes we are looking to get +done asap. +22 +7. Documentation – We want to focus on updating the Front and Backend +Documentation and testing in the next trimester. This will help students and other +users better understand the system and how it works. +3.4. Open Issues +• Getting the system running, some students had issues getting Ontrack setup, we +have made a lot of videos and documentation to aid this as well as implemented a +development container but it's still an issue. +• Understanding OnTrack's UML and how new features link into it. +• Upskilling to work on a complex Angular/Rails system – We have provided training +videos and links to upskill. +• Testing code and Pull requests – there have been issues with making pull requests as +per the documentation provided, as this is a live system it's important to fully ready +and understand the requirements when making a PR. +• Using GitHub, GitHub is new to some students and can be quite tricky to get working +how you want. There were several videos and training sessions to help this. +3.5. Source Code +• Doubtfire Web - https://github.com/thoth-tech/doubtfire-web +• Doubtfire Api - https://github.com/thoth-tech/doubtfire-api +• Doubtfire Deploy - https://github.com/thoth-tech/doubtfire-deploy +• Thoth Tech Documentation - https://github.com/thoth-tech/documentation +3.6. Login Credentials +https://github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md +3.7. Other Relevant Information +Branching & Pull request formating +https://github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md +3.8. Showcase Video +Video showcase: https://video.deakin.edu.au/media/t/1_qtqbi271 +4. Product – Art Gallery +Indigenous and rural artists often face barriers in accessing the broader market, limiting +their opportunities for income and recognition. Our platform seeks to eliminate these +23 +barriers by leveraging modern technology to empower artists to reach a wider consumer +base, while bringing diverse cultures together. +We aim to deliver a highly available and scalable ecommerce platform that will allow for +ease of sale of artwork by small local artists. We plan to do this with our easily maintained +C# minimal RESTful API, Vue frontend, and our suite of other technologies used in +streamlining the development pf our product. +4.1. Team Members and Their Key Contributions +Key Achievements (Pull Request links) Team member +Deployment Strategy Report Ayan Masood +Continuous Delivery Research Ayan Masood +Mock CI/CD Pipeline Ayan Masood +Continous Integration Research Ayan Masood +Cybersecurity Policy for Deployment using GCP Ayan Masood +Preliminary Proposal for GCP Usge Ayan Masood +Product Logo Redesign Edwin Shibu +Figma Board for Frontend Redesign Avenue Joju, Ben Thomas, +Edwin Shibu, Amos Saji +UCD Research Avenue Joju +Frontend Performance Improved (Lighthouse scores) Sivasamyuktha A +Selvarajuh +Research and Review of IIIf Dominic Ryzner +Cybersecurity Strategies for Deployment Dominic Ryzner +Integrate Auto Compile Checks in CI Workflow Chloe Hulme +Create Pre-request Scripts in Postman Testing Chloe Hulme +Postmam README Chloe Hulme +Asynchrony Research Chloe Hulme +.NET 8 Migration Research Chloe Hulme +CI/CD Technologies Research Chloe Hulme +.NET 8 Migration plus Test for Breaking Changes Chloe Hulme +Migrating Docker Containers to Account for .NET 8 Migration Chloe Hulme +Deployment Progress Update Report Chloe Hulme +IRepository ExecuteReaderAsync Method Chloe Hulme +Adding Price to Database and API on Artworks Chloe Hulme +Adding Price to Artwork Card Component Chloe Hulme +Modifying Artworks to be in Gallery View + Lightbox Chloe Hulme +Implement asynchrony on RP/artwork context Chloe Hulme +Implement asynchrony on RP/artist context Chloe Hulme +Implement asynchrony on RP/media context Chloe Hulme +24 +Upgrade logic on Delete end points Chloe Hulme +Add asynchrony on end points relating to middleware (Artist +Context) Chloe Hulme +Implement asynchrony on RP/exhibition context Chloe Hulme +Implement asynchrony on RP/user context Chloe Hulme +Test asynchronous RP implementations Chloe Hulme +4.2.Completed Deliverables +Ayan was responsible for preparing the product for deployment. In his work this trimester, +he has produced several spike reports, a finalized deployment strategy for us to implement +next trimester, and a mock CI/CD pipeline for us to use as a guide. He has also helped to +select our deployment platform (GCP) and has created a cybersecurity policy for our team +to advise us on use of GCP. All completed deliverables can be found on GitHub. +• CI/CD Pipeline: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CICDPipeline.md +• CI/CD Pipeline Integration Overview: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CICDPipelineOvervie +w.md +• Cybersecurity Policy: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CybersecurityPolicy.m +d +• Deployment Strategies: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/DeploymentStrategie +s.md +• Preliminary Proposal: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/PreliminaryProposal. +md +Ben, Avenue, Edwin and Amos have been working on developing our front end this +trimester. Edwin provided a redesigned logo for us, and he and the rest of the team set up a +Sigma board for us to use in our redesign process. Avenue has also done some research into +UCD for us to use as a guide. Completed deliverables can be found on GitHub and in Figma. +• Figma Board: https://www.figma.com/file/ohaBXjzqNTWRMFtmulTr01/Artgallery?type=design&node-id=0%3A1&mode=design&t=J0qbicuMWi3lZn5C-1 +• Redesigned Logo: +https://github.com/ajoju/documentation/commit/29888067b662da062e22c9f0ba8c +ba458cef1a27 +• Research into UCD: +https://github.com/ajoju/documentation/commit/bf49dff5b91586aa4baff29b31ce3 +a123c11cee0 +25 +Sivasamyuktha has been working on our Lighthouse reporting scores. This has involved +reviewing the changes advised by our previous Lighthouse report, then upskilling JavaScript, +HTML and CSS to improve our Lighthouse scores. Our performance score has improved by +over 20%. All completed deliverables can be found on GitHub. +• Minify CSS and JS code: https://github.com/thoth-tech/artgallery/pull/40/commits/7fb35b39812902949203b5da7aa2588793213cca +• Lazy Routing: https://github.com/thoth-tech/artgallery/pull/40/commits/dc91b126e2dfc3e6e9174d44a8d547a24c1808ad +• Implementing Tree shaking with Ant Design: https://github.com/thoth-tech/artgallery/pull/40/commits/35d5df4e068ddfdfbed9506f830c388b0f08632f +• Updated Lighthouse Scores: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Lighthouse%20Project/T22023- +updated-lighthouse-report.pdf +Dominic has been working on integrating IIIF into our API. He has done in depth research +into making this possible and provided us with several review documents. In addition to +this, he has also provided us with cybersecurity strategies for our deployment, this includes +research into the payment system we will need to integrate, and safe storage of user data +and login credentials. All completed deliverables can be found on GitHub. +• All documents can be found here: https://github.com/thothtech/documentation/pull/429/files +Chloe has been responsible for upgrading the backend this trimester. She has migrated the +API to .NET 8, and updated the requisite Docker containers to account for this change. She +has also integrated asynchrony into the Repository Pattern of the API, and created some +automated test scripts in Postman to thoroughly test each endpoint. She has also made +some significant changes to the frontend in preparation for InnoFes. This includes +implementing a gallery style view for artwork display, and a Lightbox to showcase individual +artworks. She has also ensured that the price of each artwork can be displayed, which +required adding a column to the artwork table in the database, then updating the API and +frontend to include this change. All completed deliverables can be found on GitHub. +• Asynchrony integration: Implement asynchrony on RP/media context, Implement +asynchrony on RP/artwork context, Implement asynchrony on RP/exhibition +context, Implement asynchrony on RP/user context, Implement asynchrony on +RP/artist context, IRepository ExecuteReaderAsync Method +• Migration to .NET 8: .NET 8 Migration plus Test for Breaking Changes, Migrating +Docker Containers to Account for .NET 8 Migration +26 +• Postman testing: Create Pre-request Scripts in Postman Testing, Postmam +README, Test asynchronous RP implementations +• Frontend changes: Modifying Artworks to be in Gallery View + Lightbox +• Including Price on Artworks: Adding Price to Artwork Card Component, Adding +Price to Database and API on Artworks +4.3. Roadmap +To be completed: +• Integrate IIIF into API for better quality image display +• Implementing redesign of Front end web app +• Deploying the product +• Integrating payment system into front end +• Integrate Postman tests into GitHub Actions CI workflow +In progress: +• Continued redesign of Frontend web app. We only have some pages redesigned +at the moment, and these are not yet finalized. We need to finalize our upgraded +designs. +• Continue to implement lighthouse recommendations. We have improved +performance related scores but need to work on our other scores still. +4.4. Open Issues +• The team itself is quite small with certain members lack coding expertise for the +next phase of the application. It may be hard to achieve what we want to with +this project without recruiting individuals with stronger coding skills, given that +the application is still in its infancy. +• Automated testing needs to be implemented in our CI workflow in GitHub +Actions, faulty code had been pushed in our repository and resulted in our app +breaking. At present, we still do not have a thorough way to prevent this from +happening again. +4.5. Source Code +All of our source code is stored in GitHub in our art-gallery repository. +27 +Our redesigns are done in our Figma +board: https://www.figma.com/file/ohaBXjzqNTWRMFtmulTr01/Artgallery?type=design&node-id=0%3A1&mode=design&t=J0qbicuMWi3lZn5C-1 +Our Postman collection can be found here: https://www.postman.com/thoth-tech +If there is trouble locating or accessing or Postman space, Andrew has been added as Admin +and will be able to help. +4.6. Login Credentials +Database - username: postgres, password: PostgreSQL +4.7. Other Relevant Information +Documentation and research regarding deployment is extensive with many helpful +resources on errors and checks related to CI/CD as well. Using these resources will help and +streamline the deployment of the application. +Implementing the automated testing in the CI workflow will be really helpful, we had some +issues this trimester with students pushing code that broke the application. It is a strong +recommendation that preventing this be made a focus early in the following trimester. +Integrating a payment system into our frontend should be a focus as well, given that this is +the entire business model of our platform. +If students wish to work on ‘documentation only’ projects, or do not have strong frontend +programming skills, it is advised they select a different project to work on. +If there are any technical issues in developing the project, Max is a great help and should be +a port of call for the product lead when advice is needed. +We have 3 implementations in our API, however the only one in use is ‘repository pattern’. +Please disregard the other versions as they are now legacy. The client would still like to keep +these implementations in our repo, however they are to be ignored! +4.8. Showcase Video + +The Art Gallery in 4 minutes: https://video.deakin.edu.au/media/t/1_1gei2x0y +28 +5. Product - Splashkit + +Splashkit is an all-purpose toolkit for beginners built in C++ and can be used with C++ and +C#. Deakin University uses it to introduce students to programming through its easy-to-use +functions. +As part of the Splashkit team, you will be responsible for expanding the toolkit functions, +developing improved and innovative ways of working with Splashkit and creating +educational documents and videos for students. +Core Projects +• Splashkit Arcade +o Splashkit Arcade is a platform for students to feature games built using +splashkit. The university has four arcade units at its Deakin campus for this +purpose. +o Project Goals +▪ Have arcade machines running with a menu system. +▪ System to allow students to upload and test their games. +• Splashkit Expansion +o Our general project that covers modification and expansion of Splashkit, +Updates to Splashkit.io, development environments and packaging. +o Project goals +▪ Port functions from Swin games. +▪ Convert Splashkit.io to Astro Starlight platform. +▪ Create Debian, Brew and Nuget packages +▪ Dev Containers +▪ Splashkit Game Engine – New Initiative (consider splitting into new +project) +• Tutorials +o The Tutorials team is developing a series of tutorials that will help students +get started with SplashKit. +o Project Goals +▪ Individual Tutorials explaining how to use Splashkit Functions. +▪ Creating a 2D Metroidvania Game using splashkit – a tutorial series +showing how to build a game from start to finish using SplashKit. +• Splashkit Online +o An online environment to run SplashKit in a web browser +o Run and compile in the local browser, not using remote VM resources +o Project Goals +▪ Online IDE +▪ Compile and run code in a browser. +▪ Render audio and sound in a browser. +5.1. Team Members and Their Key Achievements +29 +SplashKit – Arcade Machine +Key Achievements (Pull Request links) Team member +Documents for Setting up an Arcade Machine #341 Philip Williams +Create Submodules for Asteroids and DXBallGame #89 Philip Williams +Update/below the surface controles #90 Philip Williams +GitHub Action compile C# Games (Windows, Linux) Philip Williams +DxBall Tweaks Philip Williams +Below The Surface - Update Controles Philip Williams +Asteroids Remove Mouse Add second forward Button Philip Williams +Arcade Machine Theme + Installation Documentation #361 Riley Oussoren +Emulation Station Idle Timer Investigation #404 Riley Oussoren +Runner Dash - clear screen and implement menu #101 Riley Oussoren +Venture Adventure 2nd and 3rd levels #102 Riley Oussoren +Below The Surface Ladder Behavior - temp fix and write up #96 Riley Oussoren +Asteroids Documentation Reformat Ashley Thompson +Below the Surface - Prevent Player 2 from Dieing when going off screen & +Adjusting ladder Behavior #97 +Bryan Taing +Asteroids - Difficulty Slider (UI) #4 Bryan Taing +Pi Emulation#435 Aditya Parmar +Asteroid Add Sound Coskun Kilinc +Asteroids Performance Optimisation Coskun Kilinc +Car Racing On Github KHUSHI LADDI +Add C# packaging to "Game Packaging" LOLIWE LOLIWE +DX-Ball Game, Exit game after 10 Min, Return to Title Screen from Score +Screen, DX Ball - Implement delay to make instant death less likely +Norman Spencer +Harty +Add scoreboard to DXBallGame #85 Norman Spencer +Harty +VentureAdventure - Create menu Systems +VentureAdventure - Create a how to play section Wenxuan Song +ARCADE-PING-PONG Pratham Gupta +30 +SplashKit – Expansion +Key Achievements (Pull Request links) Team member +Splashkit Windows Dev container #414 Philip Williams +Centre Point2D Camers(two Objects) #28 Bryan Taing +Add check for both sprites in AABB collision kind for Sprite-Sprite collision +function #24 +Ro-wern Ong +Collide functions #26 Ro-wern Ong +Post-porting Collides Alterations #27 Ro-wern Ong +WSL - Splash kit installation method Aditya Parmar +Game Engine: Logging Coskun Kilinc +Game Engine: Game Objects Coskun Kilinc +Game Engine: Components Coskun Kilinc +Design and Implement the SplashkitlnterfaceGen Tool Coskun Kilinc +Script Automation for Interface Generation Coskun Kilinc +User Documentation for SplashkitlnterfaceGen Tool Coskun Kilinc +Game Engine: IWindow Manager Coskun Kilinc +Fix Formatting and Code of Conduct Coskun Kilinc +Create automated interface generator for Splashkit Game Engine Coskun Kilinc +Fix Formatting and Code of Conduct Coskun Kilinc +Create automated interface generator for Splashkit Game Engine Coskun Kilinc +Splashkit Game Engine Initial Documentation Coskun Kilinc +Review Controle Schema matches arcade machine Swanny Aurellia +SplashKit – Tutorials +Key Achievements (Pull Request links) Team member +Publishing with Splashkit - C#/C++ Ashley Thompson +Getting Started With Sprites / Sprite Layering Ashley Thompson +Getting Started With Splashkit - Windows Tutorial Proposal Ashley Thompson +Getting Started With Sprites in Splashkit Tutorial - CSharp Ashley Thompson +Getting Started With SplashKit - C++/C# Ashley Thompson +Creating a Metroidvania game Tutorial - Player Character Basics, +Environment, Audio and Sound affects and Power ups and Items +Harney Halls. +Game Concept, 2D Racer features to keep and add, and 2D racer design +tutorial +Harney Halls. +Create tutorials for Cmake and Sprite Layering Tutorial #6 Bryan Taing +Audio Series - Tutorial Proposals Coskun Kilinc +2. Creating a 2D "Metroidvania" Game - Basic Drawing and Graphics Coskun Kilinc +1. Creating a 2D "Metroidvania" Game Using Splashkit - Overview, +Introduction and setup +Coskun Kilinc +New Game - SRS Coskun Kilinc +31 +Understanding CMakeLists.txt for Building the SplashKit Core Library - +Proposal +Coskun Kilinc +Understanding SplashKit Manager (SKM) Shell Commands - Tutorial +Proposal +Coskun Kilinc +Create Documentation Standards Coskun Kilinc +Debugging in VScode Kartik Kaushik +6. Creating a 2D "Metroidvania" Game - Collision Detection and Physics +5. Creating a 2D "Metroidvania" Game - Player Character Advanced +Norman Spencer +Harty +Database - Tutorial Plan Swanny Aurellia +Database - Tutorial Swanny Aurellia +12. Creating a 2D "Metroidvania" Game - Saving and Loading Progress Swanny Aurellia +Mouse Button - Tutorial Swanny Aurellia +Key Code - Tutorial Swanny Aurellia +SplashKit – Online +Key Achievements (Pull Request links) Team member +added the google verification for online splashkit #3 Anshuman Bishnoi +Update README.md (OutlIne and Requirments) Anshuman Bishnoi +api file for the web editor Anshuman Bishnoi +Final version of web editor Anshuman Bishnoi +Research documentation Sherap Thakur +5.2. Completed Deliverables +Please review the Team's Trello Board for a List of Completed Activities and details within +the cards. https://trello.com/b/3EpqqJ2R +SplashKit Arcade: +• Arcade Machine Base Image Built and Created – Instructions here +• Gold Image used for Deakin Open Day - Image Here, How to Create Here +• Showcase Game Adjustments (note not all updates are in Gold Image) +o Asteroids +▪ Controle Adjustments +▪ Basic Sound added +o DX Ball +▪ Controle Updates +▪ Score Screen Added +▪ Starting behaviour changed +▪ Exit Game After 10 Mins +o Below the Surface +▪ Change Ladder Behaviour +▪ Change the Camera in 2-player mode. +o Venture Adventure +32 +▪ Create End Game State +▪ Added Levels 2 & 3 +o Car Racer – Games Created +o Air Hockey – Game Created +• GitHub Actions updated to Compile C# games (Windows, Linux) +• GitHub Actions updated Compiled Games and Game Assets saved to CompiledGames Directory +• Raspberry Pi Emulation +SplashKit Expansion +• Added CircleCollide Test +• Port Collides Function Group +• Fix Sprite Collision Function - AABB collision Kind +• Centre Point2D Cameras (two Objects) +• Install Splashkit using WSL instructions +• Dev Container (Windows Only) +• Splashkit Starlight (New Website) +o Site built and existing SplashKit.io pages Transferred +o New Documentation Uploaded (WSL Install, Rasberry Pi Emulation) +• Game Engine +o Game Engine: Logging +o Game Engine: Game Objects +o Game Engine: Components +o Design and Implement the SplashkitlnterfaceGen Tool +o Script Automation for Interface Generation +o User Documentation for SplashkitlnterfaceGen Tool +o Game Engine: IWindow Manager +o Fix Formatting and Code of Conduct +o Create an automated interface generator for Splashkit Game Engine +o Fix Formatting and Code of Conduct +o Splashkit Game Engine Initial Documentation +o Splashkit Interfaces +▪ ./include/animations.h +▪ ./include/audio.h +▪ ./include/basics.h +▪ ./include/bundles.h +▪ ./include/camera.h +▪ ./include/circle_drawing.h +▪ ./include/circle_geometry.h +▪ ./include/clipping.h +▪ ./include/collisions.h +▪ ./include/color.h +▪ ./include/database.h +▪ ./include/drawing_options.h +▪ ./include/ellipse_drawing.h +33 +▪ ./include/geometry.h +▪ ./include/graphics.h +▪ ./include/images.h +▪ ./include/input.h +▪ ./include/json.h +▪ ./include/keyboard_input.h +▪ ./include/line_drawing.h +▪ ./include/line_geometry.h +▪ ./include/matrix_2d.h +▪ ./include/mouse_input.h +▪ ./include/music.h +▪ ./include/networking.h +▪ ./include/physics.h +▪ ./include/point_drawing.h +▪ ./include/point_geometry.h +▪ ./include/quad_geometry.h +▪ ./include/random.h +▪ ./include/rectangle_drawing.h +▪ ./include/rectangle_geometry.h +▪ ./include/resources.h +▪ ./include/sound.h +▪ ./include/sprites.h +▪ ./include/terminal.h +▪ ./include/text.h +▪ ./include/text_input.h +▪ ./include/timers.h +▪ ./include/triangle_drawing.h +▪ ./include/triangle_geometry.h +▪ ./include/types.h +▪ ./include/vector_2d.h +▪ ./include/window_manager.h +▪ +• New Game Engine Functionality +o Logger +o ConsoleLogger +o Renderer +o SplashkitRenderer +o GameStateManager +o GameStates +o GameObjects +o Components* +o Transforms* +Note: * indicates partially complete feature +SplashKit Tutorials +• 2D "Metroidvania" Game Creation +o Getting Started and Basics +o 1. Overview, Introduction and setup +34 +o 2. Basic Drawing and Graphics +o 3. Player Character Basics +o 4. Environment Design Basics +o Advanced Features +o 6. Collision Detection and Physics +o 9. Power-Ups and Items +o 11. Audio and Sound Effects +o 12. Saving and Loading Progress +• Database and Debugging +o Database - Tutorial Plan +o Database - Tutorial +o Debugging in VScode +• Tutorials and Documentation +o Mouse Button - Tutorial +o Getting Started With Sprite Layering In Splashkit - Tutorial +o Building the SplashKit Core Library with CMake - Tutorial +o Key Code - Tutorial +o Audio Series - Tutorial Proposals +o Sprite functions - Tutorial Plan +o Sprite Event Handler - Tutorial +o Input Handling - Tutorial Plan +o Key Callback - Tutorial +• Project Management and Repository +o Review Existing Code and select features to keep +o Design Tutorial +o Game Concept +o New Game - SRS +o Move Tutorials to new repo +o Create Documentation Standards +o Create New Programme - Tutorial Plan +SplashKit Online +• Browser based IDE +o Based on code mirror, Can compile and run code in the browser (not using +Splashkit Library) +• Login Page Using Google o'auth +5.3. Roadmap +See Card Status in Backlog for Additional details and Completed Research Cards. +SplashKit Arcade +• Create an automated game download system for Arcade Machines +o The proposed system will use the Arcade-games Repo to check for updates in +the game version and download the latest version +o Games should have a Publish tag or similar to be loaded to the main menu. +o Have a secondary game menu for test games/non-published. +35 +• Updates to Arcade Menu +o Presently the Arcade machine uses Emulation Station forked from the +RetorPI project version. https://github.com/thoth-tech/ArcadeMenu +o Create a new system for test games +o See if we can modify the EM menu for the following +▪ Trigger Game download scripts +▪ Additional modes +▪ Kiosk – Only show Published Games (for Events) +▪ Normal – Has Published and Test Systems +o Via script or other method have games exit after 10 min's if there's been no +key Input +• Stretch Goals/Interesting ideas +• Consider a local Test Mode – Arcade Switches to AP mode displays connection +info (random password) and has a web server student can drop new game build +on and tests. The machine Would delete the game and reset after a period of +time. +o Security would be a big consideration on this idea as it would be easy to +abuse and not much in the way of logging vs official upload via Git Hub. +• Implement a voting system on the Arcade Machine to give meaning to the star +ranking. +• Arcade Games – GitHub Actions +o Correct C# for Arm (this should be done; see trello card for Status) +▪ Dotnet does not run correctly in the Emulated PI environment +used for C++ games. New Action was created for compiling dotnet +vs Arm games small bug in checking logic to be fixed before +merge. +o Update Arcade – Games Readme +▪ Updated Controle to correctly reflect the Arcade machine +▪ Updated on new Compiling Process +▪ Instruct that All Game Assets must go into the Resources Folder +(Action does try to capture root directories like images, sound, +etc.) This includes level maps etc., or they won't upload to Arcade +Machines +o Implement Versioning for compiled games. +▪ A simple version file in the games directory receives an +incremental bump every time the game is updated so the Arcade +knows to get the latest version. +▪ This file can also contain additional information for the Arcade +Menu. (Author, Publisher, other) +o Retrieve and Compile Games from SubModules +o Formalise Process with Deakin Staff on how Students from Classes like +SIT102 or SIT771 can upload games to the Arcade Machine +▪ Barrier will be using GitHub for new students, especially as this +will use submodules. +▪ Consider creating scripts to automate the linking of sub-modules +• Move All games to Sub-Modules +36 +o Games made by Toth-Tech should be moved to their own repo, (or we +can consider a separate Company if we don't want to crowd the Githubn +too Much) +o This will potentially allow Linking to Other Student Repos. +Splashkit Expansion +• Priority Items Deployment Packages +o Debian Package. +o Nuget Package. +o Brew Package. +• Check for Further Functions from Swin games to port into splashkit. +• Fix Python Compatbility +o Python can no longer be used to code games with SplashKit. Previous +research indicates a change with v3.8; see here. +• Look at Adding AI function to SplashKit +o Can look at LLMs like ChatGPT +o Similar Functions to https://scikit-learn.org/ +• Dev Container Mac +o As most SplashKit Programs have a visual component and not browser-based +based, we need a way to view the program's window output. This is normally +accomplished by xserver forwarding and sound via pulse audio. +o mac xquartz is a xserver compatible with Mac Instaitl Tests container that can +be setup and run x based programs e.g. xeyes but there is a compatibility +issue with the graphics system in SplashKit. Further investigation is needed. +• SplashKit.io +o Publish Astro Starlight site +▪ The Aim will be to convert Splashkit.io to our new webpage platform +▪ Advise getting a subdomain like new.splashkit.io (or similar) setup for +testing, and Transition will just be a DNS change then) +o Thorough documentation of the new site is needed +o The Existing SplashKit.io may have a function to auto-update the API pages +based on functions added to SplashKit. This should be investigated and +replicated in the new site. +• Game Engine +o Project Setup: Create a streamlined project setup process for easier +onboarding and development. +o Camera System: Implement a flexible and efficient camera system to handle +different views and perspectives. +o Transforms: Develop a system for handling object transformations like +translation, rotation, and scaling. +o Event System: Design an event system for handling game events in an +extensible manner. +o Input Handling System: Implement a robust input handling system to manage +user interactions. +• Documentation Migration +37 +o As the company is moving to a new documentation repository a data +Migration will need to occur between the existing documentation repo and +the new one. +o Work with company operations to plan the migration, but the SplashKit team +needs to move the existing document over (also consider it a good +opportunity to clean house and archive older information) +SplashKit Tutorials +Backlog +• Game Development +o High Level Design +o Complete Demo Game +o 8. Creating a 2D "Metroidvania" Game - Enemies and Combat +o 10. Creating a 2D "Metroidvania" Game - Level Design and Progression +o 13. Creating a 2D "Metroidvania" Game - Polishing and Finalization +o 7. Creating a 2D "Metroidvania" Game - Camera Movement, Parallax and +Depth +• Tutorials and Documentation +o Understanding SplashKit Manager - (SKM) Shell Commands - Tutorial +o Project Structure and Initialization +• Roadmap (Future Plans) +o Integrate different stages of "Creating a 2D 'Metroidvania' Game" for +cohesiveness and consistency. +o Complete remaining tutorials +o Plans for new tutorials, ensuring total Splashkit Functionality +5.4. Open Issues +1. Running SplashKit Programs Full Screen in WSL causes dropped Frames +a. This affects Native SplashKit installs and Windows Dev Containers +2. Arcade Machines Contoles Frezing +a. After some time the actual arcade machine controls become +unresponsive see Trello Card +3. Below the Surface Code needs to be merged back to Build a Game Repo. (from +Acracde-Game Repo) +5.5. Source Code +Documentation +• Core Documentation Repository: +o https://github.com/thoth-tech/documentation/tree/main/docs/Splashkit +38 +Arcade +• Arcade-games, Keeps Compiled Games: +o https://github.com/thoth-tech/arcade-games +• Arcade Menu – Fork of Retropies Emulation Station +o https://github.com/thoth-tech/ArcadeMenu +• Games +o DXBallGame: https://github.com/thoth-tech/DXBallGame +o Asteroids: https://github.com/thoth-tech/Asteroids +SplashKit Expansion +• SplashKit Core +o https://github.com/thoth-tech/splashkit-core +• SKM +o https://github.com/thoth-tech/skm +• SplashKit Starlight (new Splashkit.io) +o https://github.com/thoth-tech/splashkit-starlight +• SplashKit-Game-Engine +o https://github.com/thoth-tech/SplashKit-Game-Engine +• SplashKit Dev Container +o https://github.com/thothtech/documentation/tree/main/docs/Splashkit/DevEnviroment/Windows_D +evContainer +• SplashKit Translator (Translates the SplashKit C++ source into another language.) +o https://github.com/thoth-tech/splashkit-translator +Tutorials +• SplashKit Tutorial +o https://github.com/thoth-tech/SplashKit-Tutorial +• VoidBound (Tutorial Game) +o https://github.com/thoth-tech/Voidbound +Online +• Splashkit Online +o https://github.com/thoth-tech/SplashkitOnline +Older Repos That may be useful +• Build a game Team (Below the Surface Source Repo) +o https://github.com/thoth-tech/build-a-game-team +• SplashKit Games and Tutorials +o https://github.com/thoth-tech/SplashKit-Games-and-Tutorials +• arcade-machine (Orginal Menu system for Arcade, Would be nice to get it running +was reported as having perforamce issues but might work ok form CLI only mode) +o https://github.com/thoth-tech/arcade-machine +39 +6. Product - CourseFlow +CourseFlow aims to assist students in planning and comprehending the requirements and +structuring of university courses. Users can generate and adjust their CourseMap to account +for changes. For instance, a student will be able to see their expected graduation date or +complications that may arise if they complete units in a particular order or study load. +Students are also able to use the ‘discovery’ page to find units or electives that are relevant +to their course, interests, and career goals. Units are represented as dots and units that are +more like each other or to a particular field such as law or art are grouped together. +The project overall aims to assist students in planning out how they will complete their +course and adjust for changes that will affect their course plan. +6.1. Team Members and Their Key Achievements +Key Achievements (Pull Request links) Team member +Unit dialog popup by keyruhn · Pull Request #27 · thothtech/CourseFlow (github.com) +Header and unitcard component by keyruhn · Pull Request #20 · +thoth-tech/CourseFlow (github.com) +Kieron Boyle +Custom clustering-based network layout algorithm for determining +initial unit node positions by Vortrox · Pull Request #31 · thothtech/CourseFlow (github.com) +Network layout algorithm by Vortrox · Pull Request #26 · thothtech/CourseFlow (github.com) +Add backend API endpoints by Vortrox · Pull Request #23 · thothtech/CourseFlow (github.com) +Mel David Bugay +Discovery page pre calculated nodes implementation by +cmarktopher · Pull Request #33 · thoth-tech/CourseFlow +(github.com) +Discovery page ngx graph by cmarktopher · Pull Request #32 · thothtech/CourseFlow (github.com) +Docker integration by cmarktopher · Pull Request #25 · thothtech/CourseFlow (github.com) +https://github.com/thoth-tech/CourseFlow/pull/17 +Ngx graph vs d3.js by cmarktopher · Pull Request #410 · thothtech/documentation (github.com) +Mark Enriquez +Login form and registration form (Frontend) by OmarHassanzada · +Pull Request #28 · thoth-tech/CourseFlow (github.com) +Hazratomar +Hassanzada +40 +CourseFlow Login and Registration Page Development Report by +OmarHassanzada · Pull Request #431 · thoth-tech/documentation +(github.com) +2FA-Documentation by OmarHassanzada · Pull Request #374 · thothtech/documentation (github.com) +Documentation Images Markdown by codeJdawg · Pull Request #38 +· thoth-tech/CourseFlow (github.com) +Create Discovery Page Function.md by codeJdawg · Pull Request #37 +· thoth-tech/CourseFlow (github.com) +Create Docker Research.md by codeJdawg · Pull Request #35 · thothtech/CourseFlow (github.com) +Create Analytics Page Design.md by codeJdawg · Pull Request #34 · +thoth-tech/CourseFlow (github.com) +Create Contribution.md by codeJdawg · Pull Request #21 · thothtech/CourseFlow (github.com) +Jaden Doss +Implemented Pop Up Designs, Add Functional Close Button, Update +JSON file that consists all relavent data by wmvoon · Pull Request #30 +· thoth-tech/CourseFlow (github.com) +Included All Designs from Figma by wmvoon · Pull Request #373 · +thoth-tech/documentation (github.com) +Wei Min Voon +Updates (Look at description) by SoVinhou · Pull Request #29 · thothtech/CourseFlow (github.com) +Log in client demo branch by SoVinhou · Pull Request #22 · thothtech/CourseFlow (github.com) +Sovinhou Ung +Side Bar integration and added features by CynthiaChee · Pull +Request #36 · thoth-tech/CourseFlow (github.com) +Create CourseFlow_SideBar.png by CynthiaChee · Pull Request #403 +· thoth-tech/documentation (github.com) +Add Figma prototype screenshots (Timetable View and Analytics +View) by CynthiaChee · Pull Request #372 · thothtech/documentation (github.com) +Cynthia Yi Min Chee +41 +6.2. Completed Deliverables +Course Map +Contributing Team Members +Design work by: Kieron Boyle, Cynthia Yi Min Chee, Wei Min Voon +Technical work by: Kieron Boyle, Cynthia Yi Min Chee, Wei Min Voon +Summary of Deliverables +• Finalised UI design on Figma +o The Figma project has pages divided into finalised designs as well as drafts. +• Base implementation of the CourseMap page and dynamically displaying the core +units for a specific course (read from the json file) +o There is a limit of 4 units displayed in each row of a the ‘unit-container div’ +This is since there is generally a maximum of 4 units per trimester. +o The ‘unit card’ for a unit can be clicked on. A dialog box will then open that +contains more information about the specific unit. +• Web scraped data on courses and units have been sectioned into relevant json files. +o There is a file containing only Bachelor of Computer Science units, a file with +data for all units and a file for all courses. +▪ The course data contains the core units for a course. The unit data +contains the unit summary, prerequisites, assessments, GLO’s and +more. +Deliverable Location +At this stage, this current main implementation of the CourseMap Page is present in this +branch of the CourseFlow repository: +https://github.com/thoth-tech/CourseFlow/tree/dev/webpage-merging/Frontend +This will later be merged into the development branch: +https://github.com/thoth-tech/CourseFlow/tree/development +The current Figma designs can be located here: +https://www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +Discovery +Contributing Team Members +42 +Design work by: Cynthia Yi Min Chee and Wei Min Voon +Write up by: Jaden Doss +Technical work by: Mark Enriquez +Summary of Deliverables +• Create a UI for the ‘Discovery’ view page. +• Base implementation of the ‘Discovery’ view page and visualising the data +completed using d3.js: +o The graph-based map has been implemented which supports data (unit data +for example) with pre-calculated x and y positions. +▪ Pre-calculated x and y positions are done via algorithms on the +backend. +o A text-based list which serves as an alternative to the graph-based map is +also implemented which supports this data. +o Nodes on the graph are clickable which brings up a detailed panel to show +more information. +▪ Links to a node such as related units (pre-requisites etc.) are available +as buttons which can be clicked to bring up that node’s information. +▪ Transition animation is also present from node to node. +• Other implementations of the Discovery Page is also available: +o A force-directed, hierarchical based graph using d3.js. +o A force-directed graph using the ngx-graph library. +Deliverable Location +Main Pre-Calculated Position based Implementation using d3.js +At this stage, this current main implementation of the Discovery Page is present in this +branch of the CourseFlow repository: +https://github.com/thoth-tech/CourseFlow/tree/dev/webpage-merging +This will later be merged into the development branch: +https://github.com/thoth-tech/CourseFlow/tree/development +Other Implementations - Force-directed, hierarchical based graph using d3.js +https://github.com/thoth-tech/CourseFlow/tree/prototype/discovery-page-force-sim-graph +Other Implementations – Ngx-graph +https://github.com/thoth-tech/CourseFlow/tree/research/discovery-page +43 +User authentication +Contributing Team Members +Hazratomar Hassanzada and Sovinhou Ung +Summary of Deliverables +• Created a UI login of the CourseFlow website +• Backend that stores the log in details of the user +o This has been implemented via firebase +▪ The log in information can be accessed via the firebase account log in +which has been provided under the login credentials. +Deliverable Location +https://github.com/thoth-tech/CourseFlow/tree/dev/authentication +Backend +API endpoints +Contributing Team Members +Mel Bugay +Summary of Deliverables +- Created API endpoints to allow the frontend webpages to get unit data from the +database +Deliverable Location +Add backend API endpoints by Vortrox · Pull Request #23 · thoth-tech/CourseFlow +(github.com) +Unit network layout algorithm +Contributing Team Members +Mel Bugay +Summary of Deliverables +- Created a custom network layout algorithm to determine where units should be +initially positioned on the unit discovery webpage in Python. +44 +- The algorithm works by calculating the similarity between two units based on factors +such as their unit code, year level, and university faculty +- The clustering-based variant of this algorithm uses DBSCAN to assign each unit to +clusters based on their similarity to each other, then calculates the layout of each +cluster using the Kamada-Kawai algorithm. The clusters are then combined together. +- The stochastic gradient descent variant uses the Tensorflow and Keras libraries to +create a neural network that calculates the optimal positions of nodes. +- The optimal x and y position of each node can be optimized using a custom loss +function. +- The SGD prototype was abandoned in favour of the clustering-based variant because +the math required to create a visually pleasing layout was too difficult for anyone in +the team to understand and work on. +Deliverable Location +Clustering based: +Custom clustering-based network layout algorithm for determining initial unit node +positions by Vortrox · Pull Request #31 · thoth-tech/CourseFlow (github.com) +Neural network/stochastic gradient descent-based prototype: +Network layout algorithm by Vortrox · Pull Request #26 · thoth-tech/CourseFlow +(github.com) +Docker +Contributing Team Members +Write up by: Jaden Doss +Technical work by: Mark Enriquez +Summary of Deliverables +• Created a Docker image containing a complete development environment for the +frontend. +Deliverable Location +https://github.com/thoth-tech/CourseFlow/tree/development +6.3.Roadmap +Course Map +45 +• The user needs to be able to edit a specific year of their coursemap. +o The year ‘container’ should have an icon that the user can click that opens a +small dialog box. +o From this the user would be able to change or alter the coursemap for that +specific year. For instance, the number of trimesters the user will study, The +study load for the year etc +• The user needs to be able to edit a specific trimester of their coursemap. +o The year ‘trimester’ should have an icon that the user can click that opens a +small dialog box. +o From this the user would be able to change or alter the coursemap for that +specific trimester. For instance, the number of units in the trimester the +student will undertake. +• There needs to be functionality that allows users to add or edit a unit +o For instance, a user can enter in a unit code to a specific trimester. If the unit +is able to be studied in that trimester and all prerequisite units will be +complete prior then the unit can be added into the trimester. +• The ‘side menu’ has a variety of sub sections such as ‘overview’ and ‘edit +coursemap’. The contents of these sections need to be expanded on +o +Discovery +• Now that we have a base implementation, work can be done on optimizing the +graph. +o Despite using pre-calculated positions, rendering over 3000 nodes/units is +still quite laggy. +• We need to connect this to a backend endpoint. +o At this stage, this is reading data from a JSON file. +• Width and height of the graph is fixed, and we need to introduce responsiveness to +different screen sizes. +o This applies to the whole page in general and not just the graph. +o Will need to improve transition animations from node to node as it seems +screen sizes can impact this feature. +• Some modifications to the front-end code might be required depending on the +layout algorithm on the backend. +o The layout algorithm on the backend is still being worked on and may impact +the frontend. +Analytics +• An implementation of this component in Angular is required. +46 +o It may even be determined that this section isn’t required and can be added +as a sub-feature of the CourseMap page. +Backend +Measuring unit similarity based on its description +- Use an AI based approached to determine how similar two units are to each other +based on their description. +- This would allow the unit discovery page to cluster units that are more similar to +each other in a way that is more meaningful. +- Some proposed ways to achieve this include: +o Using a bag-of-words approach. In this approach we assume that units that +are similar to each other will share keywords with each other. +o Using pre-trained word embeddings. This allows unit with descriptions that +contain words that are semantically similar to each other to be considered +more similar to each other. +o Using pre-trained language models. +Web-scrapers to get unit information directly from the university site +- The current unit data we have is outdated or incomplete, so it would be nice if we +could update it using a custom-built web-scraping tool that gathers unit data directly +from the university’s handbook webpage +Docker +• Enhance the Docker related files to incorporate the Backend once it is ready. +o The plan is to have two separate containers for the frontend and backend. +6.4. Open Issues +Technical issues +- We are still working on getting a reliable source of unit/course data through a +combination of web-scraping and using language models. The current source of this +data is either given to us by Deakin staff (which has limited information) or sourced +ourselves from the 2019 university handbook PDF file (which is unreliable) +- The layout of units as nodes on the discovery page is still a WIP. We created a +somewhat working layout algorithm but not completely satisfied with it yet. +- Need to set up a CI/CD pipeline for the project once it matures some more. This +includes setting up a Docker network for the backend. (We have a docker image for +developing the frontend but I’m talking about making one for deploying CourseFlow) +47 +- Most of the code in the project lacks any form of automated testing. +- Frontend webpages need to communicate with the backend to get unit information +from the database instead of hardcoding this information in the code or loading it +from a JSON file. The webpages currently load this information into the webpage +through services in Angular, so we should be able to easily replace these with new +services that communicate with the backend. +- The user authentication webpages aren’t communicating with the rest of the +backend system at all, they’re communicating directly with an online database +hosted by Firebase. This part of the authentication which belongs to the backend is +written in Typescript instead of C# like the rest of the backend. We need to rewrite +the authentication webpages to bring user authentication under the control of the +backend system and address these two issues. +Project issues +- Need to create streamlined instructions for setting up a development environment +and contributing to the project for future capstone members. Some work on this has +already been done in the project’s README.md and Contributing.md files in the +project repository’s root folder. +- There is a lot of work to be done on CourseFlow, however this trimester we had a lot +of difficulty in breaking down the tasks into smaller ones that could be distributed to +team members. +- Most members joining the project had very limited or no experience in using Git or +GitHub. As product leads, we were able to give them enough training to contribute +code to the main repository through pull requests, however the lack of experience +limited members’ ability to directly collaborate on code together. If they needed to +collaborate on code, most members shared the code by directly sending files to each +other for most of the trimester. +6.5. Source Code +GitHub repository +CourseFlow’s GitHub repository: https://github.com/thoth-tech/CourseFlow/ +All CourseFlow’s source code can be found in the GitHub repository. +Research and documentation +Most of CourseFlow’s research and documentation can be found at Thoth Tech’s +documentation repository documentation/docs/Courseflow at main · thothtech/documentation (github.com). +Some documentation about the code is kept at CourseFlow’s main repository at +CourseFlow/Documentation at development · thoth-tech/CourseFlow (github.com). +48 +Webpage prototypes +Prototypes of CourseFlow’s webpages are kept on Figma at +https://www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +6.6. Login Credentials +CourseFlow’s GitHub repository: https://github.com/thoth-tech/CourseFlow +You will need a GitHub account to contribute to the code. To contribute code, contact +CourseFlow’s product lead to gain write access or open a pull request to this repository. If +you are the product lead, contact Thoth Tech’s director to gain admin permissions for the +repository. +Firebase Login: +Email: courseflowfirebase@gmail.com +Password: _Courseflow@8756 +Figma: https://www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +Sign in with a Figma account to get edit access. +6.7. Other Relevant Information +Repository structure +In the CourseFlow repository, we follow a structured branch management approach to +ensure efficient and organized development. +Main Branch: The main branch within the CourseFlow repository holds stable versions of +the application. Access to this branch is restricted to repository maintainers and admins, +and contributors are required to submit pull requests (PRs) for changes. This strict control +helps maintain a reliable and deployable codebase. +Development Branch: The development branch is where ongoing work and new features +are integrated. Contributors make PRs to this branch, and it undergoes continuous +integration and testing to ensure code quality. Contributors with maintainer or admin +permissions have the option to push minor commits directly to the development branch for +swift updates. +Feature Branches: For specific tasks or features, contributors create feature branches +derived from the development branch. Feature branches isolate individual work, allowing + customCss: ["./src/styles/custom.css"], social: { github: "https://github.com/thoth-tech", @@ -49,7 +2347,7 @@ export default defineConfig({ }, { label: "Templates", - autogenerate: { + autogenernpate: { directory: "processes/quality-assurance/templates", }, }, diff --git a/src/content/docs/teams-and-leadership/Thoth Tech progress report b/src/content/docs/teams-and-leadership/Thoth Tech progress report new file mode 100644 index 00000000..e69de29b From c3bbeddc9823301394c7baff1cdabe1069ab889f Mon Sep 17 00:00:00 2001 From: victoriaokoro <143893109+victoriaokoro@users.noreply.github.com> Date: Mon, 4 Dec 2023 12:14:17 +1100 Subject: [PATCH 02/19] theo tech progress report --- .../Thoth Tech progress report | 2585 +++++++++++++++++ 1 file changed, 2585 insertions(+) diff --git a/src/content/docs/teams-and-leadership/Thoth Tech progress report b/src/content/docs/teams-and-leadership/Thoth Tech progress report index e69de29b..97028b30 100644 --- a/src/content/docs/teams-and-leadership/Thoth Tech progress report +++ b/src/content/docs/teams-and-leadership/Thoth Tech progress report @@ -0,0 +1,2585 @@ +import { defineConfig } from "astro/config"; +import starlight from "@astrojs/starlight"; +import starlightBlog from "starlight-blog"; + +// https://astro.build/config +export default defineConfig({ + integrations: [ + starlightBlog(), + starlight({ + title: "Thoth Tech progress report", + + Deakin University +Capstone Team Project (B) +OnTrack Submission +Company Handover and Showcase +Submitted By: +Daniel Maddern +maddernd +Tutor: +Andrew Cain +Group Members: +maddernd Daniel Maddern ����� +ungso Sovinhou Ung ���� +chulme Chloe Eloise Hulme ����� +siva Sivasamyuktha Selvarajuh ��� +qvcao Quoc Vi Cao ��� +cynt Cynthia Yi Min Chee ��� +saurellia Swanny Aurellia ��� +wvoon Wei Min Voon ��� +ongr Ro Wern Ong ���� +hhassanzada Hazratomar Hassanzada ���� +djsutherland Dylan Sutherland � +kaboyle Kieron Anthony Boyle ����� +jdoss Jaden Doss ��� +s221071083 Jayant Jayant ��� +mbugay Mel David Bugay ����� +anellippillijos Anirudh Nellippilli Joshi � +kdadams Kyle David Adams ��� +nharty Norman Harty ��� +dryzner Dominic Robert Ryzner ��� +roussoren Riley Michael Oussoren ��� +singhind Inderdeep Singh ���� +sfrehman Syed Faiq ur Rehman ���� +s222574652 Philip Williams ����� +s221199844 Nidhisha Ravindra Pahade � +quazis Sanah Quazi ��� +s221519423 Thando Loliwe �� +hhalls Harney Halls ��� +aghilesharasu Aghilesh Arasu � +s221071216 Sherap Thakur � +September 27, 2023 +Produced by Doubtfire +2 +Thoth Tech Showcase Video Links +Company (Thoth tech) Showcase Video: https://video.deakin.edu.au/media/t/1_kd7o8aft +Company Operations Showcase Video: https://video.deakin.edu.au/media/t/1_yrgrebdj +OnTrack Showcase Video: https://video.deakin.edu.au/media/t/1_qtqbi271 +Art Gallery Showcase Video: https://video.deakin.edu.au/media/t/1_1gei2x0y +1 + + + + + +Product Handover and +Showcase Document +Thoth Tech +Trimester 2, 2023 +2 +Table of Contents +1. Leadership Team................................................................................................................4 +1.1. Company Directors ....................................................................................................4 +1.2. Student Leadership ....................................................................................................4 +1.3. Updated Company Organization Chart......................................................................4 +1.4. Company Showcase Video.........................................................................................5 +2. Products - Company Operations........................................................................................5 +2.1. Team Members and Their Key Achievements...........................................................6 +2.2. Completed Deliverables.............................................................................................9 +2.3. Roadmap....................................................................................................................9 +2.4. Open Issues..............................................................................................................10 +2.5. Source Code .............................................................................................................10 +2.6. Login Credentials......................................................................................................10 +2.7. Other Relevant Information.....................................................................................10 +2.8. Showcase Video .......................................................................................................11 +3. Product – OnTrack ..........................................................................................................11 +3.1. Team Members and Their Key Achievements.........................................................13 +3.2. Completed Deliverables...........................................................................................20 +3.3. Roadmap..................................................................................................................21 +3.4. Open Issues..............................................................................................................22 +3.5. Source Code .............................................................................................................22 +3.6. Login Credentials......................................................................................................22 +3.7. Other Relevant Information.....................................................................................22 +3.8. Showcase Video .......................................................................................................22 +4. Product – Art Gallery .......................................................................................................22 +4.1. Team Members and Their Key Contributions..........................................................23 +4.2. Completed Deliverables...........................................................................................24 +4.3. Roadmap..................................................................................................................26 +4.4. Open Issues..............................................................................................................26 +4.5. Source Code .............................................................................................................26 +4.6. Login Credentials......................................................................................................27 +4.7. Other Relevant Information.....................................................................................27 +3 +4.8. Showcase Video .......................................................................................................27 +5. Product - Splashkit...........................................................................................................28 +5.1. Team Members and Their Key Achievements.........................................................28 +5.2. Completed Deliverables...........................................................................................31 +5.3. Roadmap..................................................................................................................34 +5.4. Open Issues..............................................................................................................37 +5.5. Source Code .............................................................................................................37 +6. Product - CourseFlow.......................................................................................................39 +6.1. Team Members and Their Key Achievements.........................................................39 +6.2. Completed Deliverables...........................................................................................41 +6.3. Roadmap..................................................................................................................44 +6.4. Open Issues..............................................................................................................46 +6.5. Source Code .............................................................................................................47 +6.6. Login Credentials......................................................................................................48 +6.7. Other Relevant Information.....................................................................................48 +4 +1. Leadership Team +1.1. Company Directors +• Andrew Cain, Managing Director +• Glory Lee, Managing Director +1.2. Student Leadership +• Daniel Maddern – Product Lead for OnTrack +• Daniel Maddern & Chloe Hulme – Product Lead for Art Gallery +• Mel David Bugay & Kieron Anthony Boyle – Product Leads for Courseflow +• Phil Williams – Product Lead for Splash Kit +• Onyedikachi Okorie - Product Lead for Company Operations +1.3. Updated Company Organization Chart +5 +1.4. Company Showcase Video +https://video.deakin.edu.au/media/t/1_kd7o8aft +2. Products - Company Operations +This team oversees the entire operations of Thoth Tech and strives to make things easier. We +aim to make the onboarding process as smooth and clear as possible, as well as increase the +knowledge of our seniors in meaningful ways while creating policies to improve the wellbeing +of all company employees. In the short term, we would like to create new documentation, +policies, workflows, and processes that are relevant to improve the company’s outlook and +overall productivity. In the long term, we aim to store documentations in a dedicated website +(Docusaurus) to make it easy to push updates, new features, and bug fixes to everyone +without the need to gain access to our GitHub repository. +Projects +• Documentation Website: The goal of this project is to deliver a website that serves +as a location for all company documents, this would help eradicate document +management and retrieval issues ensuring everyone has full access to the +documents they need to function in the company. +• Policy creation: The goal of this project is to create policies that would guide every +member of Thoth Tech in using tools and technologies adopted by the company. This +focuses on areas like GitHub, Trello, creating documents, using the Documentation +website, and so on. +• Documentation: This involves documenting every work and activity necessary for +project and business continuity. Every plan and outcome for a project is being +documented and currently stored in the Company Operations GitHub repository, the +end goal is for all documentation to be stored in the documentation website being +created (Starlight). +Aims for Trimester +• Develop a policy for git-workflow. +• Create a policy for Trello and the processes associated with it. +• Describe and document the steps required to progress a change through a product. +6 +• Introduce a new onboarding document for the Ontrack product. +• Explore the use of Docusaurus for storing documentation. +• Generate code standard to be used for all product deployment. +• Ensure group OnTrack tasks are completed to a satisfactory standard. +• Write a list of new tasks for the documentation team to begin building. +Deliverables +• Generated policies to be implemented by the company. +• Deploy Docusaurus for company use. +• Migrate all documentations to Docusaurus. +• Develop general standards for the company in all areas that apply. +2.1. Team Members and Their Key Achievements +Key Achievements (Pull Request links) Team +member +Created Company Operations repository on Thoth Techs GitHub account and created a +folder structure. +folder update by Kachi-Okorie · Pull Request #1 · thoth-tech/Company-Operations +(github.com) +Onyedik +achi +Okorie +Generated a guideline on how to associate Trello cards with GitHub. +add-github-actions-to-trello by Kachi-Okorie · Pull Request #2 · thoth-tech/CompanyOperations +Converted 2.1P Task to markdown and published on GitHub. Add Company Catalogue - +KO by Kachi-Okorie · Pull Request #4 · thoth-tech/Company-Operations (github.com) +Create an Issues Resolution folder and updated it with issues faced with found +resolution. +Add-Issue-Resolutions-KO by Kachi-Okorie · Pull Request #5 · thoth-tech/CompanyOperations (github.com) +Created a hosting plan for Docusaurus and performed a test on Render (a web hosting +platform). +Docusaurus Hosting Plan & Render Outcome - KO by Kachi-Okorie · Pull Request #7 · +thoth-tech/Company-Operations (github.com) +Created GitHub Management policy. +GitHub Company Policy-KO by Kachi-Okorie · Pull Request #10 · thoth-tech/CompanyOperations +7 +Created a folder for Starlight project and populated it with the folders, templates, +modules, and other resources required to create the documentation website. +Add-Starlight-Project-KO by Kachi-Okorie · Pull Request #11 · thoth-tech/CompanyOperations (github.com) +Added the Process, Teams, and leadership pages on Starlight. +Adding teams n leadership page to Starlight - KO by Kachi-Okorie · Pull Request #14 · +thoth-tech/Company-Operations (github.com) +Code and Built Policy Page on Starlight +https://github.com/thoth-tech/Company-Operations/pull/18 +https://github.com/thoth-tech/Company-Operations/pull/19 +Fix Netlify Check Issue on GitHub +https://github.com/thoth-tech/documentation/pull/390 +Added Starlight project to Documentation repo +https://github.com/thoth-tech/documentation/pull/406 +Migrate Products documentations to Starlight. +https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/2 +https://github.com/thothtech/documentation/commit/9b4a65ad4aec4df11e15a809213fcc03f5c2273a +https://github.com/thothtech/documentation/commit/c3d019b064428896070719de3bbeee6da097f505 +Create and Populate News Page on Starlight +https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/5 +Update Onboarding Document to Contain Welcome Package Info +https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/6 +Create a Google form for Assigning New Students to Products +https://forms.gle/c9HPFvDRAUon9uEk9 +Create an Instructional Video on How to Upload Documents to Starlight +https://deakin365.sharepoint.com/:v:/r/sites/ThothTech2/Shared%20Documents/Gen +eral/Instructional%20Video%20- +%20How%20To%20Upload%20Documents%20to%20Starlight.mp4?csf=1&web=1&e= +6JHZnd +Created logo for Company Operations. +Company-Operations/images/CompanyOps-logo.png at main · thoth-tech/CompanyOperations (github.com) +Created Spike documentations for using Docusaurus as a documentation website. +Docusaurus research by QuinnCurtis02 · Pull Request #3 · thoth-tech/CompanyOperations (github.com) Quinn +Created High-level prototypes for the documentation website interfaces. Curtis +Add UI desing samples by QuinnCurtis02 · Pull Request #12 · thoth-tech/CompanyOperations (github.com) +8 +Researched on various documentation platforms to determine the one that meets +Thoth Techs requirement. +Add documentation platform research by QuinnCurtis02 · Pull Request #13 · thothtech/Company-Operations (github.com) +Created Starlight landing page and product page. +added home page and products to starlight by QuinnCurtis02 · Pull Request #15 · thothtech/Company-Operations (github.com) +Created a basic landing and products page for the documentation project. +https://github.com/thoth-tech/Company-Operations/pull/15 +Themed the documentation site with a focus on the products page. +https://github.com/thoth-tech/documentation/pull/384 +Moved the starlight project to a new repo and updated Astro version. +https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/1 +Researched the proper platform for hosting the documentation website. +https://github.com/thoth-tech/Company-Operations/pull/24 +Documented learnings from investigating various documentation platforms. +Docs: knowledge base prior learning and test documentation by Kyle-Dav · Pull Request +#9 · thoth-tech/Company-Operations (github.com) +Kyle +Adams +Improved the side navigation bars on Starlight. +updated starlight config for sidebar -KA by Kyle-Dav · Pull Request #16 · thothtech/Company-Operations (github.com) +Produced basic landing pages for all products. +Docs/md to mdx landing by Kyle-Dav · Pull Request #4 · thoth-tech/ThothTechDocumentation-Website (github.com) +filled out the landing pages -KA by Kyle-Dav · Pull Request #3 · thoth-tech/ThothTechDocumentation-Website (github.com) +Collaborated on the research for documentation platforms. +Add documentation platform research by QuinnCurtis02 · Pull Request #13 · thothtech/Company-Operations (github.com) +Created test documentation to temporarily fill knowledge base. +docs: created ExampleDocMD and ExampleDocRJS · Kyle-Dav/thothoperations@15e3c66 (github.com) +Docs: knowledge base prior learning and test documentation by Kyle-Dav · Pull Request +#9 · thoth-tech/Company-Operations (github.com) +Started the testing for changing product repository. +Move updated Starlight to the documentation repo root on Company Operations | +Trello +Created Onboarding document and conducted research on Docusaurus +https://github.com/thoth-tech/Company-Operations/pull/17 +Harshita +Shroff +Drafted documentation policy for Company – Thoth Tech +9 +https://github.com/thoth-tech/Company-Operations/pull/22 +Created guide on how to use Starlight (Company’s Documentation website) +https://github.com/thoth-tech/Company-Operations/pull/23 +Created project progress policy +https://github.com/thoth-tech/Company-Operations/pull/23 +Created upskilling document for Javascript, Angular, Typewrite, Material library for CSS +https://github.com/thoth-tech/Company-Operations/pull/23 +Documented requirements for documentation website +https://github.com/thoth-tech/Company-Operations/pull/23 +Converted the 6.1P task into markdown for retaining information for further reference. +https://github.com/thoth-tech/Company-Operations/pull/25 +2.2. Completed Deliverables +• Created Spike plan and Outcomes for documentation Platforms. +• Designed and built the documentation website on Starlight. +• Populated the documentation website with required information. +• Created an instructional video for using Starlight. +• Produced a Trello Management Policy +• Produced a GitHub Management Policy +• Produced an Onboarding/Welcome documentation for new students. +• Generated a Documentation Policy. +• Creation of an Upskilling Document +• Created Spike Outcome for Render as a Hosting platform. +• Documented a step-by-step procedure on how to upload documents to Starlight. +• Successfully compiled and submitted 2.1P, 6.1P, and 11.1P tasks. +• Researched Netlify as a free hosting platform and created Spike document. +• Successfully hosted documentation website on Netlify - https://main--strong-fairyc1bde1.netlify.app/ +2.3. Roadmap +• Containerize the documentation website project. +• Launch the Documentation website. +• Conduct a company wide workshop on how to upload documentations to the +website. +• Enforce the use of the policies created this trimester (T2/2023). +• Choose a password management system for Thoth Tech. +• Update Netlify (Web hosting platforms) to use the Directors credentials. +• Move the documentation website to the documentation repository. +10 +2.4. Open Issues +When the documentation website is deployed on the documentation repository, the +website is published as seen through the Netlify portal however, the Netlify checks on +GitHub keeps failing. +2.5. Source Code +Projects, documentations, and other artifacts produced by the Company Operations team +can be found using the following links. +• Company Operations Repo: thoth-tech/Company-Operations (github.com) +• Thoth Tech Documentation Website Repo: https://github.com/thothtech/ThothTech-Documentation-Website +• Company Operations folder in the Documentation Repo: +documentation/docs/Company Operations at main · thoth-tech/documentation +(github.com) +2.6. Login Credentials +The only account used by Company Operations that requires login credentials is the Netlify +account for hosting Thoth Techs documentation website. This is currently authenticated +using Onyedikachi Okories credentials; however, a backlog item has been created to use the +directors’ credentials – Andrew Cain. +2.7. Other Relevant Information +• Trello Board link: Company Operations | Trello +• Documentation Website: Welcome to Thoth Tech! (main--strong-fairyc1bde1.netlify.app) +• GitHub Policy: GitHub Management Policy (main--strong-fairy-c1bde1.netlify.app) +• Trello Management Policy: Trello Management Policy (main--strong-fairyc1bde1.netlify.app) +• Onboarding/Welcome Documentation: Thoth Tech Welcome Package (main--strongfairy-c1bde1.netlify.app) +• Onboarding Form: https://forms.gle/c9HPFvDRAUon9uEk9 +• Upskilling Documentation: Company-Operations/Company Policy/Upskilling +document.md at main · thoth-tech/Company-Operations (github.com) +• Documentation Policy: Company-Operations/Company Policy/Documentation +Policy.md at main · thoth-tech/Company-Operations (github.com) +• Instructional Video on Using Starlight: +https://deakin365.sharepoint.com/:v:/r/sites/ThothTech2/Shared%20Documents/G +eneral/Instructional%20Video%20- +11 +%20How%20To%20Upload%20Documents%20to%20Starlight.mp4?csf=1&web=1&e +=s26lMo +2.8. Showcase Video +Long video: https://video.deakin.edu.au/media/t/1_yrgrebdj +3. Product – OnTrack +This trimester Ontrack will be working dynamically across a variety of projects. We will be +working based on a priority system to get as many useful changes implemented as possible +in the trimester. +We will be breaking each project into smaller subcomponents to allow people to work +across projects in areas that are strong at or interested in. Everything should be completable +in a 2-week sprint. +Projects +• Numbas Integration – We are integrating the Numbas mathematics tests into the +Ontrack Workflow, so tests can be taken during the submission process and can be +incorporated into the workflow to complete a submission based on passing or failing +the test. +• Migration Front End – We have migrated a lot of our components to the later +version of Angular, however there still a range of components that need to be +migrated to FX layout with Tailwind. +• Terminators – This a project to resolve bugs that are in the system, there are a few +key ones we want to focus on first, and any additional bugs will also be added into +this backlog. +• Improvers – This a project to enhance some of our existing features with new +functionality, there are a range of different features we want to enhance. +• Inventors – This project is to scope out and start the build of new features we want +including in the system, again there is a range of new features, and they are at +various stages of development. +12 +• Data Analytics – This project has taken a step back, we will be reviewing the +progress last trimester and coming up with a new project plan and design on how we +want to deliver this. +• Attendance Module – We want to create an attendance module; in that you can use +SSO from different organisations like google/GitHub or other universities to log into +the system. +Aims for Trimester +• Complete the Numbas Integration into Ontrack +• Migrate legacy Angular components to FX layout with tailwind (Migrators) +• Feature enhancements (Terminators) +• Feature enhancers (Improvers) +• New Features (Inventors) +• Data Analytics - New project plan, review of previous work completed, New Project +Aims document. +• Authentication module – Design and plan for the module to be built. +Deliverables +Our main deliverables will be based on story points completed in the Trello tasks; we are +aiming for students to complete between 5-6 Story points every 2-week sprint. +Short Term Deliverables (This trimester): +• Numbas PoC Completed +• Numbas direct integration 70% complete +• 50% of Angular migration completed. +• All bugs resolved. +• New features mapped out ready for next trimester. +• Review of Data Analytics and Plan to move it forward. +• Scope for Authentication Module +Long Term Deliverables (Ongoing): +13 +• All Angular migrations completed. +• Enhance features mapped out in Trimester. +• Develop new features. +• Create Data Analytics platform. +• Authentication Module created. +• Card Scan Attendance Project +3.1. Team Members and Their Key Achievements +Full Name Sprint Contribution GitHub Link Story +Points +Total +Story +Points +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +hero-sidebar +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-hero-sidebar +2 +19 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +footer +https://github.com/syedfai +q/doubtfireweb/commit/cb900e2cbdfe +7ee9fcdffada63ceb6c62081 +f30f +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +user-badge +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-user-badge +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - signin +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-sign-in +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +audio-player +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindaudio-player +2 +Syed Faiq ur +Rehman +Sprint 2 +Code +Review +Spike - +Investigate +running Dev +container and +code base in +CodeSpaces +3 +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replace2 +14 +intelligentdiscussionplayer +fx-layout-with-tailwindintelligent-discussion-player +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +intelligentdiscussion-dialog +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindintelligent-discussion-dialog +2 +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +discussionpromptcomposer +https://github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwinddiscussion-promptcomposer +2 +Jayant Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +task-commentcomposer +https://github.com/thothtech/doubtfire-web/pull/69 +2 +22 +Jayant Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +extensioncomment +https://github.com/thothtech/doubtfire-web/pull/70 +2 +Jayant Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - editprofile-form +https://github.com/jayant3 +1j/doubtfireweb/tree/refactor-editprofile-tailwind +2 +Jayant Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - unitdropdown +https://github.com/thothtech/doubtfireweb/pull/85/ +2 +Jayant Sprint 4 +Review +Replace fxlayout with +tailwind +equivalent - +task-assessmentcomment +https://github.com/thothtech/doubtfireweb/pull/102 +2 +Jayant Sprint 4 +Review +Migrate +"ConfirmationM +odal" +https://github.com/thothtech/doubtfireweb/pull/100 +3 +Jayant Sprint 4 +Review +Add testing - +Angular Service - +learninghttps://github.com/thothtech/doubtfire-web/pull/95 +3 +15 +outcome.service. +ts +Jayant Sprint 4 +Review +Add testing - +Angular Service - +tutorialstream.service.ts +https://github.com/thothtech/doubtfireweb/pull/97/files +3 +Jayant Sprint 4 +Review +Add testing - +Angular Service - +unitrole.service.ts +https://github.com/thothtech/doubtfireweb/pull/96/files +3 +Devanshi +Patel +Sprint 1 +Complete +Incorporate +content in +OnTrack +https://github.com/thothtech/documentation/pull/3 +38 +5 +23 +Devanshi +Patel +Sprint 2 +Code +Review +Create UML - +Incorporate +Content +https://github.com/ptldev0 +2/documentation/commit/f +7dcb01a1f3367ed443564f9 +c7f87bcc0b9b6b3d +3 +Devanshi +Patel +Sprint 2 +Code +Review +Gather +requirements - +Incorporate +Content in +Ontrack +https://github.com/ptldev0 +2/documentation/commit/ +0c6dbd9c1711e5c88a18f39 +774123dc2e4c4df5e +3 +Devanshi +Patel +Sprint 3 +Review +Design +Documentation - +Incorporate +Content +https://github.com/ptldev0 +2/documentation/commit/ +afbe585267e66df97ac06eff +b944e86c5562b360 +3 +Devanshi +Patel +Sprint 3 +Review +Design Feature - +Incorporate +Content +https://github.com/ptldev0 +2/documentation/commit/ +39356e3b9a7649778cf1543 +86c1cdc8d1d5e191e +3 +Devanshi +Patel +Sprint 3 +Review +UML Diagrams +and UI designs - +Tutor Times +https://github.com/thothtech/documentation/pull/4 +26 +3 +Devanshi +Patel +Sprint 4 +Review +Spike - Frontend +Documentation +Investigation +https://github.com/ptldev0 +2/documentation/commit/ +3e74dcc732c96308bbe83d +0794b2651e4649a363 +3 +DYLAN +SUTHERLAN +D +Sprint 1 +Complete +Review T1 Data +Analytics, create +back log +5 +8 +DYLAN +SUTHERLAN +D +Sprint 3 +Complete +Setup Ontrack - +Removable Hard +drive - Ubuntu +3 +Onyedikachi +Okorie +Sprint 1 +Complete +Integrate Trello +Board with +GitHub +https://github.com/thothtech/CompanyOperations/commit/5373d +652ab705c75cd0c3f584f0c +46686c3be9f6 +1 +1 +Brian Caldera Sprint 1 +Complete +Staff grant +extensions - +Create backlog +5 +31 +16 +Brian Caldera Sprint 2 +Complete +Create UML +diagrams and UI +wireframes for +the new feature +- Staff Grant +Extension +https://github.com/thothtech/documentation/pull/3 +68 +3 +Brian Caldera Sprint 2 +Complete +Documentation +(Design and +UML) - Staff +Grant Extensions +https://github.com/thothtech/documentation/pull/3 +57 +3 +Brian Caldera Sprint 2 +Complete +Documentation +(Requirements +and Testing) - +Staff Grant +Extension +https://github.com/thothtech/documentation/pull/3 +35 +3 +Brian Caldera Sprint 2 +Complete +Feature : Tutor +times +5 +Brian Caldera Sprint 3 +Complete +Design +Document +Backend - Tutor +Times +https://github.com/thothtech/documentation/pull/4 +24 +3 +Brian Caldera Sprint 3 +Complete +Requirements +Document Front +End - Tutor +Times +https://github.com/thothtech/documentation/pull/3 +89 +3 +Brian Caldera Sprint 3 +Complete +Design +Document Front +End - Tutor +Times +https://github.com/thothtech/documentation/pull/4 +13 +3 +Brian Caldera Sprint 3 +Complete +Requirements +Document Back +End - Tutor +Times +https://github.com/thothtech/documentation/pull/3 +92 +3 +Cao Quoc Vi Sprint 2 +Code +Review +Spike - Test +Production +Environment +From windows +https://github.com/thothtech/documentation/pull/4 +11 +3 +19 +Cao Quoc Vi Sprint 2 +Code +Review +Spike - Explore +video integration +using Panopto +https://github.com/thothtech/documentation/pull/4 +12 +3 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +staff-task-list +https://github.com/thothtech/doubtfire-web/pull/79 +2 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent -taskdashboard +https://github.com/thothtech/doubtfire-web/pull/81 +2 +17 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +microphonetester +https://github.com/thothtech/doubtfire-web/pull/78 +2 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +calendar-modal +https://github.com/thothtech/doubtfire-web/pull/80 +2 +Cao Quoc Vi Sprint 2 +Complete +Update Angular +UI-Router hybrid +Angular support +https://github.com/caoquo +cvinq/angular-hybrid.git +5 +Inder Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +home +https://github.com/SinghAI/doubtfireweb/commit/dc68dccab83 +9124ef69b76a2543bd9861 +09899f2 +2 +34 +Inder Sprint 2 +Code +Review +Convert PDF for +long lines. +https://github.com/thothtech/doubtfire-api/pull/8 +5 +Inder Sprint 2 +Complete +Research Spike - +Report on data +analytics tools +https://github.com/thothtech/documentation/pull/3 +52 +3 +Inder Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - +welcome +https://github.com/SinghAI/doubtfireweb/commit/6bb98916dab +519fe8bd0b6ac3dc6007c43 +c80e84 +2 +Inder Sprint 3 +Review +switch all alert +service use to +new angular +alert service +https://github.com/SinghAI/doubtfireweb/commit/a97b4dd008e +9a519c69aeebbdc797dc04f +b06f78 +3 +Inder Sprint 4 +Review +Add testing - +Angular Service - +group.service.ts +https://github.com/SinghAI/doubtfireweb/commit/4d743a32c59f +103c6449f6572c296468fab +c94f6 +3 +Inder Sprint 4 +Review +Alert on +extension +request for +group tasks +https://github.com/SinghAI/doubtfireweb/commit/b83dfb7ca60 +299f72c809fbaadda8240ad +4c282f +5 +Inder Sprint 4 +Review +New Featureadjust the +automatic +extension on +"resubmit" +https://github.com/SinghAI/doubtfireapi/commit/5b53a6eb6839 +ffafbe03445715a6b6488dd +34dac +5 +18 +Inder Sprint 4 +Review +Add testing - +Angular Service - +Activity Type +https://github.com/SinghAI/doubtfireweb/commit/4b927734678 +f4b1cfc30d08854be56271f +ecf1f2 +3 +Inder Sprint 4 +Review +Add testing - +Angular Service - +groupset.service.ts +https://github.com/thothtech/doubtfire-web/pull/99 +3 +SANAH +QUAZI +Sprint 2 +Complete +Design a way to +improve the +group Task +submission. +https://github.com/thothtech/documentation/pull/3 +56 +3 +19 +SANAH +QUAZI +Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - +inbox-comment +https://github.com/thothtech/doubtfire-web/pull/83 +2 +SANAH +QUAZI +Sprint 3 +Complete +Requirements to +incorporate +multiple +organisations on +a single OnTrack +server +https://github.com/thothtech/documentation/pull/3 +87 +5 +SANAH +QUAZI +Sprint 3 +Complete +Test Scenario +Documentation +and +Requirements +https://github.com/thothtech/documentation/pull/3 +96 +3 +SANAH +QUAZI +Sprint 3 +Complete +Design +Documentation - +Incorporate +Multiple +Organizations +https://github.com/thothtech/documentation/pull/4 +01 +3 +SANAH +QUAZI +Sprint 3 +Complete +Create UML +Diagram for the +Incorporate +Multiple +Organizations +feature +https://github.com/thothtech/documentation/pull/4 +02 +3 +BRYAN +TAING +Sprint 3 +Review +Identify and +reject encrypted +PDFs on upload +https://github.com/Mango +S9/doubtfireapi/commit/2b412057f431f +f7bf48008a81724e5131c57 +7684 +5 +10 BRYAN +TAING +Sprint 3 +Review +extend the +group lock +feature to allow +students in a +group to "Lock" +and unlock the +group +5 +19 +Daniel +Maddern +Sprint 3 +Complete +Design +Document +Backend - Tutor +Times +https://github.com/thothtech/documentation/pull/4 +24 +3 +77 +Daniel +Maddern +Sprint 4 +Complete +Create Python +Script to export +Trello JSON +https://github.com/thothtech/documentation/pull/4 +36 +3 +Daniel +Maddern +Numbas - +CodeReview +Build Angular +Service to work +with Numbas API +- Stream tests +https://github.com/thothtech/doubtfireweb/tree/add-numbasintegration +3 +Daniel +Maddern +Numbas - +CodeReview +Ontrack - Build +Spec test for +LMS service. +https://github.com/thothtech/doubtfireweb/commit/45ee07c132b +22decc21e4130a46934f7bb +1ec2a7 +3 +Daniel +Maddern +Numbas - +Complete +PoC - Review +Completed test +https://github.com/thothtech/NumbasPoC/pull/10 +5 +Daniel +Maddern +Numbas - +Complete +PoC- Save +answers on new +test issue +https://github.com/thothtech/NumbasPoC/tree/enh +ance/first-resume-issue +5 +Daniel +Maddern +Numbas - +Complete +Abstract LMS +function to +service in PoC +https://github.com/thothtech/NumbasPoC/tree/feat +/AbstractLMSFunctions +3 +Daniel +Maddern +Numbas - +Complete +PoC- Change +front end to use +xhr to fix +synchronicity +issues. +https://github.com/thothtech/NumbasPoC/pull/9 +5 +Daniel +Maddern +Numbas - +Complete +PoC- Adjust +Backend to +offset some get +test logic +https://github.com/thothtech/NumbasPoC/commit/ +eeafca513a3d46216332d0a +3909671af5b2887ce +3 +Daniel +Maddern +Numbas - +Complete +PoC - Save Test https://github.com/thothtech/NumbasPoC/tree/feat +/downloadnumbastest +5 +Daniel +Maddern +Numbas - +Complete +Save Suspend +Data in Commit +https://github.com/thothtech/NumbasPoC/tree/conf +igure-save-test-fe +5 +Daniel +Maddern +Numbas - +Complete +PoC - Save Score https://github.com/thothtech/NumbasPoC/pull/4 +5 +Daniel +Maddern +Numbas - +Complete +Ontrack Back +End Changes +UML +https://trello.com/c/0YU +wD7aO/50-ontrack-backend-changes-uml +3 +Daniel +Maddern +Numbas - +Complete +New Endpoint - +Save test -POC +https://github.com/thothtech/NumbasPoC/tree/addsave-test-api +5 +Daniel +Maddern +Numbas - +Complete +Setup maria DB +in PoC for save +test API +endpoint +https://github.com/thothtech/NumbasPoC/pull/4 +3 +20 +Daniel +Maddern +Numbas - +Complete +Find a way to +convert code +from using +SCORM1.1 to +SCORM 2004. +https://github.com/thothtech/NumbasPoC/tree/upd +ate/convert-scorm2004 +5 +Daniel +Maddern +Numbas - +Complete +Dev Containers +for Windows - +Change Rails/DB +to use docker file +system +5 +Daniel +Maddern +Numbas - +Complete +Spike - +Understand how +the Numbas +Code interact +with our code. +https://github.com/thothtech/documentation/pull/3 +16 +3 +Daniel +Maddern +Numbas - +Complete +Meeting with +Numbas to +discuss save test +state +1 +Daniel +Maddern +Numbas - +Complete +Video guide on +setting up +Ontrack +https://video.deakin.edu. +au/media/t/1_6degiyrj +1 +Daniel +Maddern +Numbas - +Complete +Feature Numbas +Integration - +Exploration +1 +Daniel +Maddern +Numbas - +Complete +Update +contributing +documentation +to show usage of +devcontainer +https://github.com/thoth +-tech/doubtfiredeploy/blob/developmen +t/CONTRIBUTING.md +2 +Sonam +chewang +DORJI – +Shadow(DM +Sprint 4 +Review +Refactor and +improve +authentication +service code +#738 +https://github.com/doubtfi +re-lms/doubtfireweb/pull/738 +5 +8 +Sonam +chewang +DORJI – +Shadow(DM +Sprint 4 +Review +adding unit +testing for +tutorialService +3 +3.2. Completed Deliverables +• Incorporate content in OnTrack – Requirements document created +• Numbas PoC system completed +• Numbas Backend Integration and DB changes completed +• Numbas Front End Integration partially completed. +• Review of T1 Data Analytics and backlog created +21 +• Trello board integrated with GitHub +• Staff grant extensions – backlog created +• UML diagrams and UI wireframes for Staff Grant Extension feature created +• Design and UML documentation for Staff Grant Extension feature created +• Requirements and testing documentation for Staff Grant Extension feature created +• Design for a way to improve group task submission created +• Research spike done for a report on data analytics tools +• Angular UI-router hybrid angular support updated +• Instruction document on setting up OnTrack in bootable Ubuntu hard drive created +• Requirements documentation, test scenario documentation, design documentation +and UML diagram created for incorporating multiple organisations on single OnTrack +server +• Requirements documentation for front-end and back-end along with design +documentation created for feature Tutor Times +• Python script created to export Trello JSON into a CSV +3.3. Roadmap +The current road map for Ontrack is quite broad, however there are a few key projects that +we want to focus on next trimester, first you can view all the backlogs on the Trello board +with their associated tasks: +https://trello.com/invite/b/IKabVmzt/ATTIdf935d63730a48bee701a76b199f48fc61BF23A8/ +ontrack +The Key projects we would like to see movement on next trimester would be: +1. Improvements Backlog – This backlog has core improvements to the system we want +to see. +2. Ontrack Bugs Backlog – These are bugs that are found and added to this backlog. +3. New Feature – Incorporate Content – Ideally, we have an additional 2 designs of +how this would work. It's not ready to code just yet. +4. New Feature – Staff Grant Extensions – Ideally, we have an additional 2 designs of +how this would work. It's not ready to code just yet. +5. New Feature – Tutor Times – Ideally, we have 2 additional designs on how this +would work. It's not ready to code just yet. +6. Backlog Urgent Enhancements – These are important changes we are looking to get +done asap. +22 +7. Documentation – We want to focus on updating the Front and Backend +Documentation and testing in the next trimester. This will help students and other +users better understand the system and how it works. +3.4. Open Issues +• Getting the system running, some students had issues getting Ontrack setup, we +have made a lot of videos and documentation to aid this as well as implemented a +development container but it's still an issue. +• Understanding OnTrack's UML and how new features link into it. +• Upskilling to work on a complex Angular/Rails system – We have provided training +videos and links to upskill. +• Testing code and Pull requests – there have been issues with making pull requests as +per the documentation provided, as this is a live system it's important to fully ready +and understand the requirements when making a PR. +• Using GitHub, GitHub is new to some students and can be quite tricky to get working +how you want. There were several videos and training sessions to help this. +3.5. Source Code +• Doubtfire Web - https://github.com/thoth-tech/doubtfire-web +• Doubtfire Api - https://github.com/thoth-tech/doubtfire-api +• Doubtfire Deploy - https://github.com/thoth-tech/doubtfire-deploy +• Thoth Tech Documentation - https://github.com/thoth-tech/documentation +3.6. Login Credentials +https://github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md +3.7. Other Relevant Information +Branching & Pull request formating +https://github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md +3.8. Showcase Video +Video showcase: https://video.deakin.edu.au/media/t/1_qtqbi271 +4. Product – Art Gallery +Indigenous and rural artists often face barriers in accessing the broader market, limiting +their opportunities for income and recognition. Our platform seeks to eliminate these +23 +barriers by leveraging modern technology to empower artists to reach a wider consumer +base, while bringing diverse cultures together. +We aim to deliver a highly available and scalable ecommerce platform that will allow for +ease of sale of artwork by small local artists. We plan to do this with our easily maintained +C# minimal RESTful API, Vue frontend, and our suite of other technologies used in +streamlining the development pf our product. +4.1. Team Members and Their Key Contributions +Key Achievements (Pull Request links) Team member +Deployment Strategy Report Ayan Masood +Continuous Delivery Research Ayan Masood +Mock CI/CD Pipeline Ayan Masood +Continous Integration Research Ayan Masood +Cybersecurity Policy for Deployment using GCP Ayan Masood +Preliminary Proposal for GCP Usge Ayan Masood +Product Logo Redesign Edwin Shibu +Figma Board for Frontend Redesign Avenue Joju, Ben Thomas, +Edwin Shibu, Amos Saji +UCD Research Avenue Joju +Frontend Performance Improved (Lighthouse scores) Sivasamyuktha A +Selvarajuh +Research and Review of IIIf Dominic Ryzner +Cybersecurity Strategies for Deployment Dominic Ryzner +Integrate Auto Compile Checks in CI Workflow Chloe Hulme +Create Pre-request Scripts in Postman Testing Chloe Hulme +Postmam README Chloe Hulme +Asynchrony Research Chloe Hulme +.NET 8 Migration Research Chloe Hulme +CI/CD Technologies Research Chloe Hulme +.NET 8 Migration plus Test for Breaking Changes Chloe Hulme +Migrating Docker Containers to Account for .NET 8 Migration Chloe Hulme +Deployment Progress Update Report Chloe Hulme +IRepository ExecuteReaderAsync Method Chloe Hulme +Adding Price to Database and API on Artworks Chloe Hulme +Adding Price to Artwork Card Component Chloe Hulme +Modifying Artworks to be in Gallery View + Lightbox Chloe Hulme +Implement asynchrony on RP/artwork context Chloe Hulme +Implement asynchrony on RP/artist context Chloe Hulme +Implement asynchrony on RP/media context Chloe Hulme +24 +Upgrade logic on Delete end points Chloe Hulme +Add asynchrony on end points relating to middleware (Artist +Context) Chloe Hulme +Implement asynchrony on RP/exhibition context Chloe Hulme +Implement asynchrony on RP/user context Chloe Hulme +Test asynchronous RP implementations Chloe Hulme +4.2.Completed Deliverables +Ayan was responsible for preparing the product for deployment. In his work this trimester, +he has produced several spike reports, a finalized deployment strategy for us to implement +next trimester, and a mock CI/CD pipeline for us to use as a guide. He has also helped to +select our deployment platform (GCP) and has created a cybersecurity policy for our team +to advise us on use of GCP. All completed deliverables can be found on GitHub. +• CI/CD Pipeline: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CICDPipeline.md +• CI/CD Pipeline Integration Overview: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CICDPipelineOvervie +w.md +• Cybersecurity Policy: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CybersecurityPolicy.m +d +• Deployment Strategies: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/DeploymentStrategie +s.md +• Preliminary Proposal: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/PreliminaryProposal. +md +Ben, Avenue, Edwin and Amos have been working on developing our front end this +trimester. Edwin provided a redesigned logo for us, and he and the rest of the team set up a +Sigma board for us to use in our redesign process. Avenue has also done some research into +UCD for us to use as a guide. Completed deliverables can be found on GitHub and in Figma. +• Figma Board: https://www.figma.com/file/ohaBXjzqNTWRMFtmulTr01/Artgallery?type=design&node-id=0%3A1&mode=design&t=J0qbicuMWi3lZn5C-1 +• Redesigned Logo: +https://github.com/ajoju/documentation/commit/29888067b662da062e22c9f0ba8c +ba458cef1a27 +• Research into UCD: +https://github.com/ajoju/documentation/commit/bf49dff5b91586aa4baff29b31ce3 +a123c11cee0 +25 +Sivasamyuktha has been working on our Lighthouse reporting scores. This has involved +reviewing the changes advised by our previous Lighthouse report, then upskilling JavaScript, +HTML and CSS to improve our Lighthouse scores. Our performance score has improved by +over 20%. All completed deliverables can be found on GitHub. +• Minify CSS and JS code: https://github.com/thoth-tech/artgallery/pull/40/commits/7fb35b39812902949203b5da7aa2588793213cca +• Lazy Routing: https://github.com/thoth-tech/artgallery/pull/40/commits/dc91b126e2dfc3e6e9174d44a8d547a24c1808ad +• Implementing Tree shaking with Ant Design: https://github.com/thoth-tech/artgallery/pull/40/commits/35d5df4e068ddfdfbed9506f830c388b0f08632f +• Updated Lighthouse Scores: https://github.com/thothtech/documentation/blob/main/docs/ArtGallery/Lighthouse%20Project/T22023- +updated-lighthouse-report.pdf +Dominic has been working on integrating IIIF into our API. He has done in depth research +into making this possible and provided us with several review documents. In addition to +this, he has also provided us with cybersecurity strategies for our deployment, this includes +research into the payment system we will need to integrate, and safe storage of user data +and login credentials. All completed deliverables can be found on GitHub. +• All documents can be found here: https://github.com/thothtech/documentation/pull/429/files +Chloe has been responsible for upgrading the backend this trimester. She has migrated the +API to .NET 8, and updated the requisite Docker containers to account for this change. She +has also integrated asynchrony into the Repository Pattern of the API, and created some +automated test scripts in Postman to thoroughly test each endpoint. She has also made +some significant changes to the frontend in preparation for InnoFes. This includes +implementing a gallery style view for artwork display, and a Lightbox to showcase individual +artworks. She has also ensured that the price of each artwork can be displayed, which +required adding a column to the artwork table in the database, then updating the API and +frontend to include this change. All completed deliverables can be found on GitHub. +• Asynchrony integration: Implement asynchrony on RP/media context, Implement +asynchrony on RP/artwork context, Implement asynchrony on RP/exhibition +context, Implement asynchrony on RP/user context, Implement asynchrony on +RP/artist context, IRepository ExecuteReaderAsync Method +• Migration to .NET 8: .NET 8 Migration plus Test for Breaking Changes, Migrating +Docker Containers to Account for .NET 8 Migration +26 +• Postman testing: Create Pre-request Scripts in Postman Testing, Postmam +README, Test asynchronous RP implementations +• Frontend changes: Modifying Artworks to be in Gallery View + Lightbox +• Including Price on Artworks: Adding Price to Artwork Card Component, Adding +Price to Database and API on Artworks +4.3. Roadmap +To be completed: +• Integrate IIIF into API for better quality image display +• Implementing redesign of Front end web app +• Deploying the product +• Integrating payment system into front end +• Integrate Postman tests into GitHub Actions CI workflow +In progress: +• Continued redesign of Frontend web app. We only have some pages redesigned +at the moment, and these are not yet finalized. We need to finalize our upgraded +designs. +• Continue to implement lighthouse recommendations. We have improved +performance related scores but need to work on our other scores still. +4.4. Open Issues +• The team itself is quite small with certain members lack coding expertise for the +next phase of the application. It may be hard to achieve what we want to with +this project without recruiting individuals with stronger coding skills, given that +the application is still in its infancy. +• Automated testing needs to be implemented in our CI workflow in GitHub +Actions, faulty code had been pushed in our repository and resulted in our app +breaking. At present, we still do not have a thorough way to prevent this from +happening again. +4.5. Source Code +All of our source code is stored in GitHub in our art-gallery repository. +27 +Our redesigns are done in our Figma +board: https://www.figma.com/file/ohaBXjzqNTWRMFtmulTr01/Artgallery?type=design&node-id=0%3A1&mode=design&t=J0qbicuMWi3lZn5C-1 +Our Postman collection can be found here: https://www.postman.com/thoth-tech +If there is trouble locating or accessing or Postman space, Andrew has been added as Admin +and will be able to help. +4.6. Login Credentials +Database - username: postgres, password: PostgreSQL +4.7. Other Relevant Information +Documentation and research regarding deployment is extensive with many helpful +resources on errors and checks related to CI/CD as well. Using these resources will help and +streamline the deployment of the application. +Implementing the automated testing in the CI workflow will be really helpful, we had some +issues this trimester with students pushing code that broke the application. It is a strong +recommendation that preventing this be made a focus early in the following trimester. +Integrating a payment system into our frontend should be a focus as well, given that this is +the entire business model of our platform. +If students wish to work on ‘documentation only’ projects, or do not have strong frontend +programming skills, it is advised they select a different project to work on. +If there are any technical issues in developing the project, Max is a great help and should be +a port of call for the product lead when advice is needed. +We have 3 implementations in our API, however the only one in use is ‘repository pattern’. +Please disregard the other versions as they are now legacy. The client would still like to keep +these implementations in our repo, however they are to be ignored! +4.8. Showcase Video + +The Art Gallery in 4 minutes: https://video.deakin.edu.au/media/t/1_1gei2x0y +28 +5. Product - Splashkit + +Splashkit is an all-purpose toolkit for beginners built in C++ and can be used with C++ and +C#. Deakin University uses it to introduce students to programming through its easy-to-use +functions. +As part of the Splashkit team, you will be responsible for expanding the toolkit functions, +developing improved and innovative ways of working with Splashkit and creating +educational documents and videos for students. +Core Projects +• Splashkit Arcade +o Splashkit Arcade is a platform for students to feature games built using +splashkit. The university has four arcade units at its Deakin campus for this +purpose. +o Project Goals +▪ Have arcade machines running with a menu system. +▪ System to allow students to upload and test their games. +• Splashkit Expansion +o Our general project that covers modification and expansion of Splashkit, +Updates to Splashkit.io, development environments and packaging. +o Project goals +▪ Port functions from Swin games. +▪ Convert Splashkit.io to Astro Starlight platform. +▪ Create Debian, Brew and Nuget packages +▪ Dev Containers +▪ Splashkit Game Engine – New Initiative (consider splitting into new +project) +• Tutorials +o The Tutorials team is developing a series of tutorials that will help students +get started with SplashKit. +o Project Goals +▪ Individual Tutorials explaining how to use Splashkit Functions. +▪ Creating a 2D Metroidvania Game using splashkit – a tutorial series +showing how to build a game from start to finish using SplashKit. +• Splashkit Online +o An online environment to run SplashKit in a web browser +o Run and compile in the local browser, not using remote VM resources +o Project Goals +▪ Online IDE +▪ Compile and run code in a browser. +▪ Render audio and sound in a browser. +5.1. Team Members and Their Key Achievements +29 +SplashKit – Arcade Machine +Key Achievements (Pull Request links) Team member +Documents for Setting up an Arcade Machine #341 Philip Williams +Create Submodules for Asteroids and DXBallGame #89 Philip Williams +Update/below the surface controles #90 Philip Williams +GitHub Action compile C# Games (Windows, Linux) Philip Williams +DxBall Tweaks Philip Williams +Below The Surface - Update Controles Philip Williams +Asteroids Remove Mouse Add second forward Button Philip Williams +Arcade Machine Theme + Installation Documentation #361 Riley Oussoren +Emulation Station Idle Timer Investigation #404 Riley Oussoren +Runner Dash - clear screen and implement menu #101 Riley Oussoren +Venture Adventure 2nd and 3rd levels #102 Riley Oussoren +Below The Surface Ladder Behavior - temp fix and write up #96 Riley Oussoren +Asteroids Documentation Reformat Ashley Thompson +Below the Surface - Prevent Player 2 from Dieing when going off screen & +Adjusting ladder Behavior #97 +Bryan Taing +Asteroids - Difficulty Slider (UI) #4 Bryan Taing +Pi Emulation#435 Aditya Parmar +Asteroid Add Sound Coskun Kilinc +Asteroids Performance Optimisation Coskun Kilinc +Car Racing On Github KHUSHI LADDI +Add C# packaging to "Game Packaging" LOLIWE LOLIWE +DX-Ball Game, Exit game after 10 Min, Return to Title Screen from Score +Screen, DX Ball - Implement delay to make instant death less likely +Norman Spencer +Harty +Add scoreboard to DXBallGame #85 Norman Spencer +Harty +VentureAdventure - Create menu Systems +VentureAdventure - Create a how to play section Wenxuan Song +ARCADE-PING-PONG Pratham Gupta +30 +SplashKit – Expansion +Key Achievements (Pull Request links) Team member +Splashkit Windows Dev container #414 Philip Williams +Centre Point2D Camers(two Objects) #28 Bryan Taing +Add check for both sprites in AABB collision kind for Sprite-Sprite collision +function #24 +Ro-wern Ong +Collide functions #26 Ro-wern Ong +Post-porting Collides Alterations #27 Ro-wern Ong +WSL - Splash kit installation method Aditya Parmar +Game Engine: Logging Coskun Kilinc +Game Engine: Game Objects Coskun Kilinc +Game Engine: Components Coskun Kilinc +Design and Implement the SplashkitlnterfaceGen Tool Coskun Kilinc +Script Automation for Interface Generation Coskun Kilinc +User Documentation for SplashkitlnterfaceGen Tool Coskun Kilinc +Game Engine: IWindow Manager Coskun Kilinc +Fix Formatting and Code of Conduct Coskun Kilinc +Create automated interface generator for Splashkit Game Engine Coskun Kilinc +Fix Formatting and Code of Conduct Coskun Kilinc +Create automated interface generator for Splashkit Game Engine Coskun Kilinc +Splashkit Game Engine Initial Documentation Coskun Kilinc +Review Controle Schema matches arcade machine Swanny Aurellia +SplashKit – Tutorials +Key Achievements (Pull Request links) Team member +Publishing with Splashkit - C#/C++ Ashley Thompson +Getting Started With Sprites / Sprite Layering Ashley Thompson +Getting Started With Splashkit - Windows Tutorial Proposal Ashley Thompson +Getting Started With Sprites in Splashkit Tutorial - CSharp Ashley Thompson +Getting Started With SplashKit - C++/C# Ashley Thompson +Creating a Metroidvania game Tutorial - Player Character Basics, +Environment, Audio and Sound affects and Power ups and Items +Harney Halls. +Game Concept, 2D Racer features to keep and add, and 2D racer design +tutorial +Harney Halls. +Create tutorials for Cmake and Sprite Layering Tutorial #6 Bryan Taing +Audio Series - Tutorial Proposals Coskun Kilinc +2. Creating a 2D "Metroidvania" Game - Basic Drawing and Graphics Coskun Kilinc +1. Creating a 2D "Metroidvania" Game Using Splashkit - Overview, +Introduction and setup +Coskun Kilinc +New Game - SRS Coskun Kilinc +31 +Understanding CMakeLists.txt for Building the SplashKit Core Library - +Proposal +Coskun Kilinc +Understanding SplashKit Manager (SKM) Shell Commands - Tutorial +Proposal +Coskun Kilinc +Create Documentation Standards Coskun Kilinc +Debugging in VScode Kartik Kaushik +6. Creating a 2D "Metroidvania" Game - Collision Detection and Physics +5. Creating a 2D "Metroidvania" Game - Player Character Advanced +Norman Spencer +Harty +Database - Tutorial Plan Swanny Aurellia +Database - Tutorial Swanny Aurellia +12. Creating a 2D "Metroidvania" Game - Saving and Loading Progress Swanny Aurellia +Mouse Button - Tutorial Swanny Aurellia +Key Code - Tutorial Swanny Aurellia +SplashKit – Online +Key Achievements (Pull Request links) Team member +added the google verification for online splashkit #3 Anshuman Bishnoi +Update README.md (OutlIne and Requirments) Anshuman Bishnoi +api file for the web editor Anshuman Bishnoi +Final version of web editor Anshuman Bishnoi +Research documentation Sherap Thakur +5.2. Completed Deliverables +Please review the Team's Trello Board for a List of Completed Activities and details within +the cards. https://trello.com/b/3EpqqJ2R +SplashKit Arcade: +• Arcade Machine Base Image Built and Created – Instructions here +• Gold Image used for Deakin Open Day - Image Here, How to Create Here +• Showcase Game Adjustments (note not all updates are in Gold Image) +o Asteroids +▪ Controle Adjustments +▪ Basic Sound added +o DX Ball +▪ Controle Updates +▪ Score Screen Added +▪ Starting behaviour changed +▪ Exit Game After 10 Mins +o Below the Surface +▪ Change Ladder Behaviour +▪ Change the Camera in 2-player mode. +o Venture Adventure +32 +▪ Create End Game State +▪ Added Levels 2 & 3 +o Car Racer – Games Created +o Air Hockey – Game Created +• GitHub Actions updated to Compile C# games (Windows, Linux) +• GitHub Actions updated Compiled Games and Game Assets saved to CompiledGames Directory +• Raspberry Pi Emulation +SplashKit Expansion +• Added CircleCollide Test +• Port Collides Function Group +• Fix Sprite Collision Function - AABB collision Kind +• Centre Point2D Cameras (two Objects) +• Install Splashkit using WSL instructions +• Dev Container (Windows Only) +• Splashkit Starlight (New Website) +o Site built and existing SplashKit.io pages Transferred +o New Documentation Uploaded (WSL Install, Rasberry Pi Emulation) +• Game Engine +o Game Engine: Logging +o Game Engine: Game Objects +o Game Engine: Components +o Design and Implement the SplashkitlnterfaceGen Tool +o Script Automation for Interface Generation +o User Documentation for SplashkitlnterfaceGen Tool +o Game Engine: IWindow Manager +o Fix Formatting and Code of Conduct +o Create an automated interface generator for Splashkit Game Engine +o Fix Formatting and Code of Conduct +o Splashkit Game Engine Initial Documentation +o Splashkit Interfaces +▪ ./include/animations.h +▪ ./include/audio.h +▪ ./include/basics.h +▪ ./include/bundles.h +▪ ./include/camera.h +▪ ./include/circle_drawing.h +▪ ./include/circle_geometry.h +▪ ./include/clipping.h +▪ ./include/collisions.h +▪ ./include/color.h +▪ ./include/database.h +▪ ./include/drawing_options.h +▪ ./include/ellipse_drawing.h +33 +▪ ./include/geometry.h +▪ ./include/graphics.h +▪ ./include/images.h +▪ ./include/input.h +▪ ./include/json.h +▪ ./include/keyboard_input.h +▪ ./include/line_drawing.h +▪ ./include/line_geometry.h +▪ ./include/matrix_2d.h +▪ ./include/mouse_input.h +▪ ./include/music.h +▪ ./include/networking.h +▪ ./include/physics.h +▪ ./include/point_drawing.h +▪ ./include/point_geometry.h +▪ ./include/quad_geometry.h +▪ ./include/random.h +▪ ./include/rectangle_drawing.h +▪ ./include/rectangle_geometry.h +▪ ./include/resources.h +▪ ./include/sound.h +▪ ./include/sprites.h +▪ ./include/terminal.h +▪ ./include/text.h +▪ ./include/text_input.h +▪ ./include/timers.h +▪ ./include/triangle_drawing.h +▪ ./include/triangle_geometry.h +▪ ./include/types.h +▪ ./include/vector_2d.h +▪ ./include/window_manager.h +▪ +• New Game Engine Functionality +o Logger +o ConsoleLogger +o Renderer +o SplashkitRenderer +o GameStateManager +o GameStates +o GameObjects +o Components* +o Transforms* +Note: * indicates partially complete feature +SplashKit Tutorials +• 2D "Metroidvania" Game Creation +o Getting Started and Basics +o 1. Overview, Introduction and setup +34 +o 2. Basic Drawing and Graphics +o 3. Player Character Basics +o 4. Environment Design Basics +o Advanced Features +o 6. Collision Detection and Physics +o 9. Power-Ups and Items +o 11. Audio and Sound Effects +o 12. Saving and Loading Progress +• Database and Debugging +o Database - Tutorial Plan +o Database - Tutorial +o Debugging in VScode +• Tutorials and Documentation +o Mouse Button - Tutorial +o Getting Started With Sprite Layering In Splashkit - Tutorial +o Building the SplashKit Core Library with CMake - Tutorial +o Key Code - Tutorial +o Audio Series - Tutorial Proposals +o Sprite functions - Tutorial Plan +o Sprite Event Handler - Tutorial +o Input Handling - Tutorial Plan +o Key Callback - Tutorial +• Project Management and Repository +o Review Existing Code and select features to keep +o Design Tutorial +o Game Concept +o New Game - SRS +o Move Tutorials to new repo +o Create Documentation Standards +o Create New Programme - Tutorial Plan +SplashKit Online +• Browser based IDE +o Based on code mirror, Can compile and run code in the browser (not using +Splashkit Library) +• Login Page Using Google o'auth +5.3. Roadmap +See Card Status in Backlog for Additional details and Completed Research Cards. +SplashKit Arcade +• Create an automated game download system for Arcade Machines +o The proposed system will use the Arcade-games Repo to check for updates in +the game version and download the latest version +o Games should have a Publish tag or similar to be loaded to the main menu. +o Have a secondary game menu for test games/non-published. +35 +• Updates to Arcade Menu +o Presently the Arcade machine uses Emulation Station forked from the +RetorPI project version. https://github.com/thoth-tech/ArcadeMenu +o Create a new system for test games +o See if we can modify the EM menu for the following +▪ Trigger Game download scripts +▪ Additional modes +▪ Kiosk – Only show Published Games (for Events) +▪ Normal – Has Published and Test Systems +o Via script or other method have games exit after 10 min's if there's been no +key Input +• Stretch Goals/Interesting ideas +• Consider a local Test Mode – Arcade Switches to AP mode displays connection +info (random password) and has a web server student can drop new game build +on and tests. The machine Would delete the game and reset after a period of +time. +o Security would be a big consideration on this idea as it would be easy to +abuse and not much in the way of logging vs official upload via Git Hub. +• Implement a voting system on the Arcade Machine to give meaning to the star +ranking. +• Arcade Games – GitHub Actions +o Correct C# for Arm (this should be done; see trello card for Status) +▪ Dotnet does not run correctly in the Emulated PI environment +used for C++ games. New Action was created for compiling dotnet +vs Arm games small bug in checking logic to be fixed before +merge. +o Update Arcade – Games Readme +▪ Updated Controle to correctly reflect the Arcade machine +▪ Updated on new Compiling Process +▪ Instruct that All Game Assets must go into the Resources Folder +(Action does try to capture root directories like images, sound, +etc.) This includes level maps etc., or they won't upload to Arcade +Machines +o Implement Versioning for compiled games. +▪ A simple version file in the games directory receives an +incremental bump every time the game is updated so the Arcade +knows to get the latest version. +▪ This file can also contain additional information for the Arcade +Menu. (Author, Publisher, other) +o Retrieve and Compile Games from SubModules +o Formalise Process with Deakin Staff on how Students from Classes like +SIT102 or SIT771 can upload games to the Arcade Machine +▪ Barrier will be using GitHub for new students, especially as this +will use submodules. +▪ Consider creating scripts to automate the linking of sub-modules +• Move All games to Sub-Modules +36 +o Games made by Toth-Tech should be moved to their own repo, (or we +can consider a separate Company if we don't want to crowd the Githubn +too Much) +o This will potentially allow Linking to Other Student Repos. +Splashkit Expansion +• Priority Items Deployment Packages +o Debian Package. +o Nuget Package. +o Brew Package. +• Check for Further Functions from Swin games to port into splashkit. +• Fix Python Compatbility +o Python can no longer be used to code games with SplashKit. Previous +research indicates a change with v3.8; see here. +• Look at Adding AI function to SplashKit +o Can look at LLMs like ChatGPT +o Similar Functions to https://scikit-learn.org/ +• Dev Container Mac +o As most SplashKit Programs have a visual component and not browser-based +based, we need a way to view the program's window output. This is normally +accomplished by xserver forwarding and sound via pulse audio. +o mac xquartz is a xserver compatible with Mac Instaitl Tests container that can +be setup and run x based programs e.g. xeyes but there is a compatibility +issue with the graphics system in SplashKit. Further investigation is needed. +• SplashKit.io +o Publish Astro Starlight site +▪ The Aim will be to convert Splashkit.io to our new webpage platform +▪ Advise getting a subdomain like new.splashkit.io (or similar) setup for +testing, and Transition will just be a DNS change then) +o Thorough documentation of the new site is needed +o The Existing SplashKit.io may have a function to auto-update the API pages +based on functions added to SplashKit. This should be investigated and +replicated in the new site. +• Game Engine +o Project Setup: Create a streamlined project setup process for easier +onboarding and development. +o Camera System: Implement a flexible and efficient camera system to handle +different views and perspectives. +o Transforms: Develop a system for handling object transformations like +translation, rotation, and scaling. +o Event System: Design an event system for handling game events in an +extensible manner. +o Input Handling System: Implement a robust input handling system to manage +user interactions. +• Documentation Migration +37 +o As the company is moving to a new documentation repository a data +Migration will need to occur between the existing documentation repo and +the new one. +o Work with company operations to plan the migration, but the SplashKit team +needs to move the existing document over (also consider it a good +opportunity to clean house and archive older information) +SplashKit Tutorials +Backlog +• Game Development +o High Level Design +o Complete Demo Game +o 8. Creating a 2D "Metroidvania" Game - Enemies and Combat +o 10. Creating a 2D "Metroidvania" Game - Level Design and Progression +o 13. Creating a 2D "Metroidvania" Game - Polishing and Finalization +o 7. Creating a 2D "Metroidvania" Game - Camera Movement, Parallax and +Depth +• Tutorials and Documentation +o Understanding SplashKit Manager - (SKM) Shell Commands - Tutorial +o Project Structure and Initialization +• Roadmap (Future Plans) +o Integrate different stages of "Creating a 2D 'Metroidvania' Game" for +cohesiveness and consistency. +o Complete remaining tutorials +o Plans for new tutorials, ensuring total Splashkit Functionality +5.4. Open Issues +1. Running SplashKit Programs Full Screen in WSL causes dropped Frames +a. This affects Native SplashKit installs and Windows Dev Containers +2. Arcade Machines Contoles Frezing +a. After some time the actual arcade machine controls become +unresponsive see Trello Card +3. Below the Surface Code needs to be merged back to Build a Game Repo. (from +Acracde-Game Repo) +5.5. Source Code +Documentation +• Core Documentation Repository: +o https://github.com/thoth-tech/documentation/tree/main/docs/Splashkit +38 +Arcade +• Arcade-games, Keeps Compiled Games: +o https://github.com/thoth-tech/arcade-games +• Arcade Menu – Fork of Retropies Emulation Station +o https://github.com/thoth-tech/ArcadeMenu +• Games +o DXBallGame: https://github.com/thoth-tech/DXBallGame +o Asteroids: https://github.com/thoth-tech/Asteroids +SplashKit Expansion +• SplashKit Core +o https://github.com/thoth-tech/splashkit-core +• SKM +o https://github.com/thoth-tech/skm +• SplashKit Starlight (new Splashkit.io) +o https://github.com/thoth-tech/splashkit-starlight +• SplashKit-Game-Engine +o https://github.com/thoth-tech/SplashKit-Game-Engine +• SplashKit Dev Container +o https://github.com/thothtech/documentation/tree/main/docs/Splashkit/DevEnviroment/Windows_D +evContainer +• SplashKit Translator (Translates the SplashKit C++ source into another language.) +o https://github.com/thoth-tech/splashkit-translator +Tutorials +• SplashKit Tutorial +o https://github.com/thoth-tech/SplashKit-Tutorial +• VoidBound (Tutorial Game) +o https://github.com/thoth-tech/Voidbound +Online +• Splashkit Online +o https://github.com/thoth-tech/SplashkitOnline +Older Repos That may be useful +• Build a game Team (Below the Surface Source Repo) +o https://github.com/thoth-tech/build-a-game-team +• SplashKit Games and Tutorials +o https://github.com/thoth-tech/SplashKit-Games-and-Tutorials +• arcade-machine (Orginal Menu system for Arcade, Would be nice to get it running +was reported as having perforamce issues but might work ok form CLI only mode) +o https://github.com/thoth-tech/arcade-machine +39 +6. Product - CourseFlow +CourseFlow aims to assist students in planning and comprehending the requirements and +structuring of university courses. Users can generate and adjust their CourseMap to account +for changes. For instance, a student will be able to see their expected graduation date or +complications that may arise if they complete units in a particular order or study load. +Students are also able to use the ‘discovery’ page to find units or electives that are relevant +to their course, interests, and career goals. Units are represented as dots and units that are +more like each other or to a particular field such as law or art are grouped together. +The project overall aims to assist students in planning out how they will complete their +course and adjust for changes that will affect their course plan. +6.1. Team Members and Their Key Achievements +Key Achievements (Pull Request links) Team member +Unit dialog popup by keyruhn · Pull Request #27 · thothtech/CourseFlow (github.com) +Header and unitcard component by keyruhn · Pull Request #20 · +thoth-tech/CourseFlow (github.com) +Kieron Boyle +Custom clustering-based network layout algorithm for determining +initial unit node positions by Vortrox · Pull Request #31 · thothtech/CourseFlow (github.com) +Network layout algorithm by Vortrox · Pull Request #26 · thothtech/CourseFlow (github.com) +Add backend API endpoints by Vortrox · Pull Request #23 · thothtech/CourseFlow (github.com) +Mel David Bugay +Discovery page pre calculated nodes implementation by +cmarktopher · Pull Request #33 · thoth-tech/CourseFlow +(github.com) +Discovery page ngx graph by cmarktopher · Pull Request #32 · thothtech/CourseFlow (github.com) +Docker integration by cmarktopher · Pull Request #25 · thothtech/CourseFlow (github.com) +https://github.com/thoth-tech/CourseFlow/pull/17 +Ngx graph vs d3.js by cmarktopher · Pull Request #410 · thothtech/documentation (github.com) +Mark Enriquez +Login form and registration form (Frontend) by OmarHassanzada · +Pull Request #28 · thoth-tech/CourseFlow (github.com) +Hazratomar +Hassanzada +40 +CourseFlow Login and Registration Page Development Report by +OmarHassanzada · Pull Request #431 · thoth-tech/documentation +(github.com) +2FA-Documentation by OmarHassanzada · Pull Request #374 · thothtech/documentation (github.com) +Documentation Images Markdown by codeJdawg · Pull Request #38 +· thoth-tech/CourseFlow (github.com) +Create Discovery Page Function.md by codeJdawg · Pull Request #37 +· thoth-tech/CourseFlow (github.com) +Create Docker Research.md by codeJdawg · Pull Request #35 · thothtech/CourseFlow (github.com) +Create Analytics Page Design.md by codeJdawg · Pull Request #34 · +thoth-tech/CourseFlow (github.com) +Create Contribution.md by codeJdawg · Pull Request #21 · thothtech/CourseFlow (github.com) +Jaden Doss +Implemented Pop Up Designs, Add Functional Close Button, Update +JSON file that consists all relavent data by wmvoon · Pull Request #30 +· thoth-tech/CourseFlow (github.com) +Included All Designs from Figma by wmvoon · Pull Request #373 · +thoth-tech/documentation (github.com) +Wei Min Voon +Updates (Look at description) by SoVinhou · Pull Request #29 · thothtech/CourseFlow (github.com) +Log in client demo branch by SoVinhou · Pull Request #22 · thothtech/CourseFlow (github.com) +Sovinhou Ung +Side Bar integration and added features by CynthiaChee · Pull +Request #36 · thoth-tech/CourseFlow (github.com) +Create CourseFlow_SideBar.png by CynthiaChee · Pull Request #403 +· thoth-tech/documentation (github.com) +Add Figma prototype screenshots (Timetable View and Analytics +View) by CynthiaChee · Pull Request #372 · thothtech/documentation (github.com) +Cynthia Yi Min Chee +41 +6.2. Completed Deliverables +Course Map +Contributing Team Members +Design work by: Kieron Boyle, Cynthia Yi Min Chee, Wei Min Voon +Technical work by: Kieron Boyle, Cynthia Yi Min Chee, Wei Min Voon +Summary of Deliverables +• Finalised UI design on Figma +o The Figma project has pages divided into finalised designs as well as drafts. +• Base implementation of the CourseMap page and dynamically displaying the core +units for a specific course (read from the json file) +o There is a limit of 4 units displayed in each row of a the ‘unit-container div’ +This is since there is generally a maximum of 4 units per trimester. +o The ‘unit card’ for a unit can be clicked on. A dialog box will then open that +contains more information about the specific unit. +• Web scraped data on courses and units have been sectioned into relevant json files. +o There is a file containing only Bachelor of Computer Science units, a file with +data for all units and a file for all courses. +▪ The course data contains the core units for a course. The unit data +contains the unit summary, prerequisites, assessments, GLO’s and +more. +Deliverable Location +At this stage, this current main implementation of the CourseMap Page is present in this +branch of the CourseFlow repository: +https://github.com/thoth-tech/CourseFlow/tree/dev/webpage-merging/Frontend +This will later be merged into the development branch: +https://github.com/thoth-tech/CourseFlow/tree/development +The current Figma designs can be located here: +https://www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +Discovery +Contributing Team Members +42 +Design work by: Cynthia Yi Min Chee and Wei Min Voon +Write up by: Jaden Doss +Technical work by: Mark Enriquez +Summary of Deliverables +• Create a UI for the ‘Discovery’ view page. +• Base implementation of the ‘Discovery’ view page and visualising the data +completed using d3.js: +o The graph-based map has been implemented which supports data (unit data +for example) with pre-calculated x and y positions. +▪ Pre-calculated x and y positions are done via algorithms on the +backend. +o A text-based list which serves as an alternative to the graph-based map is +also implemented which supports this data. +o Nodes on the graph are clickable which brings up a detailed panel to show +more information. +▪ Links to a node such as related units (pre-requisites etc.) are available +as buttons which can be clicked to bring up that node’s information. +▪ Transition animation is also present from node to node. +• Other implementations of the Discovery Page is also available: +o A force-directed, hierarchical based graph using d3.js. +o A force-directed graph using the ngx-graph library. +Deliverable Location +Main Pre-Calculated Position based Implementation using d3.js +At this stage, this current main implementation of the Discovery Page is present in this +branch of the CourseFlow repository: +https://github.com/thoth-tech/CourseFlow/tree/dev/webpage-merging +This will later be merged into the development branch: +https://github.com/thoth-tech/CourseFlow/tree/development +Other Implementations - Force-directed, hierarchical based graph using d3.js +https://github.com/thoth-tech/CourseFlow/tree/prototype/discovery-page-force-sim-graph +Other Implementations – Ngx-graph +https://github.com/thoth-tech/CourseFlow/tree/research/discovery-page +43 +User authentication +Contributing Team Members +Hazratomar Hassanzada and Sovinhou Ung +Summary of Deliverables +• Created a UI login of the CourseFlow website +• Backend that stores the log in details of the user +o This has been implemented via firebase +▪ The log in information can be accessed via the firebase account log in +which has been provided under the login credentials. +Deliverable Location +https://github.com/thoth-tech/CourseFlow/tree/dev/authentication +Backend +API endpoints +Contributing Team Members +Mel Bugay +Summary of Deliverables +- Created API endpoints to allow the frontend webpages to get unit data from the +database +Deliverable Location +Add backend API endpoints by Vortrox · Pull Request #23 · thoth-tech/CourseFlow +(github.com) +Unit network layout algorithm +Contributing Team Members +Mel Bugay +Summary of Deliverables +- Created a custom network layout algorithm to determine where units should be +initially positioned on the unit discovery webpage in Python. +44 +- The algorithm works by calculating the similarity between two units based on factors +such as their unit code, year level, and university faculty +- The clustering-based variant of this algorithm uses DBSCAN to assign each unit to +clusters based on their similarity to each other, then calculates the layout of each +cluster using the Kamada-Kawai algorithm. The clusters are then combined together. +- The stochastic gradient descent variant uses the Tensorflow and Keras libraries to +create a neural network that calculates the optimal positions of nodes. +- The optimal x and y position of each node can be optimized using a custom loss +function. +- The SGD prototype was abandoned in favour of the clustering-based variant because +the math required to create a visually pleasing layout was too difficult for anyone in +the team to understand and work on. +Deliverable Location +Clustering based: +Custom clustering-based network layout algorithm for determining initial unit node +positions by Vortrox · Pull Request #31 · thoth-tech/CourseFlow (github.com) +Neural network/stochastic gradient descent-based prototype: +Network layout algorithm by Vortrox · Pull Request #26 · thoth-tech/CourseFlow +(github.com) +Docker +Contributing Team Members +Write up by: Jaden Doss +Technical work by: Mark Enriquez +Summary of Deliverables +• Created a Docker image containing a complete development environment for the +frontend. +Deliverable Location +https://github.com/thoth-tech/CourseFlow/tree/development +6.3.Roadmap +Course Map +45 +• The user needs to be able to edit a specific year of their coursemap. +o The year ‘container’ should have an icon that the user can click that opens a +small dialog box. +o From this the user would be able to change or alter the coursemap for that +specific year. For instance, the number of trimesters the user will study, The +study load for the year etc +• The user needs to be able to edit a specific trimester of their coursemap. +o The year ‘trimester’ should have an icon that the user can click that opens a +small dialog box. +o From this the user would be able to change or alter the coursemap for that +specific trimester. For instance, the number of units in the trimester the +student will undertake. +• There needs to be functionality that allows users to add or edit a unit +o For instance, a user can enter in a unit code to a specific trimester. If the unit +is able to be studied in that trimester and all prerequisite units will be +complete prior then the unit can be added into the trimester. +• The ‘side menu’ has a variety of sub sections such as ‘overview’ and ‘edit +coursemap’. The contents of these sections need to be expanded on +o +Discovery +• Now that we have a base implementation, work can be done on optimizing the +graph. +o Despite using pre-calculated positions, rendering over 3000 nodes/units is +still quite laggy. +• We need to connect this to a backend endpoint. +o At this stage, this is reading data from a JSON file. +• Width and height of the graph is fixed, and we need to introduce responsiveness to +different screen sizes. +o This applies to the whole page in general and not just the graph. +o Will need to improve transition animations from node to node as it seems +screen sizes can impact this feature. +• Some modifications to the front-end code might be required depending on the +layout algorithm on the backend. +o The layout algorithm on the backend is still being worked on and may impact +the frontend. +Analytics +• An implementation of this component in Angular is required. +46 +o It may even be determined that this section isn’t required and can be added +as a sub-feature of the CourseMap page. +Backend +Measuring unit similarity based on its description +- Use an AI based approached to determine how similar two units are to each other +based on their description. +- This would allow the unit discovery page to cluster units that are more similar to +each other in a way that is more meaningful. +- Some proposed ways to achieve this include: +o Using a bag-of-words approach. In this approach we assume that units that +are similar to each other will share keywords with each other. +o Using pre-trained word embeddings. This allows unit with descriptions that +contain words that are semantically similar to each other to be considered +more similar to each other. +o Using pre-trained language models. +Web-scrapers to get unit information directly from the university site +- The current unit data we have is outdated or incomplete, so it would be nice if we +could update it using a custom-built web-scraping tool that gathers unit data directly +from the university’s handbook webpage +Docker +• Enhance the Docker related files to incorporate the Backend once it is ready. +o The plan is to have two separate containers for the frontend and backend. +6.4. Open Issues +Technical issues +- We are still working on getting a reliable source of unit/course data through a +combination of web-scraping and using language models. The current source of this +data is either given to us by Deakin staff (which has limited information) or sourced +ourselves from the 2019 university handbook PDF file (which is unreliable) +- The layout of units as nodes on the discovery page is still a WIP. We created a +somewhat working layout algorithm but not completely satisfied with it yet. +- Need to set up a CI/CD pipeline for the project once it matures some more. This +includes setting up a Docker network for the backend. (We have a docker image for +developing the frontend but I’m talking about making one for deploying CourseFlow) +47 +- Most of the code in the project lacks any form of automated testing. +- Frontend webpages need to communicate with the backend to get unit information +from the database instead of hardcoding this information in the code or loading it +from a JSON file. The webpages currently load this information into the webpage +through services in Angular, so we should be able to easily replace these with new +services that communicate with the backend. +- The user authentication webpages aren’t communicating with the rest of the +backend system at all, they’re communicating directly with an online database +hosted by Firebase. This part of the authentication which belongs to the backend is +written in Typescript instead of C# like the rest of the backend. We need to rewrite +the authentication webpages to bring user authentication under the control of the +backend system and address these two issues. +Project issues +- Need to create streamlined instructions for setting up a development environment +and contributing to the project for future capstone members. Some work on this has +already been done in the project’s README.md and Contributing.md files in the +project repository’s root folder. +- There is a lot of work to be done on CourseFlow, however this trimester we had a lot +of difficulty in breaking down the tasks into smaller ones that could be distributed to +team members. +- Most members joining the project had very limited or no experience in using Git or +GitHub. As product leads, we were able to give them enough training to contribute +code to the main repository through pull requests, however the lack of experience +limited members’ ability to directly collaborate on code together. If they needed to +collaborate on code, most members shared the code by directly sending files to each +other for most of the trimester. +6.5. Source Code +GitHub repository +CourseFlow’s GitHub repository: https://github.com/thoth-tech/CourseFlow/ +All CourseFlow’s source code can be found in the GitHub repository. +Research and documentation +Most of CourseFlow’s research and documentation can be found at Thoth Tech’s +documentation repository documentation/docs/Courseflow at main · thothtech/documentation (github.com). +Some documentation about the code is kept at CourseFlow’s main repository at +CourseFlow/Documentation at development · thoth-tech/CourseFlow (github.com). +48 +Webpage prototypes +Prototypes of CourseFlow’s webpages are kept on Figma at +https://www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +6.6. Login Credentials +CourseFlow’s GitHub repository: https://github.com/thoth-tech/CourseFlow +You will need a GitHub account to contribute to the code. To contribute code, contact +CourseFlow’s product lead to gain write access or open a pull request to this repository. If +you are the product lead, contact Thoth Tech’s director to gain admin permissions for the +repository. +Firebase Login: +Email: courseflowfirebase@gmail.com +Password: _Courseflow@8756 +Figma: https://www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +Sign in with a Figma account to get edit access. +6.7. Other Relevant Information +Repository structure +In the CourseFlow repository, we follow a structured branch management approach to +ensure efficient and organized development. +Main Branch: The main branch within the CourseFlow repository holds stable versions of +the application. Access to this branch is restricted to repository maintainers and admins, +and contributors are required to submit pull requests (PRs) for changes. This strict control +helps maintain a reliable and deployable codebase. +Development Branch: The development branch is where ongoing work and new features +are integrated. Contributors make PRs to this branch, and it undergoes continuous +integration and testing to ensure code quality. Contributors with maintainer or admin +permissions have the option to push minor commits directly to the development branch for +swift updates. +Feature Branches: For specific tasks or features, contributors create feature branches +derived from the development branch. Feature branches isolate individual work, allowing + + customCss: ["./src/styles/custom.css"], + social: { + github: "https://github.com/thoth-tech", + }, + components: { + MarkdownContent: "starlight-blog/overrides/MarkdownContent.astro", + Sidebar: "starlight-blog/overrides/Sidebar.astro", + ThemeSelect: "starlight-blog/overrides/ThemeSelect.astro", + }, + sidebar: [ + { + label: "Processes", + items: [ + { label: "Introduction", link: "/processes/introduction" }, + { + label: "Cyber Security Guidelines", + autogenerate: { + directory: "processes/cyber-security-guidelines", + }, + }, + { + label: "Documentation", + autogenerate: { directory: "processes/Documentation" }, + }, + { + label: "Quality Assurance", + items: [ + { + label: "Git Contributions Guide", + link: "/processes/quality-assurance/git-contributions-guide", + }, + { + label: "Quality Assurance Overview", + link: "/processes/quality-assurance/quality-assurance-overview", + }, + { + label: "Testing and Development", + link: "/processes/quality-assurance/testing-and-dev", + }, + { + label: "Templates", + autogenernpate: { + directory: "processes/quality-assurance/templates", + }, + }, + ], + }, + ], + }, + { + label: "Teams and Leadership", + autogenerate: { + directory: "teams-and-leadership", + }, + }, + { + label: "Reference", + autogenerate: { + directory: "reference", + }, + }, + { + label: "Policies", + autogenerate: { + directory: "policies", + }, + }, + { + label: "Products", + items: [ + { + label: "Products", + link: "/products/products", + }, + { + label: "Art Gallery", + items: [ + { + label: "Get to Know Us", + link: "/products/art-gallery/example", + }, + { + label: "Projects", + autogenerate: { + directory: "products/art-gallery/projects", + }, + items: [ + { + label: "Lighthouse", + autogenerate: { + directory: "products/art-gallery/Projects/Lighthouse", + }, + }, + { + label: "Dockerization", + autogenerate: { + directory: "products/art-gallery/Projects/dockerization", + }, + }, + ], + }, + { + label: "Documentation", + autogenerate: { + directory: "products/art-gallery/Documentation", + }, + }, + { + label: "Issues and Resolutions", + autogenerate: { + directory: "products/art-gallery/issues-and-resolutions", + }, + }, + ], + }, + { + label: "Company Operations", + items: [ + { + label: "Get to Know Us", + link: "/products/company-operations/example", + }, + { + label: "Projects", + autogenerate: { + directory: "products/company-operations/projects", + }, + items: [ + { + label: "Docusaurus Documentation", + autogenerate: { + directory: "products/company-operations/projects/docusaurus-documentation", + }, + }, + { + label: "Thoth Tech Website", + autogenerate: { + directory: "products/company-operations/projects/Thoth-Tech-Website", + }, + }, + ], + }, + { + label: "Documentation", + autogenerate: { + directory: "products/company-operations/documentation", + }, + }, + { + label: "Issues and Resolutions", + autogenerate: { + directory: "products/company-operations/issues-and-resolution", + }, + }, + ], + }, + { + label: "CourseFlow", + items: [ + { + label: "Get to Know Us", + link: "/products/courseflow/example", + }, + { + label: "Projects", + autogenerate: { + directory: "products/courseflow/Projects", + }, + }, + { + label: "Documentation", + autogenerate: { + directory: "products/courseflow/Documentation", + }, + }, + { + label: "Issues and Resolutions", + autogenerate: { + directory: "products/courseflow/issues-and-resolutions", + }, + }, + ], + }, + { + label: "OnTrack", + items: [ + { + label: "Get to Know Us", + link: "/products/ontrack/example", + }, + { + label: "Projects", + autogenerate: { + directory: "products/ontrack/projects", + }, + }, + { + label: "Documentation", + autogenerate: { + directory: "products/ontrack/documentation", + }, + items: [ + { + label: "Front End Migration", + autogenerate: { + directory: "products/ontrack/documentation/front-end-migration", + }, + }, + { + label: "Numbas", + autogenerate: { + directory: "products/ontrack/documentation/numbas", + }, + }, + { + label: "Deployment", + autogenerate: { + directory: "products/ontrack/documentation/deployment", + }, + }, + ], + }, + { + label: "Issues and Resolutions", + autogenerate: { + directory: "products/ontrack/issues-and-resolutions", + }, + }, + ], + }, + { + label: "SplashKit", + items: [ + { + label: "Get to Know Us", + link: "/products/splashkit/example", + }, + { + label: "Projects", + autogenerate: { + directory: "products/splashkit/projects", + }, + }, + { + label: "Documentation", + autogenerate: { + directory: "products/splashkit/documentation", + }, + // items: [ + // { + // label: "Applications", + // autogenerate: { + // directory: "products/splashkit/documentation/applications", + // }, + // }, + // ], + }, + { + label: "Issues and Resolutions", + autogenerate: { + directory: "products/splashkit/issues-and-resolutions", + }, + }, + ], + }, + ], + }, + ], + }), + ], + // Process images with sharp: https://docs.astro.build/en/guides/assets/#using-sharp + image: { + service: { + entrypoint: "astro/assets/services/sharp", + }, + }, +}); From 2a11a18c396fcf64e3870dbbff11f05f1ae0d55e Mon Sep 17 00:00:00 2001 From: victoriaokoro <143893109+victoriaokoro@users.noreply.github.com> Date: Mon, 4 Dec 2023 14:08:04 +1100 Subject: [PATCH 03/19] hand over report document --- .../teams-and-leadership/.markdownlint.json | 2335 ++++++++++++++++- .../teams-and-leadership/Hand over report | 2330 ++++++++++++++++ 2 files changed, 4659 insertions(+), 6 deletions(-) create mode 100644 src/content/docs/teams-and-leadership/Hand over report diff --git a/src/content/docs/teams-and-leadership/.markdownlint.json b/src/content/docs/teams-and-leadership/.markdownlint.json index 5a207d36..2c6d7516 100644 --- a/src/content/docs/teams-and-leadership/.markdownlint.json +++ b/src/content/docs/teams-and-leadership/.markdownlint.json @@ -1,8 +1,2331 @@ -{ +Deakin University +Capstone Team Project (B) +OnTrack Submission +Company Handover and Showcase +Submitted By: +Daniel Maddern +maddernd +Tutor: +Andrew Cain +Group Members: +maddernd Daniel Maddern ����� +ungso Sovinhou Ung ���� +chulme Chloe Eloise Hulme ����� +siva Sivasamyuktha Selvarajuh ��� +qvcao Quoc Vi Cao ��� +cynt Cynthia Yi Min Chee ��� +saurellia Swanny Aurellia ��� +wvoon Wei Min Voon ��� +ongr Ro Wern Ong ���� +hhassanzada Hazratomar Hassanzada ���� +djsutherland Dylan Sutherland � +kaboyle Kieron Anthony Boyle ����� +jdoss Jaden Doss ��� +s221071083 Jayant Jayant ��� +mbugay Mel David Bugay ����� +anellippillijos Anirudh Nellippilli Joshi � +kdadams Kyle David Adams ��� +nharty Norman Harty ��� +dryzner Dominic Robert Ryzner ��� +roussoren Riley Michael Oussoren ��� +singhind Inderdeep Singh ���� +sfrehman Syed Faiq ur Rehman ���� +s222574652 Philip Williams ����� +s221199844 Nidhisha Ravindra Pahade � +quazis Sanah Quazi ��� +s221519423 Thando Loliwe �� +hhalls Harney Halls ��� +aghilesharasu Aghilesh Arasu � +s221071216 Sherap Thakur � +September 27, +2023 +Produced by Doubtfire +2 +Thoth Tech Showcase Video Links +Company (Thoth tech) Showcase Video: https: //video.deakin.edu.au/media/t/1_kd7o8aft +Company Operations Showcase Video: https: //video.deakin.edu.au/media/t/1_yrgrebdj +OnTrack Showcase Video: https: //video.deakin.edu.au/media/t/1_qtqbi271 +Art Gallery Showcase Video: https: //video.deakin.edu.au/media/t/1_1gei2x0y +1 + + + + + +Product Handover and +Showcase Document +Thoth Tech +Trimester 2, +2023 +2 +Table of Contents +1. Leadership Team................................................................................................................4 +1.1. Company Directors ....................................................................................................4 +1.2. Student Leadership ....................................................................................................4 +1.3. Updated Company Organization Chart......................................................................4 +1.4. Company Showcase Video.........................................................................................5 +2. Products - Company Operations........................................................................................5 +2.1. Team Members and Their Key Achievements...........................................................6 +2.2. Completed Deliverables.............................................................................................9 +2.3. Roadmap....................................................................................................................9 +2.4. Open Issues..............................................................................................................10 +2.5. Source Code .............................................................................................................10 +2.6. Login Credentials......................................................................................................10 +2.7. Other Relevant Information.....................................................................................10 +2.8. Showcase Video .......................................................................................................11 +3. Product – OnTrack ..........................................................................................................11 +3.1. Team Members and Their Key Achievements.........................................................13 +3.2. Completed Deliverables...........................................................................................20 +3.3. Roadmap..................................................................................................................21 +3.4. Open Issues..............................................................................................................22 +3.5. Source Code .............................................................................................................22 +3.6. Login Credentials......................................................................................................22 +3.7. Other Relevant Information.....................................................................................22 +3.8. Showcase Video .......................................................................................................22 +4. Product – Art Gallery .......................................................................................................22 +4.1. Team Members and Their Key Contributions..........................................................23 +4.2. Completed Deliverables...........................................................................................24 +4.3. Roadmap..................................................................................................................26 +4.4. Open Issues..............................................................................................................26 +4.5. Source Code .............................................................................................................26 +4.6. Login Credentials......................................................................................................27 +4.7. Other Relevant Information.....................................................................................27 +3 +4.8. Showcase Video .......................................................................................................27 +5. Product - Splashkit...........................................................................................................28 +5.1. Team Members and Their Key Achievements.........................................................28 +5.2. Completed Deliverables...........................................................................................31 +5.3. Roadmap..................................................................................................................34 +5.4. Open Issues..............................................................................................................37 +5.5. Source Code .............................................................................................................37 +6. Product - CourseFlow.......................................................................................................39 +6.1. Team Members and Their Key Achievements.........................................................39 +6.2. Completed Deliverables...........................................................................................41 +6.3. Roadmap..................................................................................................................44 +6.4. Open Issues..............................................................................................................46 +6.5. Source Code .............................................................................................................47 +6.6. Login Credentials......................................................................................................48 +6.7. Other Relevant Information.....................................................................................48 +4 +1. Leadership Team +1.1. Company Directors +• Andrew Cain, Managing Director +• Glory Lee, Managing Director +1.2. Student Leadership +• Daniel Maddern – Product Lead for OnTrack +• Daniel Maddern & Chloe Hulme – Product Lead for Art Gallery +• Mel David Bugay & Kieron Anthony Boyle – Product Leads for Courseflow +• Phil Williams – Product Lead for Splash Kit +• Onyedikachi Okorie - Product Lead for Company Operations +1.3. Updated Company Organization Chart +5 +1.4. Company Showcase Video +https: //video.deakin.edu.au/media/t/1_kd7o8aft +2. Products - Company Operations +This team oversees the entire operations of Thoth Tech and strives to make things easier. We +aim to make the onboarding process as smooth and clear as possible, as well as increase the +knowledge of our seniors in meaningful ways while creating policies to improve the wellbeing +of all company employees. In the short term, we would like to create new documentation, +policies, workflows, and processes that are relevant to improve the company’s outlook and +overall productivity. In the long term, we aim to store documentations in a dedicated website +(Docusaurus) to make it easy to push updates, new features, and bug fixes to everyone +without the need to gain access to our GitHub repository. +Projects +• Documentation Website: The goal of this project is to deliver a website that serves +as a location for all company documents, this would help eradicate document +management and retrieval issues ensuring everyone has full access to the +documents they need to function in the company. +• Policy creation: The goal of this project is to create policies that would guide every +member of Thoth Tech in using tools and technologies adopted by the company. This +focuses on areas like GitHub, Trello, creating documents, using the Documentation +website, and so on. +• Documentation: This involves documenting every work and activity necessary for +project and business continuity. Every plan and outcome for a project is being +documented and currently stored in the Company Operations GitHub repository, the +end goal is for all documentation to be stored in the documentation website being +created (Starlight). +Aims for Trimester +• Develop a policy for git-workflow. +• Create a policy for Trello and the processes associated with it. +• Describe and document the steps required to progress a change through a product. +6 +• Introduce a new onboarding document for the Ontrack product. +• Explore the use of Docusaurus for storing documentation. +• Generate code standard to be used for all product deployment. +• Ensure group OnTrack tasks are completed to a satisfactory standard. +• Write a list of new tasks for the documentation team to begin building. +Deliverables +• Generated policies to be implemented by the company. +• Deploy Docusaurus for company use. +• Migrate all documentations to Docusaurus. +• Develop general standards for the company in all areas that apply. +2.1. Team Members and Their Key Achievements +Key Achievements (Pull Request links) Team +member +Created Company Operations repository on Thoth Techs GitHub account and created a +folder structure. +folder update by Kachi-Okorie · Pull Request #1 · thoth-tech/Company-Operations +(github.com) +Onyedik +achi +Okorie +Generated a guideline on how to associate Trello cards with GitHub. +add-github-actions-to-trello by Kachi-Okorie · Pull Request #2 · thoth-tech/CompanyOperations +Converted 2.1P Task to markdown and published on GitHub. Add Company Catalogue - +KO by Kachi-Okorie · Pull Request #4 · thoth-tech/Company-Operations (github.com) +Create an Issues Resolution folder and updated it with issues faced with found +resolution. +Add-Issue-Resolutions-KO by Kachi-Okorie · Pull Request #5 · thoth-tech/CompanyOperations (github.com) +Created a hosting plan for Docusaurus and performed a test on Render (a web hosting +platform). +Docusaurus Hosting Plan & Render Outcome - KO by Kachi-Okorie · Pull Request #7 · +thoth-tech/Company-Operations (github.com) +Created GitHub Management policy. +GitHub Company Policy-KO by Kachi-Okorie · Pull Request #10 · thoth-tech/CompanyOperations +7 +Created a folder for Starlight project and populated it with the folders, templates, +modules, and other resources required to create the documentation website. +Add-Starlight-Project-KO by Kachi-Okorie · Pull Request #11 · thoth-tech/CompanyOperations (github.com) +Added the Process, Teams, and leadership pages on Starlight. +Adding teams n leadership page to Starlight - KO by Kachi-Okorie · Pull Request #14 · +thoth-tech/Company-Operations (github.com) +Code and Built Policy Page on Starlight +https: //github.com/thoth-tech/Company-Operations/pull/18 +https: //github.com/thoth-tech/Company-Operations/pull/19 +Fix Netlify Check Issue on GitHub +https: //github.com/thoth-tech/documentation/pull/390 +Added Starlight project to Documentation repo +https: //github.com/thoth-tech/documentation/pull/406 +Migrate Products documentations to Starlight. +https: //github.com/thoth-tech/ThothTech-Documentation-Website/pull/2 +https: //github.com/thothtech/documentation/commit/9b4a65ad4aec4df11e15a809213fcc03f5c2273a +https: //github.com/thothtech/documentation/commit/c3d019b064428896070719de3bbeee6da097f505 +Create and Populate News Page on Starlight +https: //github.com/thoth-tech/ThothTech-Documentation-Website/pull/5 +Update Onboarding Document to Contain Welcome Package Info +https: //github.com/thoth-tech/ThothTech-Documentation-Website/pull/6 +Create a Google form for Assigning New Students to Products +https: //forms.gle/c9HPFvDRAUon9uEk9 +Create an Instructional Video on How to Upload Documents to Starlight +https: //deakin365.sharepoint.com/:v:/r/sites/ThothTech2/Shared%20Documents/Gen +eral/Instructional%20Video%20- +%20How%20To%20Upload%20Documents%20to%20Starlight.mp4?csf=1&web=1&e= +6JHZnd +Created logo for Company Operations. +Company-Operations/images/CompanyOps-logo.png at main · thoth-tech/CompanyOperations (github.com) +Created Spike documentations for using Docusaurus as a documentation website. +Docusaurus research by QuinnCurtis02 · Pull Request #3 · thoth-tech/CompanyOperations (github.com) Quinn +Created High-level prototypes for the documentation website interfaces. Curtis +Add UI desing samples by QuinnCurtis02 · Pull Request #12 · thoth-tech/CompanyOperations (github.com) +8 +Researched on various documentation platforms to determine the one that meets +Thoth Techs requirement. +Add documentation platform research by QuinnCurtis02 · Pull Request #13 · thothtech/Company-Operations (github.com) +Created Starlight landing page and product page. +added home page and products to starlight by QuinnCurtis02 · Pull Request #15 · thothtech/Company-Operations (github.com) +Created a basic landing and products page for the documentation project. +https: //github.com/thoth-tech/Company-Operations/pull/15 +Themed the documentation site with a focus on the products page. +https: //github.com/thoth-tech/documentation/pull/384 +Moved the starlight project to a new repo and updated Astro version. +https: //github.com/thoth-tech/ThothTech-Documentation-Website/pull/1 +Researched the proper platform for hosting the documentation website. +https: //github.com/thoth-tech/Company-Operations/pull/24 +Documented learnings from investigating various documentation platforms. +Docs: knowledge base prior learning and test documentation by Kyle-Dav · Pull Request +#9 · thoth-tech/Company-Operations (github.com) +Kyle +Adams +Improved the side navigation bars on Starlight. +updated starlight config for sidebar -KA by Kyle-Dav · Pull Request #16 · thothtech/Company-Operations (github.com) +Produced basic landing pages for all products. +Docs/md to mdx landing by Kyle-Dav · Pull Request #4 · thoth-tech/ThothTechDocumentation-Website (github.com) +filled out the landing pages -KA by Kyle-Dav · Pull Request #3 · thoth-tech/ThothTechDocumentation-Website (github.com) +Collaborated on the research for documentation platforms. +Add documentation platform research by QuinnCurtis02 · Pull Request #13 · thothtech/Company-Operations (github.com) +Created test documentation to temporarily fill knowledge base. +docs: created ExampleDocMD and ExampleDocRJS · Kyle-Dav/thothoperations@15e3c66 (github.com) +Docs: knowledge base prior learning and test documentation by Kyle-Dav · Pull Request +#9 · thoth-tech/Company-Operations (github.com) +Started the testing for changing product repository. +Move updated Starlight to the documentation repo root on Company Operations | +Trello +Created Onboarding document and conducted research on Docusaurus +https: //github.com/thoth-tech/Company-Operations/pull/17 +Harshita +Shroff +Drafted documentation policy for Company – Thoth Tech +9 +https: //github.com/thoth-tech/Company-Operations/pull/22 +Created guide on how to use Starlight (Company’s Documentation website) +https: //github.com/thoth-tech/Company-Operations/pull/23 +Created project progress policy +https: //github.com/thoth-tech/Company-Operations/pull/23 +Created upskilling document for Javascript, Angular, Typewrite, Material library for CSS +https: //github.com/thoth-tech/Company-Operations/pull/23 +Documented requirements for documentation website +https: //github.com/thoth-tech/Company-Operations/pull/23 +Converted the 6.1P task into markdown for retaining information for further reference. +https: //github.com/thoth-tech/Company-Operations/pull/25 +2.2. Completed Deliverables +• Created Spike plan and Outcomes for documentation Platforms. +• Designed and built the documentation website on Starlight. +• Populated the documentation website with required information. +• Created an instructional video for using Starlight. +• Produced a Trello Management Policy +• Produced a GitHub Management Policy +• Produced an Onboarding/Welcome documentation for new students. +• Generated a Documentation Policy. +• Creation of an Upskilling Document +• Created Spike Outcome for Render as a Hosting platform. +• Documented a step-by-step procedure on how to upload documents to Starlight. +• Successfully compiled and submitted 2.1P, +6.1P, and 11.1P tasks. +• Researched Netlify as a free hosting platform and created Spike document. +• Successfully hosted documentation website on Netlify - https: //main--strong-fairyc1bde1.netlify.app/ +2.3. Roadmap +• Containerize the documentation website project. +• Launch the Documentation website. +• Conduct a company wide workshop on how to upload documentations to the +website. +• Enforce the use of the policies created this trimester (T2/2023). +• Choose a password management system for Thoth Tech. +• Update Netlify (Web hosting platforms) to use the Directors credentials. +• Move the documentation website to the documentation repository. +10 +2.4. Open Issues +When the documentation website is deployed on the documentation repository, the +website is published as seen through the Netlify portal however, the Netlify checks on +GitHub keeps failing. +2.5. Source Code +Projects, documentations, and other artifacts produced by the Company Operations team +can be found using the following links. +• Company Operations Repo: thoth-tech/Company-Operations (github.com) +• Thoth Tech Documentation Website Repo: https: //github.com/thothtech/ThothTech-Documentation-Website +• Company Operations folder in the Documentation Repo: +documentation/docs/Company Operations at main · thoth-tech/documentation +(github.com) +2.6. Login Credentials +The only account used by Company Operations that requires login credentials is the Netlify +account for hosting Thoth Techs documentation website. This is currently authenticated +using Onyedikachi Okories credentials; however, a backlog item has been created to use the +directors’ credentials – Andrew Cain. +2.7. Other Relevant Information +• Trello Board link: Company Operations | Trello +• Documentation Website: Welcome to Thoth Tech! (main--strong-fairyc1bde1.netlify.app) +• GitHub Policy: GitHub Management Policy (main--strong-fairy-c1bde1.netlify.app) +• Trello Management Policy: Trello Management Policy (main--strong-fairyc1bde1.netlify.app) +• Onboarding/Welcome Documentation: Thoth Tech Welcome Package (main--strongfairy-c1bde1.netlify.app) +• Onboarding Form: https: //forms.gle/c9HPFvDRAUon9uEk9 +• Upskilling Documentation: Company-Operations/Company Policy/Upskilling +document.md at main · thoth-tech/Company-Operations (github.com) +• Documentation Policy: Company-Operations/Company Policy/Documentation +Policy.md at main · thoth-tech/Company-Operations (github.com) +• Instructional Video on Using Starlight: +https: //deakin365.sharepoint.com/:v:/r/sites/ThothTech2/Shared%20Documents/G +eneral/Instructional%20Video%20- +11 +%20How%20To%20Upload%20Documents%20to%20Starlight.mp4?csf=1&web=1&e +=s26lMo +2.8. Showcase Video +Long video: https: //video.deakin.edu.au/media/t/1_yrgrebdj +3. Product – OnTrack +This trimester Ontrack will be working dynamically across a variety of projects. We will be +working based on a priority system to get as many useful changes implemented as possible +in the trimester. +We will be breaking each project into smaller subcomponents to allow people to work +across projects in areas that are strong at or interested in. Everything should be completable +in a 2-week sprint. +Projects +• Numbas Integration – We are integrating the Numbas mathematics tests into the +Ontrack Workflow, so tests can be taken during the submission process and can be +incorporated into the workflow to complete a submission based on passing or failing +the test. +• Migration Front End – We have migrated a lot of our components to the later +version of Angular, however there still a range of components that need to be +migrated to FX layout with Tailwind. +• Terminators – This a project to resolve bugs that are in the system, there are a few +key ones we want to focus on first, and any additional bugs will also be added into +this backlog. +• Improvers – This a project to enhance some of our existing features with new +functionality, there are a range of different features we want to enhance. +• Inventors – This project is to scope out and start the build of new features we want +including in the system, again there is a range of new features, and they are at +various stages of development. +12 +• Data Analytics – This project has taken a step back, we will be reviewing the +progress last trimester and coming up with a new project plan and design on how we +want to deliver this. +• Attendance Module – We want to create an attendance module; in that you can use +SSO from different organisations like google/GitHub or other universities to log into +the system. +Aims for Trimester +• Complete the Numbas Integration into Ontrack +• Migrate legacy Angular components to FX layout with tailwind (Migrators) +• Feature enhancements (Terminators) +• Feature enhancers (Improvers) +• New Features (Inventors) +• Data Analytics - New project plan, review of previous work completed, New Project +Aims document. +• Authentication module – Design and plan for the module to be built. +Deliverables +Our main deliverables will be based on story points completed in the Trello tasks; we are +aiming for students to complete between 5-6 Story points every 2-week sprint. +Short Term Deliverables (This trimester): +• Numbas PoC Completed +• Numbas direct integration 70% complete +• 50% of Angular migration completed. +• All bugs resolved. +• New features mapped out ready for next trimester. +• Review of Data Analytics and Plan to move it forward. +• Scope for Authentication Module +Long Term Deliverables (Ongoing): 13 +• All Angular migrations completed. +• Enhance features mapped out in Trimester. +• Develop new features. +• Create Data Analytics platform. +• Authentication Module created. +• Card Scan Attendance Project +3.1. Team Members and Their Key Achievements +Full Name Sprint Contribution GitHub Link Story +Points +Total +Story +Points +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +hero-sidebar +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-hero-sidebar +2 +19 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +footer +https: //github.com/syedfai +q/doubtfireweb/commit/cb900e2cbdfe +7ee9fcdffada63ceb6c62081 +f30f +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +user-badge +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-user-badge +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - signin +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-sign-in +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +audio-player +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindaudio-player +2 +Syed Faiq ur +Rehman +Sprint 2 +Code +Review +Spike - +Investigate +running Dev +container and +code base in +CodeSpaces +3 +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replace2 +14 +intelligentdiscussionplayer +fx-layout-with-tailwindintelligent-discussion-player +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +intelligentdiscussion-dialog +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindintelligent-discussion-dialog +2 +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +discussionpromptcomposer +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwinddiscussion-promptcomposer +2 +Jayant Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +task-commentcomposer +https: //github.com/thothtech/doubtfire-web/pull/69 +2 +22 +Jayant Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +extensioncomment +https: //github.com/thothtech/doubtfire-web/pull/70 +2 +Jayant Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - editprofile-form +https: //github.com/jayant3 +1j/doubtfireweb/tree/refactor-editprofile-tailwind +2 +Jayant Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - unitdropdown +https: //github.com/thothtech/doubtfireweb/pull/85/ +2 +Jayant Sprint 4 +Review +Replace fxlayout with +tailwind +equivalent - +task-assessmentcomment +https: //github.com/thothtech/doubtfireweb/pull/102 +2 +Jayant Sprint 4 +Review +Migrate +"ConfirmationM +odal" +https: //github.com/thothtech/doubtfireweb/pull/100 +3 +Jayant Sprint 4 +Review +Add testing - +Angular Service - +learninghttps: //github.com/thothtech/doubtfire-web/pull/95 +3 +15 +outcome.service. +ts +Jayant Sprint 4 +Review +Add testing - +Angular Service - +tutorialstream.service.ts +https: //github.com/thothtech/doubtfireweb/pull/97/files +3 +Jayant Sprint 4 +Review +Add testing - +Angular Service - +unitrole.service.ts +https: //github.com/thothtech/doubtfireweb/pull/96/files +3 +Devanshi +Patel +Sprint 1 +Complete +Incorporate +content in +OnTrack +https: //github.com/thothtech/documentation/pull/3 +38 +5 +23 +Devanshi +Patel +Sprint 2 +Code +Review +Create UML - +Incorporate +Content +https: //github.com/ptldev0 +2/documentation/commit/f +7dcb01a1f3367ed443564f9 +c7f87bcc0b9b6b3d +3 +Devanshi +Patel +Sprint 2 +Code +Review +Gather +requirements - +Incorporate +Content in +Ontrack +https: //github.com/ptldev0 +2/documentation/commit/ +0c6dbd9c1711e5c88a18f39 +774123dc2e4c4df5e +3 +Devanshi +Patel +Sprint 3 +Review +Design +Documentation - +Incorporate +Content +https: //github.com/ptldev0 +2/documentation/commit/ +afbe585267e66df97ac06eff +b944e86c5562b360 +3 +Devanshi +Patel +Sprint 3 +Review +Design Feature - +Incorporate +Content +https: //github.com/ptldev0 +2/documentation/commit/ +39356e3b9a7649778cf1543 +86c1cdc8d1d5e191e +3 +Devanshi +Patel +Sprint 3 +Review +UML Diagrams +and UI designs - +Tutor Times +https: //github.com/thothtech/documentation/pull/4 +26 +3 +Devanshi +Patel +Sprint 4 +Review +Spike - Frontend +Documentation +Investigation +https: //github.com/ptldev0 +2/documentation/commit/ +3e74dcc732c96308bbe83d +0794b2651e4649a363 +3 +DYLAN +SUTHERLAN +D +Sprint 1 +Complete +Review T1 Data +Analytics, create +back log +5 +8 +DYLAN +SUTHERLAN +D +Sprint 3 +Complete +Setup Ontrack - +Removable Hard +drive - Ubuntu +3 +Onyedikachi +Okorie +Sprint 1 +Complete +Integrate Trello +Board with +GitHub +https: //github.com/thothtech/CompanyOperations/commit/5373d +652ab705c75cd0c3f584f0c +46686c3be9f6 +1 +1 +Brian Caldera Sprint 1 +Complete +Staff grant +extensions - +Create backlog +5 +31 +16 +Brian Caldera Sprint 2 +Complete +Create UML +diagrams and UI +wireframes for +the new feature +- Staff Grant +Extension +https: //github.com/thothtech/documentation/pull/3 +68 +3 +Brian Caldera Sprint 2 +Complete +Documentation +(Design and +UML) - Staff +Grant Extensions +https: //github.com/thothtech/documentation/pull/3 +57 +3 +Brian Caldera Sprint 2 +Complete +Documentation +(Requirements +and Testing) - +Staff Grant +Extension +https: //github.com/thothtech/documentation/pull/3 +35 +3 +Brian Caldera Sprint 2 +Complete +Feature : Tutor +times +5 +Brian Caldera Sprint 3 +Complete +Design +Document +Backend - Tutor +Times +https: //github.com/thothtech/documentation/pull/4 +24 +3 +Brian Caldera Sprint 3 +Complete +Requirements +Document Front +End - Tutor +Times +https: //github.com/thothtech/documentation/pull/3 +89 +3 +Brian Caldera Sprint 3 +Complete +Design +Document Front +End - Tutor +Times +https: //github.com/thothtech/documentation/pull/4 +13 +3 +Brian Caldera Sprint 3 +Complete +Requirements +Document Back +End - Tutor +Times +https: //github.com/thothtech/documentation/pull/3 +92 +3 +Cao Quoc Vi Sprint 2 +Code +Review +Spike - Test +Production +Environment +From windows +https: //github.com/thothtech/documentation/pull/4 +11 +3 +19 +Cao Quoc Vi Sprint 2 +Code +Review +Spike - Explore +video integration +using Panopto +https: //github.com/thothtech/documentation/pull/4 +12 +3 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +staff-task-list +https: //github.com/thothtech/doubtfire-web/pull/79 +2 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent -taskdashboard +https: //github.com/thothtech/doubtfire-web/pull/81 +2 +17 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +microphonetester +https: //github.com/thothtech/doubtfire-web/pull/78 +2 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +calendar-modal +https: //github.com/thothtech/doubtfire-web/pull/80 +2 +Cao Quoc Vi Sprint 2 +Complete +Update Angular +UI-Router hybrid +Angular support +https: //github.com/caoquo +cvinq/angular-hybrid.git +5 +Inder Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +home +https: //github.com/SinghAI/doubtfireweb/commit/dc68dccab83 +9124ef69b76a2543bd9861 +09899f2 +2 +34 +Inder Sprint 2 +Code +Review +Convert PDF for +long lines. +https: //github.com/thothtech/doubtfire-api/pull/8 +5 +Inder Sprint 2 +Complete +Research Spike - +Report on data +analytics tools +https: //github.com/thothtech/documentation/pull/3 +52 +3 +Inder Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - +welcome +https: //github.com/SinghAI/doubtfireweb/commit/6bb98916dab +519fe8bd0b6ac3dc6007c43 +c80e84 +2 +Inder Sprint 3 +Review +switch all alert +service use to +new angular +alert service +https: //github.com/SinghAI/doubtfireweb/commit/a97b4dd008e +9a519c69aeebbdc797dc04f +b06f78 +3 +Inder Sprint 4 +Review +Add testing - +Angular Service - +group.service.ts +https: //github.com/SinghAI/doubtfireweb/commit/4d743a32c59f +103c6449f6572c296468fab +c94f6 +3 +Inder Sprint 4 +Review +Alert on +extension +request for +group tasks +https: //github.com/SinghAI/doubtfireweb/commit/b83dfb7ca60 +299f72c809fbaadda8240ad +4c282f +5 +Inder Sprint 4 +Review +New Featureadjust the +automatic +extension on +"resubmit" +https: //github.com/SinghAI/doubtfireapi/commit/5b53a6eb6839 +ffafbe03445715a6b6488dd +34dac +5 +18 +Inder Sprint 4 +Review +Add testing - +Angular Service - +Activity Type +https: //github.com/SinghAI/doubtfireweb/commit/4b927734678 +f4b1cfc30d08854be56271f +ecf1f2 +3 +Inder Sprint 4 +Review +Add testing - +Angular Service - +groupset.service.ts +https: //github.com/thothtech/doubtfire-web/pull/99 +3 +SANAH +QUAZI +Sprint 2 +Complete +Design a way to +improve the +group Task +submission. +https: //github.com/thothtech/documentation/pull/3 +56 +3 +19 +SANAH +QUAZI +Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - +inbox-comment +https: //github.com/thothtech/doubtfire-web/pull/83 +2 +SANAH +QUAZI +Sprint 3 +Complete +Requirements to +incorporate +multiple +organisations on +a single OnTrack +server +https: //github.com/thothtech/documentation/pull/3 +87 +5 +SANAH +QUAZI +Sprint 3 +Complete +Test Scenario +Documentation +and +Requirements +https: //github.com/thothtech/documentation/pull/3 +96 +3 +SANAH +QUAZI +Sprint 3 +Complete +Design +Documentation - +Incorporate +Multiple +Organizations +https: //github.com/thothtech/documentation/pull/4 +01 +3 +SANAH +QUAZI +Sprint 3 +Complete +Create UML +Diagram for the +Incorporate +Multiple +Organizations +feature +https: //github.com/thothtech/documentation/pull/4 +02 +3 +BRYAN +TAING +Sprint 3 +Review +Identify and +reject encrypted +PDFs on upload +https: //github.com/Mango +S9/doubtfireapi/commit/2b412057f431f +f7bf48008a81724e5131c57 +7684 +5 +10 BRYAN +TAING +Sprint 3 +Review +extend the +group lock +feature to allow +students in a +group to "Lock" +and unlock the +group +5 +19 +Daniel +Maddern +Sprint 3 +Complete +Design +Document +Backend - Tutor +Times +https: //github.com/thothtech/documentation/pull/4 +24 +3 +77 +Daniel +Maddern +Sprint 4 +Complete +Create Python +Script to export +Trello JSON +https: //github.com/thothtech/documentation/pull/4 +36 +3 +Daniel +Maddern +Numbas - +CodeReview +Build Angular +Service to work +with Numbas API +- Stream tests +https: //github.com/thothtech/doubtfireweb/tree/add-numbasintegration +3 +Daniel +Maddern +Numbas - +CodeReview +Ontrack - Build +Spec test for +LMS service. +https: //github.com/thothtech/doubtfireweb/commit/45ee07c132b +22decc21e4130a46934f7bb +1ec2a7 +3 +Daniel +Maddern +Numbas - +Complete +PoC - Review +Completed test +https: //github.com/thothtech/NumbasPoC/pull/10 +5 +Daniel +Maddern +Numbas - +Complete +PoC- Save +answers on new +test issue +https: //github.com/thothtech/NumbasPoC/tree/enh +ance/first-resume-issue +5 +Daniel +Maddern +Numbas - +Complete +Abstract LMS +function to +service in PoC +https: //github.com/thothtech/NumbasPoC/tree/feat +/AbstractLMSFunctions +3 +Daniel +Maddern +Numbas - +Complete +PoC- Change +front end to use +xhr to fix +synchronicity +issues. +https: //github.com/thothtech/NumbasPoC/pull/9 +5 +Daniel +Maddern +Numbas - +Complete +PoC- Adjust +Backend to +offset some get +test logic +https: //github.com/thothtech/NumbasPoC/commit/ +eeafca513a3d46216332d0a +3909671af5b2887ce +3 +Daniel +Maddern +Numbas - +Complete +PoC - Save Test https: //github.com/thothtech/NumbasPoC/tree/feat +/downloadnumbastest +5 +Daniel +Maddern +Numbas - +Complete +Save Suspend +Data in Commit +https: //github.com/thothtech/NumbasPoC/tree/conf +igure-save-test-fe +5 +Daniel +Maddern +Numbas - +Complete +PoC - Save Score https: //github.com/thothtech/NumbasPoC/pull/4 +5 +Daniel +Maddern +Numbas - +Complete +Ontrack Back +End Changes +UML +https: //trello.com/c/0YU +wD7aO/50-ontrack-backend-changes-uml +3 +Daniel +Maddern +Numbas - +Complete +New Endpoint - +Save test -POC +https: //github.com/thothtech/NumbasPoC/tree/addsave-test-api +5 +Daniel +Maddern +Numbas - +Complete +Setup maria DB +in PoC for save +test API +endpoint +https: //github.com/thothtech/NumbasPoC/pull/4 +3 +20 +Daniel +Maddern +Numbas - +Complete +Find a way to +convert code +from using +SCORM1.1 to +SCORM 2004. +https: //github.com/thothtech/NumbasPoC/tree/upd +ate/convert-scorm2004 +5 +Daniel +Maddern +Numbas - +Complete +Dev Containers +for Windows - +Change Rails/DB +to use docker file +system +5 +Daniel +Maddern +Numbas - +Complete +Spike - +Understand how +the Numbas +Code interact +with our code. +https: //github.com/thothtech/documentation/pull/3 +16 +3 +Daniel +Maddern +Numbas - +Complete +Meeting with +Numbas to +discuss save test +state +1 +Daniel +Maddern +Numbas - +Complete +Video guide on +setting up +Ontrack +https: //video.deakin.edu. +au/media/t/1_6degiyrj +1 +Daniel +Maddern +Numbas - +Complete +Feature Numbas +Integration - +Exploration +1 +Daniel +Maddern +Numbas - +Complete +Update +contributing +documentation +to show usage of +devcontainer +https: //github.com/thoth +-tech/doubtfiredeploy/blob/developmen +t/CONTRIBUTING.md +2 +Sonam +chewang +DORJI – +Shadow(DM +Sprint 4 +Review +Refactor and +improve +authentication +service code +#738 +https: //github.com/doubtfi +re-lms/doubtfireweb/pull/738 +5 +8 +Sonam +chewang +DORJI – +Shadow(DM +Sprint 4 +Review +adding unit +testing for +tutorialService +3 +3.2. Completed Deliverables +• Incorporate content in OnTrack – Requirements document created +• Numbas PoC system completed +• Numbas Backend Integration and DB changes completed +• Numbas Front End Integration partially completed. +• Review of T1 Data Analytics and backlog created +21 +• Trello board integrated with GitHub +• Staff grant extensions – backlog created +• UML diagrams and UI wireframes for Staff Grant Extension feature created +• Design and UML documentation for Staff Grant Extension feature created +• Requirements and testing documentation for Staff Grant Extension feature created +• Design for a way to improve group task submission created +• Research spike done for a report on data analytics tools +• Angular UI-router hybrid angular support updated +• Instruction document on setting up OnTrack in bootable Ubuntu hard drive created +• Requirements documentation, test scenario documentation, design documentation +and UML diagram created for incorporating multiple organisations on single OnTrack +server +• Requirements documentation for front-end and back-end along with design +documentation created for feature Tutor Times +• Python script created to export Trello JSON into a CSV +3.3. Roadmap +The current road map for Ontrack is quite broad, however there are a few key projects that +we want to focus on next trimester, first you can view all the backlogs on the Trello board +with their associated tasks: +https: //trello.com/invite/b/IKabVmzt/ATTIdf935d63730a48bee701a76b199f48fc61BF23A8/ +ontrack +The Key projects we would like to see movement on next trimester would be: +1. Improvements Backlog – This backlog has core improvements to the system we want +to see. +2. Ontrack Bugs Backlog – These are bugs that are found and added to this backlog. +3. New Feature – Incorporate Content – Ideally, we have an additional 2 designs of +how this would work. It's not ready to code just yet. +4. New Feature – Staff Grant Extensions – Ideally, we have an additional 2 designs of +how this would work. It's not ready to code just yet. +5. New Feature – Tutor Times – Ideally, we have 2 additional designs on how this +would work. It's not ready to code just yet. +6. Backlog Urgent Enhancements – These are important changes we are looking to get +done asap. +22 +7. Documentation – We want to focus on updating the Front and Backend +Documentation and testing in the next trimester. This will help students and other +users better understand the system and how it works. +3.4. Open Issues +• Getting the system running, some students had issues getting Ontrack setup, we +have made a lot of videos and documentation to aid this as well as implemented a +development container but it's still an issue. +• Understanding OnTrack's UML and how new features link into it. +• Upskilling to work on a complex Angular/Rails system – We have provided training +videos and links to upskill. +• Testing code and Pull requests – there have been issues with making pull requests as +per the documentation provided, as this is a live system it's important to fully ready +and understand the requirements when making a PR. +• Using GitHub, GitHub is new to some students and can be quite tricky to get working +how you want. There were several videos and training sessions to help this. +3.5. Source Code +• Doubtfire Web - https: //github.com/thoth-tech/doubtfire-web +• Doubtfire Api - https: //github.com/thoth-tech/doubtfire-api +• Doubtfire Deploy - https: //github.com/thoth-tech/doubtfire-deploy +• Thoth Tech Documentation - https: //github.com/thoth-tech/documentation +3.6. Login Credentials +https: //github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md +3.7. Other Relevant Information +Branching & Pull request formating +https: //github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md +3.8. Showcase Video +Video showcase: https: //video.deakin.edu.au/media/t/1_qtqbi271 +4. Product – Art Gallery +Indigenous and rural artists often face barriers in accessing the broader market, limiting +their opportunities for income and recognition. Our platform seeks to eliminate these +23 +barriers by leveraging modern technology to empower artists to reach a wider consumer +base, while bringing diverse cultures together. +We aim to deliver a highly available and scalable ecommerce platform that will allow for +ease of sale of artwork by small local artists. We plan to do this with our easily maintained +C# minimal RESTful API, Vue frontend, and our suite of other technologies used in +streamlining the development pf our product. +4.1. Team Members and Their Key Contributions +Key Achievements (Pull Request links) Team member +Deployment Strategy Report Ayan Masood +Continuous Delivery Research Ayan Masood +Mock CI/CD Pipeline Ayan Masood +Continous Integration Research Ayan Masood +Cybersecurity Policy for Deployment using GCP Ayan Masood +Preliminary Proposal for GCP Usge Ayan Masood +Product Logo Redesign Edwin Shibu +Figma Board for Frontend Redesign Avenue Joju, Ben Thomas, +Edwin Shibu, Amos Saji +UCD Research Avenue Joju +Frontend Performance Improved (Lighthouse scores) Sivasamyuktha A +Selvarajuh +Research and Review of IIIf Dominic Ryzner +Cybersecurity Strategies for Deployment Dominic Ryzner +Integrate Auto Compile Checks in CI Workflow Chloe Hulme +Create Pre-request Scripts in Postman Testing Chloe Hulme +Postmam README Chloe Hulme +Asynchrony Research Chloe Hulme +.NET 8 Migration Research Chloe Hulme +CI/CD Technologies Research Chloe Hulme +.NET 8 Migration plus Test for Breaking Changes Chloe Hulme +Migrating Docker Containers to Account for .NET 8 Migration Chloe Hulme +Deployment Progress Update Report Chloe Hulme +IRepository ExecuteReaderAsync Method Chloe Hulme +Adding Price to Database and API on Artworks Chloe Hulme +Adding Price to Artwork Card Component Chloe Hulme +Modifying Artworks to be in Gallery View + Lightbox Chloe Hulme +Implement asynchrony on RP/artwork context Chloe Hulme +Implement asynchrony on RP/artist context Chloe Hulme +Implement asynchrony on RP/media context Chloe Hulme +24 +Upgrade logic on Delete end points Chloe Hulme +Add asynchrony on end points relating to middleware (Artist +Context) Chloe Hulme +Implement asynchrony on RP/exhibition context Chloe Hulme +Implement asynchrony on RP/user context Chloe Hulme +Test asynchronous RP implementations Chloe Hulme +4.2.Completed Deliverables +Ayan was responsible for preparing the product for deployment. In his work this trimester, +he has produced several spike reports, a finalized deployment strategy for us to implement +next trimester, and a mock CI/CD pipeline for us to use as a guide. He has also helped to +select our deployment platform (GCP) and has created a cybersecurity policy for our team +to advise us on use of GCP. All completed deliverables can be found on GitHub. +• CI/CD Pipeline: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CICDPipeline.md +• CI/CD Pipeline Integration Overview: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CICDPipelineOvervie +w.md +• Cybersecurity Policy: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CybersecurityPolicy.m +d +• Deployment Strategies: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/DeploymentStrategie +s.md +• Preliminary Proposal: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/PreliminaryProposal. +md +Ben, Avenue, Edwin and Amos have been working on developing our front end this +trimester. Edwin provided a redesigned logo for us, and he and the rest of the team set up a +Sigma board for us to use in our redesign process. Avenue has also done some research into +UCD for us to use as a guide. Completed deliverables can be found on GitHub and in Figma. +• Figma Board: https: //www.figma.com/file/ohaBXjzqNTWRMFtmulTr01/Artgallery?type=design&node-id=0%3A1&mode=design&t=J0qbicuMWi3lZn5C-1 +• Redesigned Logo: +https: //github.com/ajoju/documentation/commit/29888067b662da062e22c9f0ba8c +ba458cef1a27 +• Research into UCD: +https: //github.com/ajoju/documentation/commit/bf49dff5b91586aa4baff29b31ce3 +a123c11cee0 +25 +Sivasamyuktha has been working on our Lighthouse reporting scores. This has involved +reviewing the changes advised by our previous Lighthouse report, then upskilling JavaScript, +HTML and CSS to improve our Lighthouse scores. Our performance score has improved by +over 20%. All completed deliverables can be found on GitHub. +• Minify CSS and JS code: https: //github.com/thoth-tech/artgallery/pull/40/commits/7fb35b39812902949203b5da7aa2588793213cca +• Lazy Routing: https: //github.com/thoth-tech/artgallery/pull/40/commits/dc91b126e2dfc3e6e9174d44a8d547a24c1808ad +• Implementing Tree shaking with Ant Design: https: //github.com/thoth-tech/artgallery/pull/40/commits/35d5df4e068ddfdfbed9506f830c388b0f08632f +• Updated Lighthouse Scores: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Lighthouse%20Project/T22023- +updated-lighthouse-report.pdf +Dominic has been working on integrating IIIF into our API. He has done in depth research +into making this possible and provided us with several review documents. In addition to +this, he has also provided us with cybersecurity strategies for our deployment, this includes +research into the payment system we will need to integrate, and safe storage of user data +and login credentials. All completed deliverables can be found on GitHub. +• All documents can be found here: https: //github.com/thothtech/documentation/pull/429/files +Chloe has been responsible for upgrading the backend this trimester. She has migrated the +API to .NET 8, and updated the requisite Docker containers to account for this change. She +has also integrated asynchrony into the Repository Pattern of the API, and created some +automated test scripts in Postman to thoroughly test each endpoint. She has also made +some significant changes to the frontend in preparation for InnoFes. This includes +implementing a gallery style view for artwork display, and a Lightbox to showcase individual +artworks. She has also ensured that the price of each artwork can be displayed, which +required adding a column to the artwork table in the database, then updating the API and +frontend to include this change. All completed deliverables can be found on GitHub. +• Asynchrony integration: Implement asynchrony on RP/media context, Implement +asynchrony on RP/artwork context, Implement asynchrony on RP/exhibition +context, Implement asynchrony on RP/user context, Implement asynchrony on +RP/artist context, IRepository ExecuteReaderAsync Method +• Migration to .NET 8: .NET 8 Migration plus Test for Breaking Changes, Migrating +Docker Containers to Account for .NET 8 Migration +26 +• Postman testing: Create Pre-request Scripts in Postman Testing, Postmam +README, Test asynchronous RP implementations +• Frontend changes: Modifying Artworks to be in Gallery View + Lightbox +• Including Price on Artworks: Adding Price to Artwork Card Component, Adding +Price to Database and API on Artworks +4.3. Roadmap +To be completed: +• Integrate IIIF into API for better quality image display +• Implementing redesign of Front end web app +• Deploying the product +• Integrating payment system into front end +• Integrate Postman tests into GitHub Actions CI workflow +In progress: +• Continued redesign of Frontend web app. We only have some pages redesigned +at the moment, and these are not yet finalized. We need to finalize our upgraded +designs. +• Continue to implement lighthouse recommendations. We have improved +performance related scores but need to work on our other scores still. +4.4. Open Issues +• The team itself is quite small with certain members lack coding expertise for the +next phase of the application. It may be hard to achieve what we want to with +this project without recruiting individuals with stronger coding skills, given that +the application is still in its infancy. +• Automated testing needs to be implemented in our CI workflow in GitHub +Actions, faulty code had been pushed in our repository and resulted in our app +breaking. At present, we still do not have a thorough way to prevent this from +happening again. +4.5. Source Code +All of our source code is stored in GitHub in our art-gallery repository. +27 +Our redesigns are done in our Figma +board: https: //www.figma.com/file/ohaBXjzqNTWRMFtmulTr01/Artgallery?type=design&node-id=0%3A1&mode=design&t=J0qbicuMWi3lZn5C-1 +Our Postman collection can be found here: https: //www.postman.com/thoth-tech +If there is trouble locating or accessing or Postman space, Andrew has been added as Admin +and will be able to help. +4.6. Login Credentials +Database - username: postgres, password: PostgreSQL +4.7. Other Relevant Information +Documentation and research regarding deployment is extensive with many helpful +resources on errors and checks related to CI/CD as well. Using these resources will help and +streamline the deployment of the application. +Implementing the automated testing in the CI workflow will be really helpful, we had some +issues this trimester with students pushing code that broke the application. It is a strong +recommendation that preventing this be made a focus early in the following trimester. +Integrating a payment system into our frontend should be a focus as well, given that this is +the entire business model of our platform. +If students wish to work on ‘documentation only’ projects, or do not have strong frontend +programming skills, it is advised they select a different project to work on. +If there are any technical issues in developing the project, Max is a great help and should be +a port of call for the product lead when advice is needed. +We have 3 implementations in our API, however the only one in use is ‘repository pattern’. +Please disregard the other versions as they are now legacy. The client would still like to keep +these implementations in our repo, however they are to be ignored! +4.8. Showcase Video + +The Art Gallery in 4 minutes: https: //video.deakin.edu.au/media/t/1_1gei2x0y +28 +5. Product - Splashkit + +Splashkit is an all-purpose toolkit for beginners built in C++ and can be used with C++ and +C#. Deakin University uses it to introduce students to programming through its easy-to-use +functions. +As part of the Splashkit team, you will be responsible for expanding the toolkit functions, +developing improved and innovative ways of working with Splashkit and creating +educational documents and videos for students. +Core Projects +• Splashkit Arcade +o Splashkit Arcade is a platform for students to feature games built using +splashkit. The university has four arcade units at its Deakin campus for this +purpose. +o Project Goals +▪ Have arcade machines running with a menu system. +▪ System to allow students to upload and test their games. +• Splashkit Expansion +o Our general project that covers modification and expansion of Splashkit, +Updates to Splashkit.io, development environments and packaging. +o Project goals +▪ Port functions from Swin games. +▪ Convert Splashkit.io to Astro Starlight platform. +▪ Create Debian, Brew and Nuget packages +▪ Dev Containers +▪ Splashkit Game Engine – New Initiative (consider splitting into new +project) +• Tutorials +o The Tutorials team is developing a series of tutorials that will help students +get started with SplashKit. +o Project Goals +▪ Individual Tutorials explaining how to use Splashkit Functions. +▪ Creating a 2D Metroidvania Game using splashkit – a tutorial series +showing how to build a game from start to finish using SplashKit. +• Splashkit Online +o An online environment to run SplashKit in a web browser +o Run and compile in the local browser, not using remote VM resources +o Project Goals +▪ Online IDE +▪ Compile and run code in a browser. +▪ Render audio and sound in a browser. +5.1. Team Members and Their Key Achievements +29 +SplashKit – Arcade Machine +Key Achievements (Pull Request links) Team member +Documents for Setting up an Arcade Machine #341 Philip Williams +Create Submodules for Asteroids and DXBallGame #89 Philip Williams +Update/below the surface controles #90 Philip Williams +GitHub Action compile C# Games (Windows, Linux) Philip Williams +DxBall Tweaks Philip Williams +Below The Surface - Update Controles Philip Williams +Asteroids Remove Mouse Add second forward Button Philip Williams +Arcade Machine Theme + Installation Documentation #361 Riley Oussoren +Emulation Station Idle Timer Investigation #404 Riley Oussoren +Runner Dash - clear screen and implement menu #101 Riley Oussoren +Venture Adventure 2nd and 3rd levels #102 Riley Oussoren +Below The Surface Ladder Behavior - temp fix and write up #96 Riley Oussoren +Asteroids Documentation Reformat Ashley Thompson +Below the Surface - Prevent Player 2 from Dieing when going off screen & +Adjusting ladder Behavior #97 +Bryan Taing +Asteroids - Difficulty Slider (UI) #4 Bryan Taing +Pi Emulation#435 Aditya Parmar +Asteroid Add Sound Coskun Kilinc +Asteroids Performance Optimisation Coskun Kilinc +Car Racing On Github KHUSHI LADDI +Add C# packaging to "Game Packaging" LOLIWE LOLIWE +DX-Ball Game, Exit game after 10 Min, Return to Title Screen from Score +Screen, DX Ball - Implement delay to make instant death less likely +Norman Spencer +Harty +Add scoreboard to DXBallGame #85 Norman Spencer +Harty +VentureAdventure - Create menu Systems +VentureAdventure - Create a how to play section Wenxuan Song +ARCADE-PING-PONG Pratham Gupta +30 +SplashKit – Expansion +Key Achievements (Pull Request links) Team member +Splashkit Windows Dev container #414 Philip Williams +Centre Point2D Camers(two Objects) #28 Bryan Taing +Add check for both sprites in AABB collision kind for Sprite-Sprite collision +function #24 +Ro-wern Ong +Collide functions #26 Ro-wern Ong +Post-porting Collides Alterations #27 Ro-wern Ong +WSL - Splash kit installation method Aditya Parmar +Game Engine: Logging Coskun Kilinc +Game Engine: Game Objects Coskun Kilinc +Game Engine: Components Coskun Kilinc +Design and Implement the SplashkitlnterfaceGen Tool Coskun Kilinc +Script Automation for Interface Generation Coskun Kilinc +User Documentation for SplashkitlnterfaceGen Tool Coskun Kilinc +Game Engine: IWindow Manager Coskun Kilinc +Fix Formatting and Code of Conduct Coskun Kilinc +Create automated interface generator for Splashkit Game Engine Coskun Kilinc +Fix Formatting and Code of Conduct Coskun Kilinc +Create automated interface generator for Splashkit Game Engine Coskun Kilinc +Splashkit Game Engine Initial Documentation Coskun Kilinc +Review Controle Schema matches arcade machine Swanny Aurellia +SplashKit – Tutorials +Key Achievements (Pull Request links) Team member +Publishing with Splashkit - C#/C++ Ashley Thompson +Getting Started With Sprites / Sprite Layering Ashley Thompson +Getting Started With Splashkit - Windows Tutorial Proposal Ashley Thompson +Getting Started With Sprites in Splashkit Tutorial - CSharp Ashley Thompson +Getting Started With SplashKit - C++/C# Ashley Thompson +Creating a Metroidvania game Tutorial - Player Character Basics, +Environment, Audio and Sound affects and Power ups and Items +Harney Halls. +Game Concept, +2D Racer features to keep and add, and 2D racer design +tutorial +Harney Halls. +Create tutorials for Cmake and Sprite Layering Tutorial #6 Bryan Taing +Audio Series - Tutorial Proposals Coskun Kilinc +2. Creating a 2D "Metroidvania" Game - Basic Drawing and Graphics Coskun Kilinc +1. Creating a 2D "Metroidvania" Game Using Splashkit - Overview, +Introduction and setup +Coskun Kilinc +New Game - SRS Coskun Kilinc +31 +Understanding CMakeLists.txt for Building the SplashKit Core Library - +Proposal +Coskun Kilinc +Understanding SplashKit Manager (SKM) Shell Commands - Tutorial +Proposal +Coskun Kilinc +Create Documentation Standards Coskun Kilinc +Debugging in VScode Kartik Kaushik +6. Creating a 2D "Metroidvania" Game - Collision Detection and Physics +5. Creating a 2D "Metroidvania" Game - Player Character Advanced +Norman Spencer +Harty +Database - Tutorial Plan Swanny Aurellia +Database - Tutorial Swanny Aurellia +12. Creating a 2D "Metroidvania" Game - Saving and Loading Progress Swanny Aurellia +Mouse Button - Tutorial Swanny Aurellia +Key Code - Tutorial Swanny Aurellia +SplashKit – Online +Key Achievements (Pull Request links) Team member +added the google verification for online splashkit #3 Anshuman Bishnoi +Update README.md (OutlIne and Requirments) Anshuman Bishnoi +api file for the web editor Anshuman Bishnoi +Final version of web editor Anshuman Bishnoi +Research documentation Sherap Thakur +5.2. Completed Deliverables +Please review the Team's Trello Board for a List of Completed Activities and details within +the cards. https: //trello.com/b/3EpqqJ2R +SplashKit Arcade: +• Arcade Machine Base Image Built and Created – Instructions here +• Gold Image used for Deakin Open Day - Image Here, How to Create Here +• Showcase Game Adjustments (note not all updates are in Gold Image) +o Asteroids +▪ Controle Adjustments +▪ Basic Sound added +o DX Ball +▪ Controle Updates +▪ Score Screen Added +▪ Starting behaviour changed +▪ Exit Game After 10 Mins +o Below the Surface +▪ Change Ladder Behaviour +▪ Change the Camera in 2-player mode. +o Venture Adventure +32 +▪ Create End Game State +▪ Added Levels 2 & 3 +o Car Racer – Games Created +o Air Hockey – Game Created +• GitHub Actions updated to Compile C# games (Windows, Linux) +• GitHub Actions updated Compiled Games and Game Assets saved to CompiledGames Directory +• Raspberry Pi Emulation +SplashKit Expansion +• Added CircleCollide Test +• Port Collides Function Group +• Fix Sprite Collision Function - AABB collision Kind +• Centre Point2D Cameras (two Objects) +• Install Splashkit using WSL instructions +• Dev Container (Windows Only) +• Splashkit Starlight (New Website) +o Site built and existing SplashKit.io pages Transferred +o New Documentation Uploaded (WSL Install, Rasberry Pi Emulation) +• Game Engine +o Game Engine: Logging +o Game Engine: Game Objects +o Game Engine: Components +o Design and Implement the SplashkitlnterfaceGen Tool +o Script Automation for Interface Generation +o User Documentation for SplashkitlnterfaceGen Tool +o Game Engine: IWindow Manager +o Fix Formatting and Code of Conduct +o Create an automated interface generator for Splashkit Game Engine +o Fix Formatting and Code of Conduct +o Splashkit Game Engine Initial Documentation +o Splashkit Interfaces +▪ ./include/animations.h +▪ ./include/audio.h +▪ ./include/basics.h +▪ ./include/bundles.h +▪ ./include/camera.h +▪ ./include/circle_drawing.h +▪ ./include/circle_geometry.h +▪ ./include/clipping.h +▪ ./include/collisions.h +▪ ./include/color.h +▪ ./include/database.h +▪ ./include/drawing_options.h +▪ ./include/ellipse_drawing.h +33 +▪ ./include/geometry.h +▪ ./include/graphics.h +▪ ./include/images.h +▪ ./include/input.h +▪ ./include/json.h +▪ ./include/keyboard_input.h +▪ ./include/line_drawing.h +▪ ./include/line_geometry.h +▪ ./include/matrix_2d.h +▪ ./include/mouse_input.h +▪ ./include/music.h +▪ ./include/networking.h +▪ ./include/physics.h +▪ ./include/point_drawing.h +▪ ./include/point_geometry.h +▪ ./include/quad_geometry.h +▪ ./include/random.h +▪ ./include/rectangle_drawing.h +▪ ./include/rectangle_geometry.h +▪ ./include/resources.h +▪ ./include/sound.h +▪ ./include/sprites.h +▪ ./include/terminal.h +▪ ./include/text.h +▪ ./include/text_input.h +▪ ./include/timers.h +▪ ./include/triangle_drawing.h +▪ ./include/triangle_geometry.h +▪ ./include/types.h +▪ ./include/vector_2d.h +▪ ./include/window_manager.h +▪ +• New Game Engine Functionality +o Logger +o ConsoleLogger +o Renderer +o SplashkitRenderer +o GameStateManager +o GameStates +o GameObjects +o Components* +o Transforms* +Note: * indicates partially complete feature +SplashKit Tutorials +• 2D "Metroidvania" Game Creation +o Getting Started and Basics +o 1. Overview, Introduction and setup +34 +o 2. Basic Drawing and Graphics +o 3. Player Character Basics +o 4. Environment Design Basics +o Advanced Features +o 6. Collision Detection and Physics +o 9. Power-Ups and Items +o 11. Audio and Sound Effects +o 12. Saving and Loading Progress +• Database and Debugging +o Database - Tutorial Plan +o Database - Tutorial +o Debugging in VScode +• Tutorials and Documentation +o Mouse Button - Tutorial +o Getting Started With Sprite Layering In Splashkit - Tutorial +o Building the SplashKit Core Library with CMake - Tutorial +o Key Code - Tutorial +o Audio Series - Tutorial Proposals +o Sprite functions - Tutorial Plan +o Sprite Event Handler - Tutorial +o Input Handling - Tutorial Plan +o Key Callback - Tutorial +• Project Management and Repository +o Review Existing Code and select features to keep +o Design Tutorial +o Game Concept +o New Game - SRS +o Move Tutorials to new repo +o Create Documentation Standards +o Create New Programme - Tutorial Plan +SplashKit Online +• Browser based IDE +o Based on code mirror, Can compile and run code in the browser (not using +Splashkit Library) +• Login Page Using Google o'auth +5.3. Roadmap +See Card Status in Backlog for Additional details and Completed Research Cards. +SplashKit Arcade +• Create an automated game download system for Arcade Machines +o The proposed system will use the Arcade-games Repo to check for updates in +the game version and download the latest version +o Games should have a Publish tag or similar to be loaded to the main menu. +o Have a secondary game menu for test games/non-published. +35 +• Updates to Arcade Menu +o Presently the Arcade machine uses Emulation Station forked from the +RetorPI project version. https: //github.com/thoth-tech/ArcadeMenu +o Create a new system for test games +o See if we can modify the EM menu for the following +▪ Trigger Game download scripts +▪ Additional modes +▪ Kiosk – Only show Published Games (for Events) +▪ Normal – Has Published and Test Systems +o Via script or other method have games exit after 10 min's if there's been no +key Input +• Stretch Goals/Interesting ideas +• Consider a local Test Mode – Arcade Switches to AP mode displays connection +info (random password) and has a web server student can drop new game build +on and tests. The machine Would delete the game and reset after a period of +time. +o Security would be a big consideration on this idea as it would be easy to +abuse and not much in the way of logging vs official upload via Git Hub. +• Implement a voting system on the Arcade Machine to give meaning to the star +ranking. +• Arcade Games – GitHub Actions +o Correct C# for Arm (this should be done; see trello card for Status) +▪ Dotnet does not run correctly in the Emulated PI environment +used for C++ games. New Action was created for compiling dotnet +vs Arm games small bug in checking logic to be fixed before +merge. +o Update Arcade – Games Readme +▪ Updated Controle to correctly reflect the Arcade machine +▪ Updated on new Compiling Process +▪ Instruct that All Game Assets must go into the Resources Folder +(Action does try to capture root directories like images, sound, +etc.) This includes level maps etc., or they won't upload to Arcade +Machines +o Implement Versioning for compiled games. +▪ A simple version file in the games directory receives an +incremental bump every time the game is updated so the Arcade +knows to get the latest version. +▪ This file can also contain additional information for the Arcade +Menu. (Author, Publisher, other) +o Retrieve and Compile Games from SubModules +o Formalise Process with Deakin Staff on how Students from Classes like +SIT102 or SIT771 can upload games to the Arcade Machine +▪ Barrier will be using GitHub for new students, especially as this +will use submodules. +▪ Consider creating scripts to automate the linking of sub-modules +• Move All games to Sub-Modules +36 +o Games made by Toth-Tech should be moved to their own repo, (or we +can consider a separate Company if we don't want to crowd the Githubn +too Much) +o This will potentially allow Linking to Other Student Repos. +Splashkit Expansion +• Priority Items Deployment Packages +o Debian Package. +o Nuget Package. +o Brew Package. +• Check for Further Functions from Swin games to port into splashkit. +• Fix Python Compatbility +o Python can no longer be used to code games with SplashKit. Previous +research indicates a change with v3.8; see here. +• Look at Adding AI function to SplashKit +o Can look at LLMs like ChatGPT +o Similar Functions to https: //scikit-learn.org/ +• Dev Container Mac +o As most SplashKit Programs have a visual component and not browser-based +based, we need a way to view the program's window output. This is normally +accomplished by xserver forwarding and sound via pulse audio. +o mac xquartz is a xserver compatible with Mac Instaitl Tests container that can +be setup and run x based programs e.g. xeyes but there is a compatibility +issue with the graphics system in SplashKit. Further investigation is needed. +• SplashKit.io +o Publish Astro Starlight site +▪ The Aim will be to convert Splashkit.io to our new webpage platform +▪ Advise getting a subdomain like new.splashkit.io (or similar) setup for +testing, and Transition will just be a DNS change then) +o Thorough documentation of the new site is needed +o The Existing SplashKit.io may have a function to auto-update the API pages +based on functions added to SplashKit. This should be investigated and +replicated in the new site. +• Game Engine +o Project Setup: Create a streamlined project setup process for easier +onboarding and development. +o Camera System: Implement a flexible and efficient camera system to handle +different views and perspectives. +o Transforms: Develop a system for handling object transformations like +translation, rotation, and scaling. +o Event System: Design an event system for handling game events in an +extensible manner. +o Input Handling System: Implement a robust input handling system to manage +user interactions. +• Documentation Migration +37 +o As the company is moving to a new documentation repository a data +Migration will need to occur between the existing documentation repo and +the new one. +o Work with company operations to plan the migration, but the SplashKit team +needs to move the existing document over (also consider it a good +opportunity to clean house and archive older information) +SplashKit Tutorials +Backlog +• Game Development +o High Level Design +o Complete Demo Game +o 8. Creating a 2D "Metroidvania" Game - Enemies and Combat +o 10. Creating a 2D "Metroidvania" Game - Level Design and Progression +o 13. Creating a 2D "Metroidvania" Game - Polishing and Finalization +o 7. Creating a 2D "Metroidvania" Game - Camera Movement, Parallax and +Depth +• Tutorials and Documentation +o Understanding SplashKit Manager - (SKM) Shell Commands - Tutorial +o Project Structure and Initialization +• Roadmap (Future Plans) +o Integrate different stages of "Creating a 2D 'Metroidvania' Game" for +cohesiveness and consistency. +o Complete remaining tutorials +o Plans for new tutorials, ensuring total Splashkit Functionality +5.4. Open Issues +1. Running SplashKit Programs Full Screen in WSL causes dropped Frames +a. This affects Native SplashKit installs and Windows Dev Containers +2. Arcade Machines Contoles Frezing +a. After some time the actual arcade machine controls become +unresponsive see Trello Card +3. Below the Surface Code needs to be merged back to Build a Game Repo. (from +Acracde-Game Repo) +5.5. Source Code +Documentation +• Core Documentation Repository: +o https: //github.com/thoth-tech/documentation/tree/main/docs/Splashkit +38 +Arcade +• Arcade-games, Keeps Compiled Games: +o https: //github.com/thoth-tech/arcade-games +• Arcade Menu – Fork of Retropies Emulation Station +o https: //github.com/thoth-tech/ArcadeMenu +• Games +o DXBallGame: https: //github.com/thoth-tech/DXBallGame +o Asteroids: https: //github.com/thoth-tech/Asteroids +SplashKit Expansion +• SplashKit Core +o https: //github.com/thoth-tech/splashkit-core +• SKM +o https: //github.com/thoth-tech/skm +• SplashKit Starlight (new Splashkit.io) +o https: //github.com/thoth-tech/splashkit-starlight +• SplashKit-Game-Engine +o https: //github.com/thoth-tech/SplashKit-Game-Engine +• SplashKit Dev Container +o https: //github.com/thothtech/documentation/tree/main/docs/Splashkit/DevEnviroment/Windows_D +evContainer +• SplashKit Translator (Translates the SplashKit C++ source into another language.) +o https: //github.com/thoth-tech/splashkit-translator +Tutorials +• SplashKit Tutorial +o https: //github.com/thoth-tech/SplashKit-Tutorial +• VoidBound (Tutorial Game) +o https: //github.com/thoth-tech/Voidbound +Online +• Splashkit Online +o https: //github.com/thoth-tech/SplashkitOnline +Older Repos That may be useful +• Build a game Team (Below the Surface Source Repo) +o https: //github.com/thoth-tech/build-a-game-team +• SplashKit Games and Tutorials +o https: //github.com/thoth-tech/SplashKit-Games-and-Tutorials +• arcade-machine (Orginal Menu system for Arcade, Would be nice to get it running +was reported as having perforamce issues but might work ok form CLI only mode) +o https: //github.com/thoth-tech/arcade-machine +39 +6. Product - CourseFlow +CourseFlow aims to assist students in planning and comprehending the requirements and +structuring of university courses. Users can generate and adjust their CourseMap to account +for changes. For instance, a student will be able to see their expected graduation date or +complications that may arise if they complete units in a particular order or study load. +Students are also able to use the ‘discovery’ page to find units or electives that are relevant +to their course, interests, and career goals. Units are represented as dots and units that are +more like each other or to a particular field such as law or art are grouped together. +The project overall aims to assist students in planning out how they will complete their +course and adjust for changes that will affect their course plan. +6.1. Team Members and Their Key Achievements +Key Achievements (Pull Request links) Team member +Unit dialog popup by keyruhn · Pull Request #27 · thothtech/CourseFlow (github.com) +Header and unitcard component by keyruhn · Pull Request #20 · +thoth-tech/CourseFlow (github.com) +Kieron Boyle +Custom clustering-based network layout algorithm for determining +initial unit node positions by Vortrox · Pull Request #31 · thothtech/CourseFlow (github.com) +Network layout algorithm by Vortrox · Pull Request #26 · thothtech/CourseFlow (github.com) +Add backend API endpoints by Vortrox · Pull Request #23 · thothtech/CourseFlow (github.com) +Mel David Bugay +Discovery page pre calculated nodes implementation by +cmarktopher · Pull Request #33 · thoth-tech/CourseFlow +(github.com) +Discovery page ngx graph by cmarktopher · Pull Request #32 · thothtech/CourseFlow (github.com) +Docker integration by cmarktopher · Pull Request #25 · thothtech/CourseFlow (github.com) +https: //github.com/thoth-tech/CourseFlow/pull/17 +Ngx graph vs d3.js by cmarktopher · Pull Request #410 · thothtech/documentation (github.com) +Mark Enriquez +Login form and registration form (Frontend) by OmarHassanzada · +Pull Request #28 · thoth-tech/CourseFlow (github.com) +Hazratomar +Hassanzada +40 +CourseFlow Login and Registration Page Development Report by +OmarHassanzada · Pull Request #431 · thoth-tech/documentation +(github.com) +2FA-Documentation by OmarHassanzada · Pull Request #374 · thothtech/documentation (github.com) +Documentation Images Markdown by codeJdawg · Pull Request #38 +· thoth-tech/CourseFlow (github.com) +Create Discovery Page Function.md by codeJdawg · Pull Request #37 +· thoth-tech/CourseFlow (github.com) +Create Docker Research.md by codeJdawg · Pull Request #35 · thothtech/CourseFlow (github.com) +Create Analytics Page Design.md by codeJdawg · Pull Request #34 · +thoth-tech/CourseFlow (github.com) +Create Contribution.md by codeJdawg · Pull Request #21 · thothtech/CourseFlow (github.com) +Jaden Doss +Implemented Pop Up Designs, Add Functional Close Button, Update +JSON file that consists all relavent data by wmvoon · Pull Request #30 +· thoth-tech/CourseFlow (github.com) +Included All Designs from Figma by wmvoon · Pull Request #373 · +thoth-tech/documentation (github.com) +Wei Min Voon +Updates (Look at description) by SoVinhou · Pull Request #29 · thothtech/CourseFlow (github.com) +Log in client demo branch by SoVinhou · Pull Request #22 · thothtech/CourseFlow (github.com) +Sovinhou Ung +Side Bar integration and added features by CynthiaChee · Pull +Request #36 · thoth-tech/CourseFlow (github.com) +Create CourseFlow_SideBar.png by CynthiaChee · Pull Request #403 +· thoth-tech/documentation (github.com) +Add Figma prototype screenshots (Timetable View and Analytics +View) by CynthiaChee · Pull Request #372 · thothtech/documentation (github.com) +Cynthia Yi Min Chee +41 +6.2. Completed Deliverables +Course Map +Contributing Team Members +Design work by: Kieron Boyle, Cynthia Yi Min Chee, Wei Min Voon +Technical work by: Kieron Boyle, Cynthia Yi Min Chee, Wei Min Voon +Summary of Deliverables +• Finalised UI design on Figma +o The Figma project has pages divided into finalised designs as well as drafts. +• Base implementation of the CourseMap page and dynamically displaying the core +units for a specific course (read from the json file) +o There is a limit of 4 units displayed in each row of a the ‘unit-container div’ +This is since there is generally a maximum of 4 units per trimester. +o The ‘unit card’ for a unit can be clicked on. A dialog box will then open that +contains more information about the specific unit. +• Web scraped data on courses and units have been sectioned into relevant json files. +o There is a file containing only Bachelor of Computer Science units, a file with +data for all units and a file for all courses. +▪ The course data contains the core units for a course. The unit data +contains the unit summary, prerequisites, assessments, GLO’s and +more. +Deliverable Location +At this stage, this current main implementation of the CourseMap Page is present in this +branch of the CourseFlow repository: +https: //github.com/thoth-tech/CourseFlow/tree/dev/webpage-merging/Frontend +This will later be merged into the development branch: +https: //github.com/thoth-tech/CourseFlow/tree/development +The current Figma designs can be located here: +https: //www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +Discovery +Contributing Team Members +42 +Design work by: Cynthia Yi Min Chee and Wei Min Voon +Write up by: Jaden Doss +Technical work by: Mark Enriquez +Summary of Deliverables +• Create a UI for the ‘Discovery’ view page. +• Base implementation of the ‘Discovery’ view page and visualising the data +completed using d3.js: +o The graph-based map has been implemented which supports data (unit data +for example) with pre-calculated x and y positions. +▪ Pre-calculated x and y positions are done via algorithms on the +backend. +o A text-based list which serves as an alternative to the graph-based map is +also implemented which supports this data. +o Nodes on the graph are clickable which brings up a detailed panel to show +more information. +▪ Links to a node such as related units (pre-requisites etc.) are available +as buttons which can be clicked to bring up that node’s information. +▪ Transition animation is also present from node to node. +• Other implementations of the Discovery Page is also available: +o A force-directed, hierarchical based graph using d3.js. +o A force-directed graph using the ngx-graph library. +Deliverable Location +Main Pre-Calculated Position based Implementation using d3.js +At this stage, this current main implementation of the Discovery Page is present in this +branch of the CourseFlow repository: +https: //github.com/thoth-tech/CourseFlow/tree/dev/webpage-merging +This will later be merged into the development branch: +https: //github.com/thoth-tech/CourseFlow/tree/development +Other Implementations - Force-directed, hierarchical based graph using d3.js +https: //github.com/thoth-tech/CourseFlow/tree/prototype/discovery-page-force-sim-graph +Other Implementations – Ngx-graph +https: //github.com/thoth-tech/CourseFlow/tree/research/discovery-page +43 +User authentication +Contributing Team Members +Hazratomar Hassanzada and Sovinhou Ung +Summary of Deliverables +• Created a UI login of the CourseFlow website +• Backend that stores the log in details of the user +o This has been implemented via firebase +▪ The log in information can be accessed via the firebase account log in +which has been provided under the login credentials. +Deliverable Location +https: //github.com/thoth-tech/CourseFlow/tree/dev/authentication +Backend +API endpoints +Contributing Team Members +Mel Bugay +Summary of Deliverables +- Created API endpoints to allow the frontend webpages to get unit data from the +database +Deliverable Location +Add backend API endpoints by Vortrox · Pull Request #23 · thoth-tech/CourseFlow +(github.com) +Unit network layout algorithm +Contributing Team Members +Mel Bugay +Summary of Deliverables +- Created a custom network layout algorithm to determine where units should be +initially positioned on the unit discovery webpage in Python. +44 +- The algorithm works by calculating the similarity between two units based on factors +such as their unit code, year level, and university faculty +- The clustering-based variant of this algorithm uses DBSCAN to assign each unit to +clusters based on their similarity to each other, then calculates the layout of each +cluster using the Kamada-Kawai algorithm. The clusters are then combined together. +- The stochastic gradient descent variant uses the Tensorflow and Keras libraries to +create a neural network that calculates the optimal positions of nodes. +- The optimal x and y position of each node can be optimized using a custom loss +function. +- The SGD prototype was abandoned in favour of the clustering-based variant because +the math required to create a visually pleasing layout was too difficult for anyone in +the team to understand and work on. +Deliverable Location +Clustering based: +Custom clustering-based network layout algorithm for determining initial unit node +positions by Vortrox · Pull Request #31 · thoth-tech/CourseFlow (github.com) +Neural network/stochastic gradient descent-based prototype: +Network layout algorithm by Vortrox · Pull Request #26 · thoth-tech/CourseFlow +(github.com) +Docker +Contributing Team Members +Write up by: Jaden Doss +Technical work by: Mark Enriquez +Summary of Deliverables +• Created a Docker image containing a complete development environment for the +frontend. +Deliverable Location +https: //github.com/thoth-tech/CourseFlow/tree/development +6.3.Roadmap +Course Map +45 +• The user needs to be able to edit a specific year of their coursemap. +o The year ‘container’ should have an icon that the user can click that opens a +small dialog box. +o From this the user would be able to change or alter the coursemap for that +specific year. For instance, the number of trimesters the user will study, The +study load for the year etc +• The user needs to be able to edit a specific trimester of their coursemap. +o The year ‘trimester’ should have an icon that the user can click that opens a +small dialog box. +o From this the user would be able to change or alter the coursemap for that +specific trimester. For instance, the number of units in the trimester the +student will undertake. +• There needs to be functionality that allows users to add or edit a unit +o For instance, a user can enter in a unit code to a specific trimester. If the unit +is able to be studied in that trimester and all prerequisite units will be +complete prior then the unit can be added into the trimester. +• The ‘side menu’ has a variety of sub sections such as ‘overview’ and ‘edit +coursemap’. The contents of these sections need to be expanded on +o +Discovery +• Now that we have a base implementation, work can be done on optimizing the +graph. +o Despite using pre-calculated positions, rendering over 3000 nodes/units is +still quite laggy. +• We need to connect this to a backend endpoint. +o At this stage, this is reading data from a JSON file. +• Width and height of the graph is fixed, and we need to introduce responsiveness to +different screen sizes. +o This applies to the whole page in general and not just the graph. +o Will need to improve transition animations from node to node as it seems +screen sizes can impact this feature. +• Some modifications to the front-end code might be required depending on the +layout algorithm on the backend. +o The layout algorithm on the backend is still being worked on and may impact +the frontend. +Analytics +• An implementation of this component in Angular is required. +46 +o It may even be determined that this section isn’t required and can be added +as a sub-feature of the CourseMap page. +Backend +Measuring unit similarity based on its description +- Use an AI based approached to determine how similar two units are to each other +based on their description. +- This would allow the unit discovery page to cluster units that are more similar to +each other in a way that is more meaningful. +- Some proposed ways to achieve this include: +o Using a bag-of-words approach. In this approach we assume that units that +are similar to each other will share keywords with each other. +o Using pre-trained word embeddings. This allows unit with descriptions that +contain words that are semantically similar to each other to be considered +more similar to each other. +o Using pre-trained language models. +Web-scrapers to get unit information directly from the university site +- The current unit data we have is outdated or incomplete, so it would be nice if we +could update it using a custom-built web-scraping tool that gathers unit data directly +from the university’s handbook webpage +Docker +• Enhance the Docker related files to incorporate the Backend once it is ready. +o The plan is to have two separate containers for the frontend and backend. +6.4. Open Issues +Technical issues +- We are still working on getting a reliable source of unit/course data through a +combination of web-scraping and using language models. The current source of this +data is either given to us by Deakin staff (which has limited information) or sourced +ourselves from the 2019 university handbook PDF file (which is unreliable) +- The layout of units as nodes on the discovery page is still a WIP. We created a +somewhat working layout algorithm but not completely satisfied with it yet. +- Need to set up a CI/CD pipeline for the project once it matures some more. This +includes setting up a Docker network for the backend. (We have a docker image for +developing the frontend but I’m talking about making one for deploying CourseFlow) +47 +- Most of the code in the project lacks any form of automated testing. +- Frontend webpages need to communicate with the backend to get unit information +from the database instead of hardcoding this information in the code or loading it +from a JSON file. The webpages currently load this information into the webpage +through services in Angular, so we should be able to easily replace these with new +services that communicate with the backend. +- The user authentication webpages aren’t communicating with the rest of the +backend system at all, they’re communicating directly with an online database +hosted by Firebase. This part of the authentication which belongs to the backend is +written in Typescript instead of C# like the rest of the backend. We need to rewrite +the authentication webpages to bring user authentication under the control of the +backend system and address these two issues. +Project issues +- Need to create streamlined instructions for setting up a development environment +and contributing to the project for future capstone members. Some work on this has +already been done in the project’s README.md and Contributing.md files in the +project repository’s root folder. +- There is a lot of work to be done on CourseFlow, however this trimester we had a lot +of difficulty in breaking down the tasks into smaller ones that could be distributed to +team members. +- Most members joining the project had very limited or no experience in using Git or +GitHub. As product leads, we were able to give them enough training to contribute +code to the main repository through pull requests, however the lack of experience +limited members’ ability to directly collaborate on code together. If they needed to +collaborate on code, most members shared the code by directly sending files to each +other for most of the trimester. +6.5. Source Code +GitHub repository +CourseFlow’s GitHub repository: https: //github.com/thoth-tech/CourseFlow/ +All CourseFlow’s source code can be found in the GitHub repository. +Research and documentation +Most of CourseFlow’s research and documentation can be found at Thoth Tech’s +documentation repository documentation/docs/Courseflow at main · thothtech/documentation (github.com). +Some documentation about the code is kept at CourseFlow’s main repository at +CourseFlow/Documentation at development · thoth-tech/CourseFlow (github.com). +48 +Webpage prototypes +Prototypes of CourseFlow’s webpages are kept on Figma at +https: //www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +6.6. Login Credentials +CourseFlow’s GitHub repository: https: //github.com/thoth-tech/CourseFlow +You will need a GitHub account to contribute to the code. To contribute code, contact +CourseFlow’s product lead to gain write access or open a pull request to this repository. If +you are the product lead, contact Thoth Tech’s director to gain admin permissions for the +repository. +Firebase Login: +Email: courseflowfirebase@gmail.com +Password: _Courseflow@8756 +Figma: https: //www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +Sign in with a Figma account to get edit access. +6.7. Other Relevant Information +Repository structure +In the CourseFlow repository, we follow a structured branch management approach to +ensure efficient and organized development. +Main Branch: The main branch within the CourseFlow repository holds stable versions of +the application. Access to this branch is restricted to repository maintainers and admins, +and contributors are required to submit pull requests (PRs) for changes. This strict control +helps maintain a reliable and deployable codebase. +Development Branch: The development branch is where ongoing work and new features +are integrated. Contributors make PRs to this branch, and it undergoes continuous +integration and testing to ensure code quality. Contributors with maintainer or admin +permissions have the option to push minor commits directly to the development branch for +swift updates. +Feature Branches: For specific tasks or features, contributors create feature branches +derived from the development branch. Feature branches isolate individual work, allowing +49 +parallel development. Once a feature is complete, a PR is submitted to merge it back into +the development branch. This workflow keeps the development process organized and +ensures that changes are thoroughly reviewed before integration. +Users with write permissions can push commits directly to feature branches, but this +practice is discouraged. It should only be employed for rapid collaboration with other team +members. Instead, we recommend contributors first push their changes to a fork of +CourseFlow and then create a PR to merge those changes into one of CourseFlow's +branches. +File structure +Files in the CourseFlow repository are separated into the Frontend, Backend, or +Documentation folders depending on their purpose. +/Frontend: Contains code belonging to CourseFlow’s website frontend, which are +responsible for generating and displaying webpages which the user directly interacts with. +The main Angular application is contained within the /Frontend/course-flow-app folder. +Other Angular applications or webpages created in parallel are contained within their +respective folders in the /Frontend folder. +/Backend: Contains code related to CourseFlow’s website backend and data integration +layer. The code in this directory is responsible for storing and retrieving data, facilitating +communication between the database and frontend, gathering unit information, and storing +them in the database. "MD033": { - "allowed_elements": ["ul", "li", "img"] - }, - "MD013": { - "tables": false - } + "allowed_elements": [ + "ul", + "li", + "img" + ] +}, +"MD013": { + "tables": false } +} \ No newline at end of file diff --git a/src/content/docs/teams-and-leadership/Hand over report b/src/content/docs/teams-and-leadership/Hand over report new file mode 100644 index 00000000..69c0f920 --- /dev/null +++ b/src/content/docs/teams-and-leadership/Hand over report @@ -0,0 +1,2330 @@ +Deakin University +Capstone Team Project (B) +OnTrack Submission +Company Handover and Showcase +Submitted By: +Daniel Maddern +maddernd +Tutor: +Andrew Cain +Group Members: +maddernd Daniel Maddern ����� +ungso Sovinhou Ung ���� +chulme Chloe Eloise Hulme ����� +siva Sivasamyuktha Selvarajuh ��� +qvcao Quoc Vi Cao ��� +cynt Cynthia Yi Min Chee ��� +saurellia Swanny Aurellia ��� +wvoon Wei Min Voon ��� +ongr Ro Wern Ong ���� +hhassanzada Hazratomar Hassanzada ���� +djsutherland Dylan Sutherland � +kaboyle Kieron Anthony Boyle ����� +jdoss Jaden Doss ��� +s221071083 Jayant Jayant ��� +mbugay Mel David Bugay ����� +anellippillijos Anirudh Nellippilli Joshi � +kdadams Kyle David Adams ��� +nharty Norman Harty ��� +dryzner Dominic Robert Ryzner ��� +roussoren Riley Michael Oussoren ��� +singhind Inderdeep Singh ���� +sfrehman Syed Faiq ur Rehman ���� +s222574652 Philip Williams ����� +s221199844 Nidhisha Ravindra Pahade � +quazis Sanah Quazi ��� +s221519423 Thando Loliwe �� +hhalls Harney Halls ��� +aghilesharasu Aghilesh Arasu � +s221071216 Sherap Thakur � +September 27, +2023 +Produced by Doubtfire +2 +Thoth Tech Showcase Video Links +Company (Thoth tech) Showcase Video: https: //video.deakin.edu.au/media/t/1_kd7o8aft +Company Operations Showcase Video: https: //video.deakin.edu.au/media/t/1_yrgrebdj +OnTrack Showcase Video: https: //video.deakin.edu.au/media/t/1_qtqbi271 +Art Gallery Showcase Video: https: //video.deakin.edu.au/media/t/1_1gei2x0y +1 + + + + + +Product Handover and +Showcase Document +Thoth Tech +Trimester 2, +2023 +2 +Table of Contents +1. Leadership Team................................................................................................................4 +1.1. Company Directors ....................................................................................................4 +1.2. Student Leadership ....................................................................................................4 +1.3. Updated Company Organization Chart......................................................................4 +1.4. Company Showcase Video.........................................................................................5 +2. Products - Company Operations........................................................................................5 +2.1. Team Members and Their Key Achievements...........................................................6 +2.2. Completed Deliverables.............................................................................................9 +2.3. Roadmap....................................................................................................................9 +2.4. Open Issues..............................................................................................................10 +2.5. Source Code .............................................................................................................10 +2.6. Login Credentials......................................................................................................10 +2.7. Other Relevant Information.....................................................................................10 +2.8. Showcase Video .......................................................................................................11 +3. Product – OnTrack ..........................................................................................................11 +3.1. Team Members and Their Key Achievements.........................................................13 +3.2. Completed Deliverables...........................................................................................20 +3.3. Roadmap..................................................................................................................21 +3.4. Open Issues..............................................................................................................22 +3.5. Source Code .............................................................................................................22 +3.6. Login Credentials......................................................................................................22 +3.7. Other Relevant Information.....................................................................................22 +3.8. Showcase Video .......................................................................................................22 +4. Product – Art Gallery .......................................................................................................22 +4.1. Team Members and Their Key Contributions..........................................................23 +4.2. Completed Deliverables...........................................................................................24 +4.3. Roadmap..................................................................................................................26 +4.4. Open Issues..............................................................................................................26 +4.5. Source Code .............................................................................................................26 +4.6. Login Credentials......................................................................................................27 +4.7. Other Relevant Information.....................................................................................27 +3 +4.8. Showcase Video .......................................................................................................27 +5. Product - Splashkit...........................................................................................................28 +5.1. Team Members and Their Key Achievements.........................................................28 +5.2. Completed Deliverables...........................................................................................31 +5.3. Roadmap..................................................................................................................34 +5.4. Open Issues..............................................................................................................37 +5.5. Source Code .............................................................................................................37 +6. Product - CourseFlow.......................................................................................................39 +6.1. Team Members and Their Key Achievements.........................................................39 +6.2. Completed Deliverables...........................................................................................41 +6.3. Roadmap..................................................................................................................44 +6.4. Open Issues..............................................................................................................46 +6.5. Source Code .............................................................................................................47 +6.6. Login Credentials......................................................................................................48 +6.7. Other Relevant Information.....................................................................................48 +4 +1. Leadership Team +1.1. Company Directors +• Andrew Cain, Managing Director +• Glory Lee, Managing Director +1.2. Student Leadership +• Daniel Maddern – Product Lead for OnTrack +• Daniel Maddern & Chloe Hulme – Product Lead for Art Gallery +• Mel David Bugay & Kieron Anthony Boyle – Product Leads for Courseflow +• Phil Williams – Product Lead for Splash Kit +• Onyedikachi Okorie - Product Lead for Company Operations +1.3. Updated Company Organization Chart +5 +1.4. Company Showcase Video +https: //video.deakin.edu.au/media/t/1_kd7o8aft +2. Products - Company Operations +This team oversees the entire operations of Thoth Tech and strives to make things easier. We +aim to make the onboarding process as smooth and clear as possible, as well as increase the +knowledge of our seniors in meaningful ways while creating policies to improve the wellbeing +of all company employees. In the short term, we would like to create new documentation, +policies, workflows, and processes that are relevant to improve the company’s outlook and +overall productivity. In the long term, we aim to store documentations in a dedicated website +(Docusaurus) to make it easy to push updates, new features, and bug fixes to everyone +without the need to gain access to our GitHub repository. +Projects +• Documentation Website: The goal of this project is to deliver a website that serves +as a location for all company documents, this would help eradicate document +management and retrieval issues ensuring everyone has full access to the +documents they need to function in the company. +• Policy creation: The goal of this project is to create policies that would guide every +member of Thoth Tech in using tools and technologies adopted by the company. This +focuses on areas like GitHub, Trello, creating documents, using the Documentation +website, and so on. +• Documentation: This involves documenting every work and activity necessary for +project and business continuity. Every plan and outcome for a project is being +documented and currently stored in the Company Operations GitHub repository, the +end goal is for all documentation to be stored in the documentation website being +created (Starlight). +Aims for Trimester +• Develop a policy for git-workflow. +• Create a policy for Trello and the processes associated with it. +• Describe and document the steps required to progress a change through a product. +6 +• Introduce a new onboarding document for the Ontrack product. +• Explore the use of Docusaurus for storing documentation. +• Generate code standard to be used for all product deployment. +• Ensure group OnTrack tasks are completed to a satisfactory standard. +• Write a list of new tasks for the documentation team to begin building. +Deliverables +• Generated policies to be implemented by the company. +• Deploy Docusaurus for company use. +• Migrate all documentations to Docusaurus. +• Develop general standards for the company in all areas that apply. +2.1. Team Members and Their Key Achievements +Key Achievements (Pull Request links) Team +member +Created Company Operations repository on Thoth Techs GitHub account and created a +folder structure. +folder update by Kachi-Okorie · Pull Request #1 · thoth-tech/Company-Operations +(github.com) +Onyedik +achi +Okorie +Generated a guideline on how to associate Trello cards with GitHub. +add-github-actions-to-trello by Kachi-Okorie · Pull Request #2 · thoth-tech/CompanyOperations +Converted 2.1P Task to markdown and published on GitHub. Add Company Catalogue - +KO by Kachi-Okorie · Pull Request #4 · thoth-tech/Company-Operations (github.com) +Create an Issues Resolution folder and updated it with issues faced with found +resolution. +Add-Issue-Resolutions-KO by Kachi-Okorie · Pull Request #5 · thoth-tech/CompanyOperations (github.com) +Created a hosting plan for Docusaurus and performed a test on Render (a web hosting +platform). +Docusaurus Hosting Plan & Render Outcome - KO by Kachi-Okorie · Pull Request #7 · +thoth-tech/Company-Operations (github.com) +Created GitHub Management policy. +GitHub Company Policy-KO by Kachi-Okorie · Pull Request #10 · thoth-tech/CompanyOperations +7 +Created a folder for Starlight project and populated it with the folders, templates, +modules, and other resources required to create the documentation website. +Add-Starlight-Project-KO by Kachi-Okorie · Pull Request #11 · thoth-tech/CompanyOperations (github.com) +Added the Process, Teams, and leadership pages on Starlight. +Adding teams n leadership page to Starlight - KO by Kachi-Okorie · Pull Request #14 · +thoth-tech/Company-Operations (github.com) +Code and Built Policy Page on Starlight +https: //github.com/thoth-tech/Company-Operations/pull/18 +https: //github.com/thoth-tech/Company-Operations/pull/19 +Fix Netlify Check Issue on GitHub +https: //github.com/thoth-tech/documentation/pull/390 +Added Starlight project to Documentation repo +https: //github.com/thoth-tech/documentation/pull/406 +Migrate Products documentations to Starlight. +https: //github.com/thoth-tech/ThothTech-Documentation-Website/pull/2 +https: //github.com/thothtech/documentation/commit/9b4a65ad4aec4df11e15a809213fcc03f5c2273a +https: //github.com/thothtech/documentation/commit/c3d019b064428896070719de3bbeee6da097f505 +Create and Populate News Page on Starlight +https: //github.com/thoth-tech/ThothTech-Documentation-Website/pull/5 +Update Onboarding Document to Contain Welcome Package Info +https: //github.com/thoth-tech/ThothTech-Documentation-Website/pull/6 +Create a Google form for Assigning New Students to Products +https: //forms.gle/c9HPFvDRAUon9uEk9 +Create an Instructional Video on How to Upload Documents to Starlight +https: //deakin365.sharepoint.com/:v:/r/sites/ThothTech2/Shared%20Documents/Gen +eral/Instructional%20Video%20- +%20How%20To%20Upload%20Documents%20to%20Starlight.mp4?csf=1&web=1&e= +6JHZnd +Created logo for Company Operations. +Company-Operations/images/CompanyOps-logo.png at main · thoth-tech/CompanyOperations (github.com) +Created Spike documentations for using Docusaurus as a documentation website. +Docusaurus research by QuinnCurtis02 · Pull Request #3 · thoth-tech/CompanyOperations (github.com) Quinn +Created High-level prototypes for the documentation website interfaces. Curtis +Add UI desing samples by QuinnCurtis02 · Pull Request #12 · thoth-tech/CompanyOperations (github.com) +8 +Researched on various documentation platforms to determine the one that meets +Thoth Techs requirement. +Add documentation platform research by QuinnCurtis02 · Pull Request #13 · thothtech/Company-Operations (github.com) +Created Starlight landing page and product page. +added home page and products to starlight by QuinnCurtis02 · Pull Request #15 · thothtech/Company-Operations (github.com) +Created a basic landing and products page for the documentation project. +https: //github.com/thoth-tech/Company-Operations/pull/15 +Themed the documentation site with a focus on the products page. +https: //github.com/thoth-tech/documentation/pull/384 +Moved the starlight project to a new repo and updated Astro version. +https: //github.com/thoth-tech/ThothTech-Documentation-Website/pull/1 +Researched the proper platform for hosting the documentation website. +https: //github.com/thoth-tech/Company-Operations/pull/24 +Documented learnings from investigating various documentation platforms. +Docs: knowledge base prior learning and test documentation by Kyle-Dav · Pull Request +#9 · thoth-tech/Company-Operations (github.com) +Kyle +Adams +Improved the side navigation bars on Starlight. +updated starlight config for sidebar -KA by Kyle-Dav · Pull Request #16 · thothtech/Company-Operations (github.com) +Produced basic landing pages for all products. +Docs/md to mdx landing by Kyle-Dav · Pull Request #4 · thoth-tech/ThothTechDocumentation-Website (github.com) +filled out the landing pages -KA by Kyle-Dav · Pull Request #3 · thoth-tech/ThothTechDocumentation-Website (github.com) +Collaborated on the research for documentation platforms. +Add documentation platform research by QuinnCurtis02 · Pull Request #13 · thothtech/Company-Operations (github.com) +Created test documentation to temporarily fill knowledge base. +docs: created ExampleDocMD and ExampleDocRJS · Kyle-Dav/thothoperations@15e3c66 (github.com) +Docs: knowledge base prior learning and test documentation by Kyle-Dav · Pull Request +#9 · thoth-tech/Company-Operations (github.com) +Started the testing for changing product repository. +Move updated Starlight to the documentation repo root on Company Operations | +Trello +Created Onboarding document and conducted research on Docusaurus +https: //github.com/thoth-tech/Company-Operations/pull/17 +Harshita +Shroff +Drafted documentation policy for Company – Thoth Tech +9 +https: //github.com/thoth-tech/Company-Operations/pull/22 +Created guide on how to use Starlight (Company’s Documentation website) +https: //github.com/thoth-tech/Company-Operations/pull/23 +Created project progress policy +https: //github.com/thoth-tech/Company-Operations/pull/23 +Created upskilling document for Javascript, Angular, Typewrite, Material library for CSS +https: //github.com/thoth-tech/Company-Operations/pull/23 +Documented requirements for documentation website +https: //github.com/thoth-tech/Company-Operations/pull/23 +Converted the 6.1P task into markdown for retaining information for further reference. +https: //github.com/thoth-tech/Company-Operations/pull/25 +2.2. Completed Deliverables +• Created Spike plan and Outcomes for documentation Platforms. +• Designed and built the documentation website on Starlight. +• Populated the documentation website with required information. +• Created an instructional video for using Starlight. +• Produced a Trello Management Policy +• Produced a GitHub Management Policy +• Produced an Onboarding/Welcome documentation for new students. +• Generated a Documentation Policy. +• Creation of an Upskilling Document +• Created Spike Outcome for Render as a Hosting platform. +• Documented a step-by-step procedure on how to upload documents to Starlight. +• Successfully compiled and submitted 2.1P, +6.1P, and 11.1P tasks. +• Researched Netlify as a free hosting platform and created Spike document. +• Successfully hosted documentation website on Netlify - https: //main--strong-fairyc1bde1.netlify.app/ +2.3. Roadmap +• Containerize the documentation website project. +• Launch the Documentation website. +• Conduct a company wide workshop on how to upload documentations to the +website. +• Enforce the use of the policies created this trimester (T2/2023). +• Choose a password management system for Thoth Tech. +• Update Netlify (Web hosting platforms) to use the Directors credentials. +• Move the documentation website to the documentation repository. +10 +2.4. Open Issues +When the documentation website is deployed on the documentation repository, the +website is published as seen through the Netlify portal however, the Netlify checks on +GitHub keeps failing. +2.5. Source Code +Projects, documentations, and other artifacts produced by the Company Operations team +can be found using the following links. +• Company Operations Repo: thoth-tech/Company-Operations (github.com) +• Thoth Tech Documentation Website Repo: https: //github.com/thothtech/ThothTech-Documentation-Website +• Company Operations folder in the Documentation Repo: +documentation/docs/Company Operations at main · thoth-tech/documentation +(github.com) +2.6. Login Credentials +The only account used by Company Operations that requires login credentials is the Netlify +account for hosting Thoth Techs documentation website. This is currently authenticated +using Onyedikachi Okories credentials; however, a backlog item has been created to use the +directors’ credentials – Andrew Cain. +2.7. Other Relevant Information +• Trello Board link: Company Operations | Trello +• Documentation Website: Welcome to Thoth Tech! (main--strong-fairyc1bde1.netlify.app) +• GitHub Policy: GitHub Management Policy (main--strong-fairy-c1bde1.netlify.app) +• Trello Management Policy: Trello Management Policy (main--strong-fairyc1bde1.netlify.app) +• Onboarding/Welcome Documentation: Thoth Tech Welcome Package (main--strongfairy-c1bde1.netlify.app) +• Onboarding Form: https: //forms.gle/c9HPFvDRAUon9uEk9 +• Upskilling Documentation: Company-Operations/Company Policy/Upskilling +document.md at main · thoth-tech/Company-Operations (github.com) +• Documentation Policy: Company-Operations/Company Policy/Documentation +Policy.md at main · thoth-tech/Company-Operations (github.com) +• Instructional Video on Using Starlight: +https: //deakin365.sharepoint.com/:v:/r/sites/ThothTech2/Shared%20Documents/G +eneral/Instructional%20Video%20- +11 +%20How%20To%20Upload%20Documents%20to%20Starlight.mp4?csf=1&web=1&e +=s26lMo +2.8. Showcase Video +Long video: https: //video.deakin.edu.au/media/t/1_yrgrebdj +3. Product – OnTrack +This trimester Ontrack will be working dynamically across a variety of projects. We will be +working based on a priority system to get as many useful changes implemented as possible +in the trimester. +We will be breaking each project into smaller subcomponents to allow people to work +across projects in areas that are strong at or interested in. Everything should be completable +in a 2-week sprint. +Projects +• Numbas Integration – We are integrating the Numbas mathematics tests into the +Ontrack Workflow, so tests can be taken during the submission process and can be +incorporated into the workflow to complete a submission based on passing or failing +the test. +• Migration Front End – We have migrated a lot of our components to the later +version of Angular, however there still a range of components that need to be +migrated to FX layout with Tailwind. +• Terminators – This a project to resolve bugs that are in the system, there are a few +key ones we want to focus on first, and any additional bugs will also be added into +this backlog. +• Improvers – This a project to enhance some of our existing features with new +functionality, there are a range of different features we want to enhance. +• Inventors – This project is to scope out and start the build of new features we want +including in the system, again there is a range of new features, and they are at +various stages of development. +12 +• Data Analytics – This project has taken a step back, we will be reviewing the +progress last trimester and coming up with a new project plan and design on how we +want to deliver this. +• Attendance Module – We want to create an attendance module; in that you can use +SSO from different organisations like google/GitHub or other universities to log into +the system. +Aims for Trimester +• Complete the Numbas Integration into Ontrack +• Migrate legacy Angular components to FX layout with tailwind (Migrators) +• Feature enhancements (Terminators) +• Feature enhancers (Improvers) +• New Features (Inventors) +• Data Analytics - New project plan, review of previous work completed, New Project +Aims document. +• Authentication module – Design and plan for the module to be built. +Deliverables +Our main deliverables will be based on story points completed in the Trello tasks; we are +aiming for students to complete between 5-6 Story points every 2-week sprint. +Short Term Deliverables (This trimester): +• Numbas PoC Completed +• Numbas direct integration 70% complete +• 50% of Angular migration completed. +• All bugs resolved. +• New features mapped out ready for next trimester. +• Review of Data Analytics and Plan to move it forward. +• Scope for Authentication Module +Long Term Deliverables (Ongoing): 13 +• All Angular migrations completed. +• Enhance features mapped out in Trimester. +• Develop new features. +• Create Data Analytics platform. +• Authentication Module created. +• Card Scan Attendance Project +3.1. Team Members and Their Key Achievements +Full Name Sprint Contribution GitHub Link Story +Points +Total +Story +Points +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +hero-sidebar +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-hero-sidebar +2 +19 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +footer +https: //github.com/syedfai +q/doubtfireweb/commit/cb900e2cbdfe +7ee9fcdffada63ceb6c62081 +f30f +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +user-badge +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-user-badge +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - signin +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindequivalent-sign-in +2 +Syed Faiq ur +Rehman +Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +audio-player +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindaudio-player +2 +Syed Faiq ur +Rehman +Sprint 2 +Code +Review +Spike - +Investigate +running Dev +container and +code base in +CodeSpaces +3 +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replace2 +14 +intelligentdiscussionplayer +fx-layout-with-tailwindintelligent-discussion-player +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +intelligentdiscussion-dialog +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwindintelligent-discussion-dialog +2 +Syed Faiq ur +Rehman +Sprint 2 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +discussionpromptcomposer +https: //github.com/syedfai +q/doubtfireweb/tree/enhance/replacefx-layout-with-tailwinddiscussion-promptcomposer +2 +Jayant Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +task-commentcomposer +https: //github.com/thothtech/doubtfire-web/pull/69 +2 +22 +Jayant Sprint 1 - +Upstream +Review +Replace fxlayout with +tailwind +equivalent - +extensioncomment +https: //github.com/thothtech/doubtfire-web/pull/70 +2 +Jayant Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - editprofile-form +https: //github.com/jayant3 +1j/doubtfireweb/tree/refactor-editprofile-tailwind +2 +Jayant Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - unitdropdown +https: //github.com/thothtech/doubtfireweb/pull/85/ +2 +Jayant Sprint 4 +Review +Replace fxlayout with +tailwind +equivalent - +task-assessmentcomment +https: //github.com/thothtech/doubtfireweb/pull/102 +2 +Jayant Sprint 4 +Review +Migrate +"ConfirmationM +odal" +https: //github.com/thothtech/doubtfireweb/pull/100 +3 +Jayant Sprint 4 +Review +Add testing - +Angular Service - +learninghttps: //github.com/thothtech/doubtfire-web/pull/95 +3 +15 +outcome.service. +ts +Jayant Sprint 4 +Review +Add testing - +Angular Service - +tutorialstream.service.ts +https: //github.com/thothtech/doubtfireweb/pull/97/files +3 +Jayant Sprint 4 +Review +Add testing - +Angular Service - +unitrole.service.ts +https: //github.com/thothtech/doubtfireweb/pull/96/files +3 +Devanshi +Patel +Sprint 1 +Complete +Incorporate +content in +OnTrack +https: //github.com/thothtech/documentation/pull/3 +38 +5 +23 +Devanshi +Patel +Sprint 2 +Code +Review +Create UML - +Incorporate +Content +https: //github.com/ptldev0 +2/documentation/commit/f +7dcb01a1f3367ed443564f9 +c7f87bcc0b9b6b3d +3 +Devanshi +Patel +Sprint 2 +Code +Review +Gather +requirements - +Incorporate +Content in +Ontrack +https: //github.com/ptldev0 +2/documentation/commit/ +0c6dbd9c1711e5c88a18f39 +774123dc2e4c4df5e +3 +Devanshi +Patel +Sprint 3 +Review +Design +Documentation - +Incorporate +Content +https: //github.com/ptldev0 +2/documentation/commit/ +afbe585267e66df97ac06eff +b944e86c5562b360 +3 +Devanshi +Patel +Sprint 3 +Review +Design Feature - +Incorporate +Content +https: //github.com/ptldev0 +2/documentation/commit/ +39356e3b9a7649778cf1543 +86c1cdc8d1d5e191e +3 +Devanshi +Patel +Sprint 3 +Review +UML Diagrams +and UI designs - +Tutor Times +https: //github.com/thothtech/documentation/pull/4 +26 +3 +Devanshi +Patel +Sprint 4 +Review +Spike - Frontend +Documentation +Investigation +https: //github.com/ptldev0 +2/documentation/commit/ +3e74dcc732c96308bbe83d +0794b2651e4649a363 +3 +DYLAN +SUTHERLAN +D +Sprint 1 +Complete +Review T1 Data +Analytics, create +back log +5 +8 +DYLAN +SUTHERLAN +D +Sprint 3 +Complete +Setup Ontrack - +Removable Hard +drive - Ubuntu +3 +Onyedikachi +Okorie +Sprint 1 +Complete +Integrate Trello +Board with +GitHub +https: //github.com/thothtech/CompanyOperations/commit/5373d +652ab705c75cd0c3f584f0c +46686c3be9f6 +1 +1 +Brian Caldera Sprint 1 +Complete +Staff grant +extensions - +Create backlog +5 +31 +16 +Brian Caldera Sprint 2 +Complete +Create UML +diagrams and UI +wireframes for +the new feature +- Staff Grant +Extension +https: //github.com/thothtech/documentation/pull/3 +68 +3 +Brian Caldera Sprint 2 +Complete +Documentation +(Design and +UML) - Staff +Grant Extensions +https: //github.com/thothtech/documentation/pull/3 +57 +3 +Brian Caldera Sprint 2 +Complete +Documentation +(Requirements +and Testing) - +Staff Grant +Extension +https: //github.com/thothtech/documentation/pull/3 +35 +3 +Brian Caldera Sprint 2 +Complete +Feature : Tutor +times +5 +Brian Caldera Sprint 3 +Complete +Design +Document +Backend - Tutor +Times +https: //github.com/thothtech/documentation/pull/4 +24 +3 +Brian Caldera Sprint 3 +Complete +Requirements +Document Front +End - Tutor +Times +https: //github.com/thothtech/documentation/pull/3 +89 +3 +Brian Caldera Sprint 3 +Complete +Design +Document Front +End - Tutor +Times +https: //github.com/thothtech/documentation/pull/4 +13 +3 +Brian Caldera Sprint 3 +Complete +Requirements +Document Back +End - Tutor +Times +https: //github.com/thothtech/documentation/pull/3 +92 +3 +Cao Quoc Vi Sprint 2 +Code +Review +Spike - Test +Production +Environment +From windows +https: //github.com/thothtech/documentation/pull/4 +11 +3 +19 +Cao Quoc Vi Sprint 2 +Code +Review +Spike - Explore +video integration +using Panopto +https: //github.com/thothtech/documentation/pull/4 +12 +3 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +staff-task-list +https: //github.com/thothtech/doubtfire-web/pull/79 +2 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent -taskdashboard +https: //github.com/thothtech/doubtfire-web/pull/81 +2 +17 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +microphonetester +https: //github.com/thothtech/doubtfire-web/pull/78 +2 +Cao Quoc Vi Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +calendar-modal +https: //github.com/thothtech/doubtfire-web/pull/80 +2 +Cao Quoc Vi Sprint 2 +Complete +Update Angular +UI-Router hybrid +Angular support +https: //github.com/caoquo +cvinq/angular-hybrid.git +5 +Inder Sprint 2 +Code +Review +Replace fxlayout with +tailwind +equivalent - +home +https: //github.com/SinghAI/doubtfireweb/commit/dc68dccab83 +9124ef69b76a2543bd9861 +09899f2 +2 +34 +Inder Sprint 2 +Code +Review +Convert PDF for +long lines. +https: //github.com/thothtech/doubtfire-api/pull/8 +5 +Inder Sprint 2 +Complete +Research Spike - +Report on data +analytics tools +https: //github.com/thothtech/documentation/pull/3 +52 +3 +Inder Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - +welcome +https: //github.com/SinghAI/doubtfireweb/commit/6bb98916dab +519fe8bd0b6ac3dc6007c43 +c80e84 +2 +Inder Sprint 3 +Review +switch all alert +service use to +new angular +alert service +https: //github.com/SinghAI/doubtfireweb/commit/a97b4dd008e +9a519c69aeebbdc797dc04f +b06f78 +3 +Inder Sprint 4 +Review +Add testing - +Angular Service - +group.service.ts +https: //github.com/SinghAI/doubtfireweb/commit/4d743a32c59f +103c6449f6572c296468fab +c94f6 +3 +Inder Sprint 4 +Review +Alert on +extension +request for +group tasks +https: //github.com/SinghAI/doubtfireweb/commit/b83dfb7ca60 +299f72c809fbaadda8240ad +4c282f +5 +Inder Sprint 4 +Review +New Featureadjust the +automatic +extension on +"resubmit" +https: //github.com/SinghAI/doubtfireapi/commit/5b53a6eb6839 +ffafbe03445715a6b6488dd +34dac +5 +18 +Inder Sprint 4 +Review +Add testing - +Angular Service - +Activity Type +https: //github.com/SinghAI/doubtfireweb/commit/4b927734678 +f4b1cfc30d08854be56271f +ecf1f2 +3 +Inder Sprint 4 +Review +Add testing - +Angular Service - +groupset.service.ts +https: //github.com/thothtech/doubtfire-web/pull/99 +3 +SANAH +QUAZI +Sprint 2 +Complete +Design a way to +improve the +group Task +submission. +https: //github.com/thothtech/documentation/pull/3 +56 +3 +19 +SANAH +QUAZI +Sprint 3 +Review +Replace fxlayout with +tailwind +equivalent - +inbox-comment +https: //github.com/thothtech/doubtfire-web/pull/83 +2 +SANAH +QUAZI +Sprint 3 +Complete +Requirements to +incorporate +multiple +organisations on +a single OnTrack +server +https: //github.com/thothtech/documentation/pull/3 +87 +5 +SANAH +QUAZI +Sprint 3 +Complete +Test Scenario +Documentation +and +Requirements +https: //github.com/thothtech/documentation/pull/3 +96 +3 +SANAH +QUAZI +Sprint 3 +Complete +Design +Documentation - +Incorporate +Multiple +Organizations +https: //github.com/thothtech/documentation/pull/4 +01 +3 +SANAH +QUAZI +Sprint 3 +Complete +Create UML +Diagram for the +Incorporate +Multiple +Organizations +feature +https: //github.com/thothtech/documentation/pull/4 +02 +3 +BRYAN +TAING +Sprint 3 +Review +Identify and +reject encrypted +PDFs on upload +https: //github.com/Mango +S9/doubtfireapi/commit/2b412057f431f +f7bf48008a81724e5131c57 +7684 +5 +10 BRYAN +TAING +Sprint 3 +Review +extend the +group lock +feature to allow +students in a +group to "Lock" +and unlock the +group +5 +19 +Daniel +Maddern +Sprint 3 +Complete +Design +Document +Backend - Tutor +Times +https: //github.com/thothtech/documentation/pull/4 +24 +3 +77 +Daniel +Maddern +Sprint 4 +Complete +Create Python +Script to export +Trello JSON +https: //github.com/thothtech/documentation/pull/4 +36 +3 +Daniel +Maddern +Numbas - +CodeReview +Build Angular +Service to work +with Numbas API +- Stream tests +https: //github.com/thothtech/doubtfireweb/tree/add-numbasintegration +3 +Daniel +Maddern +Numbas - +CodeReview +Ontrack - Build +Spec test for +LMS service. +https: //github.com/thothtech/doubtfireweb/commit/45ee07c132b +22decc21e4130a46934f7bb +1ec2a7 +3 +Daniel +Maddern +Numbas - +Complete +PoC - Review +Completed test +https: //github.com/thothtech/NumbasPoC/pull/10 +5 +Daniel +Maddern +Numbas - +Complete +PoC- Save +answers on new +test issue +https: //github.com/thothtech/NumbasPoC/tree/enh +ance/first-resume-issue +5 +Daniel +Maddern +Numbas - +Complete +Abstract LMS +function to +service in PoC +https: //github.com/thothtech/NumbasPoC/tree/feat +/AbstractLMSFunctions +3 +Daniel +Maddern +Numbas - +Complete +PoC- Change +front end to use +xhr to fix +synchronicity +issues. +https: //github.com/thothtech/NumbasPoC/pull/9 +5 +Daniel +Maddern +Numbas - +Complete +PoC- Adjust +Backend to +offset some get +test logic +https: //github.com/thothtech/NumbasPoC/commit/ +eeafca513a3d46216332d0a +3909671af5b2887ce +3 +Daniel +Maddern +Numbas - +Complete +PoC - Save Test https: //github.com/thothtech/NumbasPoC/tree/feat +/downloadnumbastest +5 +Daniel +Maddern +Numbas - +Complete +Save Suspend +Data in Commit +https: //github.com/thothtech/NumbasPoC/tree/conf +igure-save-test-fe +5 +Daniel +Maddern +Numbas - +Complete +PoC - Save Score https: //github.com/thothtech/NumbasPoC/pull/4 +5 +Daniel +Maddern +Numbas - +Complete +Ontrack Back +End Changes +UML +https: //trello.com/c/0YU +wD7aO/50-ontrack-backend-changes-uml +3 +Daniel +Maddern +Numbas - +Complete +New Endpoint - +Save test -POC +https: //github.com/thothtech/NumbasPoC/tree/addsave-test-api +5 +Daniel +Maddern +Numbas - +Complete +Setup maria DB +in PoC for save +test API +endpoint +https: //github.com/thothtech/NumbasPoC/pull/4 +3 +20 +Daniel +Maddern +Numbas - +Complete +Find a way to +convert code +from using +SCORM1.1 to +SCORM 2004. +https: //github.com/thothtech/NumbasPoC/tree/upd +ate/convert-scorm2004 +5 +Daniel +Maddern +Numbas - +Complete +Dev Containers +for Windows - +Change Rails/DB +to use docker file +system +5 +Daniel +Maddern +Numbas - +Complete +Spike - +Understand how +the Numbas +Code interact +with our code. +https: //github.com/thothtech/documentation/pull/3 +16 +3 +Daniel +Maddern +Numbas - +Complete +Meeting with +Numbas to +discuss save test +state +1 +Daniel +Maddern +Numbas - +Complete +Video guide on +setting up +Ontrack +https: //video.deakin.edu. +au/media/t/1_6degiyrj +1 +Daniel +Maddern +Numbas - +Complete +Feature Numbas +Integration - +Exploration +1 +Daniel +Maddern +Numbas - +Complete +Update +contributing +documentation +to show usage of +devcontainer +https: //github.com/thoth +-tech/doubtfiredeploy/blob/developmen +t/CONTRIBUTING.md +2 +Sonam +chewang +DORJI – +Shadow(DM +Sprint 4 +Review +Refactor and +improve +authentication +service code +#738 +https: //github.com/doubtfi +re-lms/doubtfireweb/pull/738 +5 +8 +Sonam +chewang +DORJI – +Shadow(DM +Sprint 4 +Review +adding unit +testing for +tutorialService +3 +3.2. Completed Deliverables +• Incorporate content in OnTrack – Requirements document created +• Numbas PoC system completed +• Numbas Backend Integration and DB changes completed +• Numbas Front End Integration partially completed. +• Review of T1 Data Analytics and backlog created +21 +• Trello board integrated with GitHub +• Staff grant extensions – backlog created +• UML diagrams and UI wireframes for Staff Grant Extension feature created +• Design and UML documentation for Staff Grant Extension feature created +• Requirements and testing documentation for Staff Grant Extension feature created +• Design for a way to improve group task submission created +• Research spike done for a report on data analytics tools +• Angular UI-router hybrid angular support updated +• Instruction document on setting up OnTrack in bootable Ubuntu hard drive created +• Requirements documentation, test scenario documentation, design documentation +and UML diagram created for incorporating multiple organisations on single OnTrack +server +• Requirements documentation for front-end and back-end along with design +documentation created for feature Tutor Times +• Python script created to export Trello JSON into a CSV +3.3. Roadmap +The current road map for Ontrack is quite broad, however there are a few key projects that +we want to focus on next trimester, first you can view all the backlogs on the Trello board +with their associated tasks: +https: //trello.com/invite/b/IKabVmzt/ATTIdf935d63730a48bee701a76b199f48fc61BF23A8/ +ontrack +The Key projects we would like to see movement on next trimester would be: +1. Improvements Backlog – This backlog has core improvements to the system we want +to see. +2. Ontrack Bugs Backlog – These are bugs that are found and added to this backlog. +3. New Feature – Incorporate Content – Ideally, we have an additional 2 designs of +how this would work. It's not ready to code just yet. +4. New Feature – Staff Grant Extensions – Ideally, we have an additional 2 designs of +how this would work. It's not ready to code just yet. +5. New Feature – Tutor Times – Ideally, we have 2 additional designs on how this +would work. It's not ready to code just yet. +6. Backlog Urgent Enhancements – These are important changes we are looking to get +done asap. +22 +7. Documentation – We want to focus on updating the Front and Backend +Documentation and testing in the next trimester. This will help students and other +users better understand the system and how it works. +3.4. Open Issues +• Getting the system running, some students had issues getting Ontrack setup, we +have made a lot of videos and documentation to aid this as well as implemented a +development container but it's still an issue. +• Understanding OnTrack's UML and how new features link into it. +• Upskilling to work on a complex Angular/Rails system – We have provided training +videos and links to upskill. +• Testing code and Pull requests – there have been issues with making pull requests as +per the documentation provided, as this is a live system it's important to fully ready +and understand the requirements when making a PR. +• Using GitHub, GitHub is new to some students and can be quite tricky to get working +how you want. There were several videos and training sessions to help this. +3.5. Source Code +• Doubtfire Web - https: //github.com/thoth-tech/doubtfire-web +• Doubtfire Api - https: //github.com/thoth-tech/doubtfire-api +• Doubtfire Deploy - https: //github.com/thoth-tech/doubtfire-deploy +• Thoth Tech Documentation - https: //github.com/thoth-tech/documentation +3.6. Login Credentials +https: //github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md +3.7. Other Relevant Information +Branching & Pull request formating +https: //github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md +3.8. Showcase Video +Video showcase: https: //video.deakin.edu.au/media/t/1_qtqbi271 +4. Product – Art Gallery +Indigenous and rural artists often face barriers in accessing the broader market, limiting +their opportunities for income and recognition. Our platform seeks to eliminate these +23 +barriers by leveraging modern technology to empower artists to reach a wider consumer +base, while bringing diverse cultures together. +We aim to deliver a highly available and scalable ecommerce platform that will allow for +ease of sale of artwork by small local artists. We plan to do this with our easily maintained +C# minimal RESTful API, Vue frontend, and our suite of other technologies used in +streamlining the development pf our product. +4.1. Team Members and Their Key Contributions +Key Achievements (Pull Request links) Team member +Deployment Strategy Report Ayan Masood +Continuous Delivery Research Ayan Masood +Mock CI/CD Pipeline Ayan Masood +Continous Integration Research Ayan Masood +Cybersecurity Policy for Deployment using GCP Ayan Masood +Preliminary Proposal for GCP Usge Ayan Masood +Product Logo Redesign Edwin Shibu +Figma Board for Frontend Redesign Avenue Joju, Ben Thomas, +Edwin Shibu, Amos Saji +UCD Research Avenue Joju +Frontend Performance Improved (Lighthouse scores) Sivasamyuktha A +Selvarajuh +Research and Review of IIIf Dominic Ryzner +Cybersecurity Strategies for Deployment Dominic Ryzner +Integrate Auto Compile Checks in CI Workflow Chloe Hulme +Create Pre-request Scripts in Postman Testing Chloe Hulme +Postmam README Chloe Hulme +Asynchrony Research Chloe Hulme +.NET 8 Migration Research Chloe Hulme +CI/CD Technologies Research Chloe Hulme +.NET 8 Migration plus Test for Breaking Changes Chloe Hulme +Migrating Docker Containers to Account for .NET 8 Migration Chloe Hulme +Deployment Progress Update Report Chloe Hulme +IRepository ExecuteReaderAsync Method Chloe Hulme +Adding Price to Database and API on Artworks Chloe Hulme +Adding Price to Artwork Card Component Chloe Hulme +Modifying Artworks to be in Gallery View + Lightbox Chloe Hulme +Implement asynchrony on RP/artwork context Chloe Hulme +Implement asynchrony on RP/artist context Chloe Hulme +Implement asynchrony on RP/media context Chloe Hulme +24 +Upgrade logic on Delete end points Chloe Hulme +Add asynchrony on end points relating to middleware (Artist +Context) Chloe Hulme +Implement asynchrony on RP/exhibition context Chloe Hulme +Implement asynchrony on RP/user context Chloe Hulme +Test asynchronous RP implementations Chloe Hulme +4.2.Completed Deliverables +Ayan was responsible for preparing the product for deployment. In his work this trimester, +he has produced several spike reports, a finalized deployment strategy for us to implement +next trimester, and a mock CI/CD pipeline for us to use as a guide. He has also helped to +select our deployment platform (GCP) and has created a cybersecurity policy for our team +to advise us on use of GCP. All completed deliverables can be found on GitHub. +• CI/CD Pipeline: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CICDPipeline.md +• CI/CD Pipeline Integration Overview: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CICDPipelineOvervie +w.md +• Cybersecurity Policy: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/CybersecurityPolicy.m +d +• Deployment Strategies: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/DeploymentStrategie +s.md +• Preliminary Proposal: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Deployment/PreliminaryProposal. +md +Ben, Avenue, Edwin and Amos have been working on developing our front end this +trimester. Edwin provided a redesigned logo for us, and he and the rest of the team set up a +Sigma board for us to use in our redesign process. Avenue has also done some research into +UCD for us to use as a guide. Completed deliverables can be found on GitHub and in Figma. +• Figma Board: https: //www.figma.com/file/ohaBXjzqNTWRMFtmulTr01/Artgallery?type=design&node-id=0%3A1&mode=design&t=J0qbicuMWi3lZn5C-1 +• Redesigned Logo: +https: //github.com/ajoju/documentation/commit/29888067b662da062e22c9f0ba8c +ba458cef1a27 +• Research into UCD: +https: //github.com/ajoju/documentation/commit/bf49dff5b91586aa4baff29b31ce3 +a123c11cee0 +25 +Sivasamyuktha has been working on our Lighthouse reporting scores. This has involved +reviewing the changes advised by our previous Lighthouse report, then upskilling JavaScript, +HTML and CSS to improve our Lighthouse scores. Our performance score has improved by +over 20%. All completed deliverables can be found on GitHub. +• Minify CSS and JS code: https: //github.com/thoth-tech/artgallery/pull/40/commits/7fb35b39812902949203b5da7aa2588793213cca +• Lazy Routing: https: //github.com/thoth-tech/artgallery/pull/40/commits/dc91b126e2dfc3e6e9174d44a8d547a24c1808ad +• Implementing Tree shaking with Ant Design: https: //github.com/thoth-tech/artgallery/pull/40/commits/35d5df4e068ddfdfbed9506f830c388b0f08632f +• Updated Lighthouse Scores: https: //github.com/thothtech/documentation/blob/main/docs/ArtGallery/Lighthouse%20Project/T22023- +updated-lighthouse-report.pdf +Dominic has been working on integrating IIIF into our API. He has done in depth research +into making this possible and provided us with several review documents. In addition to +this, he has also provided us with cybersecurity strategies for our deployment, this includes +research into the payment system we will need to integrate, and safe storage of user data +and login credentials. All completed deliverables can be found on GitHub. +• All documents can be found here: https: //github.com/thothtech/documentation/pull/429/files +Chloe has been responsible for upgrading the backend this trimester. She has migrated the +API to .NET 8, and updated the requisite Docker containers to account for this change. She +has also integrated asynchrony into the Repository Pattern of the API, and created some +automated test scripts in Postman to thoroughly test each endpoint. She has also made +some significant changes to the frontend in preparation for InnoFes. This includes +implementing a gallery style view for artwork display, and a Lightbox to showcase individual +artworks. She has also ensured that the price of each artwork can be displayed, which +required adding a column to the artwork table in the database, then updating the API and +frontend to include this change. All completed deliverables can be found on GitHub. +• Asynchrony integration: Implement asynchrony on RP/media context, Implement +asynchrony on RP/artwork context, Implement asynchrony on RP/exhibition +context, Implement asynchrony on RP/user context, Implement asynchrony on +RP/artist context, IRepository ExecuteReaderAsync Method +• Migration to .NET 8: .NET 8 Migration plus Test for Breaking Changes, Migrating +Docker Containers to Account for .NET 8 Migration +26 +• Postman testing: Create Pre-request Scripts in Postman Testing, Postmam +README, Test asynchronous RP implementations +• Frontend changes: Modifying Artworks to be in Gallery View + Lightbox +• Including Price on Artworks: Adding Price to Artwork Card Component, Adding +Price to Database and API on Artworks +4.3. Roadmap +To be completed: +• Integrate IIIF into API for better quality image display +• Implementing redesign of Front end web app +• Deploying the product +• Integrating payment system into front end +• Integrate Postman tests into GitHub Actions CI workflow +In progress: +• Continued redesign of Frontend web app. We only have some pages redesigned +at the moment, and these are not yet finalized. We need to finalize our upgraded +designs. +• Continue to implement lighthouse recommendations. We have improved +performance related scores but need to work on our other scores still. +4.4. Open Issues +• The team itself is quite small with certain members lack coding expertise for the +next phase of the application. It may be hard to achieve what we want to with +this project without recruiting individuals with stronger coding skills, given that +the application is still in its infancy. +• Automated testing needs to be implemented in our CI workflow in GitHub +Actions, faulty code had been pushed in our repository and resulted in our app +breaking. At present, we still do not have a thorough way to prevent this from +happening again. +4.5. Source Code +All of our source code is stored in GitHub in our art-gallery repository. +27 +Our redesigns are done in our Figma +board: https: //www.figma.com/file/ohaBXjzqNTWRMFtmulTr01/Artgallery?type=design&node-id=0%3A1&mode=design&t=J0qbicuMWi3lZn5C-1 +Our Postman collection can be found here: https: //www.postman.com/thoth-tech +If there is trouble locating or accessing or Postman space, Andrew has been added as Admin +and will be able to help. +4.6. Login Credentials +Database - username: postgres, password: PostgreSQL +4.7. Other Relevant Information +Documentation and research regarding deployment is extensive with many helpful +resources on errors and checks related to CI/CD as well. Using these resources will help and +streamline the deployment of the application. +Implementing the automated testing in the CI workflow will be really helpful, we had some +issues this trimester with students pushing code that broke the application. It is a strong +recommendation that preventing this be made a focus early in the following trimester. +Integrating a payment system into our frontend should be a focus as well, given that this is +the entire business model of our platform. +If students wish to work on ‘documentation only’ projects, or do not have strong frontend +programming skills, it is advised they select a different project to work on. +If there are any technical issues in developing the project, Max is a great help and should be +a port of call for the product lead when advice is needed. +We have 3 implementations in our API, however the only one in use is ‘repository pattern’. +Please disregard the other versions as they are now legacy. The client would still like to keep +these implementations in our repo, however they are to be ignored! +4.8. Showcase Video + +The Art Gallery in 4 minutes: https: //video.deakin.edu.au/media/t/1_1gei2x0y +28 +5. Product - Splashkit + +Splashkit is an all-purpose toolkit for beginners built in C++ and can be used with C++ and +C#. Deakin University uses it to introduce students to programming through its easy-to-use +functions. +As part of the Splashkit team, you will be responsible for expanding the toolkit functions, +developing improved and innovative ways of working with Splashkit and creating +educational documents and videos for students. +Core Projects +• Splashkit Arcade +o Splashkit Arcade is a platform for students to feature games built using +splashkit. The university has four arcade units at its Deakin campus for this +purpose. +o Project Goals +▪ Have arcade machines running with a menu system. +▪ System to allow students to upload and test their games. +• Splashkit Expansion +o Our general project that covers modification and expansion of Splashkit, +Updates to Splashkit.io, development environments and packaging. +o Project goals +▪ Port functions from Swin games. +▪ Convert Splashkit.io to Astro Starlight platform. +▪ Create Debian, Brew and Nuget packages +▪ Dev Containers +▪ Splashkit Game Engine – New Initiative (consider splitting into new +project) +• Tutorials +o The Tutorials team is developing a series of tutorials that will help students +get started with SplashKit. +o Project Goals +▪ Individual Tutorials explaining how to use Splashkit Functions. +▪ Creating a 2D Metroidvania Game using splashkit – a tutorial series +showing how to build a game from start to finish using SplashKit. +• Splashkit Online +o An online environment to run SplashKit in a web browser +o Run and compile in the local browser, not using remote VM resources +o Project Goals +▪ Online IDE +▪ Compile and run code in a browser. +▪ Render audio and sound in a browser. +5.1. Team Members and Their Key Achievements +29 +SplashKit – Arcade Machine +Key Achievements (Pull Request links) Team member +Documents for Setting up an Arcade Machine #341 Philip Williams +Create Submodules for Asteroids and DXBallGame #89 Philip Williams +Update/below the surface controles #90 Philip Williams +GitHub Action compile C# Games (Windows, Linux) Philip Williams +DxBall Tweaks Philip Williams +Below The Surface - Update Controles Philip Williams +Asteroids Remove Mouse Add second forward Button Philip Williams +Arcade Machine Theme + Installation Documentation #361 Riley Oussoren +Emulation Station Idle Timer Investigation #404 Riley Oussoren +Runner Dash - clear screen and implement menu #101 Riley Oussoren +Venture Adventure 2nd and 3rd levels #102 Riley Oussoren +Below The Surface Ladder Behavior - temp fix and write up #96 Riley Oussoren +Asteroids Documentation Reformat Ashley Thompson +Below the Surface - Prevent Player 2 from Dieing when going off screen & +Adjusting ladder Behavior #97 +Bryan Taing +Asteroids - Difficulty Slider (UI) #4 Bryan Taing +Pi Emulation#435 Aditya Parmar +Asteroid Add Sound Coskun Kilinc +Asteroids Performance Optimisation Coskun Kilinc +Car Racing On Github KHUSHI LADDI +Add C# packaging to "Game Packaging" LOLIWE LOLIWE +DX-Ball Game, Exit game after 10 Min, Return to Title Screen from Score +Screen, DX Ball - Implement delay to make instant death less likely +Norman Spencer +Harty +Add scoreboard to DXBallGame #85 Norman Spencer +Harty +VentureAdventure - Create menu Systems +VentureAdventure - Create a how to play section Wenxuan Song +ARCADE-PING-PONG Pratham Gupta +30 +SplashKit – Expansion +Key Achievements (Pull Request links) Team member +Splashkit Windows Dev container #414 Philip Williams +Centre Point2D Camers(two Objects) #28 Bryan Taing +Add check for both sprites in AABB collision kind for Sprite-Sprite collision +function #24 +Ro-wern Ong +Collide functions #26 Ro-wern Ong +Post-porting Collides Alterations #27 Ro-wern Ong +WSL - Splash kit installation method Aditya Parmar +Game Engine: Logging Coskun Kilinc +Game Engine: Game Objects Coskun Kilinc +Game Engine: Components Coskun Kilinc +Design and Implement the SplashkitlnterfaceGen Tool Coskun Kilinc +Script Automation for Interface Generation Coskun Kilinc +User Documentation for SplashkitlnterfaceGen Tool Coskun Kilinc +Game Engine: IWindow Manager Coskun Kilinc +Fix Formatting and Code of Conduct Coskun Kilinc +Create automated interface generator for Splashkit Game Engine Coskun Kilinc +Fix Formatting and Code of Conduct Coskun Kilinc +Create automated interface generator for Splashkit Game Engine Coskun Kilinc +Splashkit Game Engine Initial Documentation Coskun Kilinc +Review Controle Schema matches arcade machine Swanny Aurellia +SplashKit – Tutorials +Key Achievements (Pull Request links) Team member +Publishing with Splashkit - C#/C++ Ashley Thompson +Getting Started With Sprites / Sprite Layering Ashley Thompson +Getting Started With Splashkit - Windows Tutorial Proposal Ashley Thompson +Getting Started With Sprites in Splashkit Tutorial - CSharp Ashley Thompson +Getting Started With SplashKit - C++/C# Ashley Thompson +Creating a Metroidvania game Tutorial - Player Character Basics, +Environment, Audio and Sound affects and Power ups and Items +Harney Halls. +Game Concept, +2D Racer features to keep and add, and 2D racer design +tutorial +Harney Halls. +Create tutorials for Cmake and Sprite Layering Tutorial #6 Bryan Taing +Audio Series - Tutorial Proposals Coskun Kilinc +2. Creating a 2D "Metroidvania" Game - Basic Drawing and Graphics Coskun Kilinc +1. Creating a 2D "Metroidvania" Game Using Splashkit - Overview, +Introduction and setup +Coskun Kilinc +New Game - SRS Coskun Kilinc +31 +Understanding CMakeLists.txt for Building the SplashKit Core Library - +Proposal +Coskun Kilinc +Understanding SplashKit Manager (SKM) Shell Commands - Tutorial +Proposal +Coskun Kilinc +Create Documentation Standards Coskun Kilinc +Debugging in VScode Kartik Kaushik +6. Creating a 2D "Metroidvania" Game - Collision Detection and Physics +5. Creating a 2D "Metroidvania" Game - Player Character Advanced +Norman Spencer +Harty +Database - Tutorial Plan Swanny Aurellia +Database - Tutorial Swanny Aurellia +12. Creating a 2D "Metroidvania" Game - Saving and Loading Progress Swanny Aurellia +Mouse Button - Tutorial Swanny Aurellia +Key Code - Tutorial Swanny Aurellia +SplashKit – Online +Key Achievements (Pull Request links) Team member +added the google verification for online splashkit #3 Anshuman Bishnoi +Update README.md (OutlIne and Requirments) Anshuman Bishnoi +api file for the web editor Anshuman Bishnoi +Final version of web editor Anshuman Bishnoi +Research documentation Sherap Thakur +5.2. Completed Deliverables +Please review the Team's Trello Board for a List of Completed Activities and details within +the cards. https: //trello.com/b/3EpqqJ2R +SplashKit Arcade: +• Arcade Machine Base Image Built and Created – Instructions here +• Gold Image used for Deakin Open Day - Image Here, How to Create Here +• Showcase Game Adjustments (note not all updates are in Gold Image) +o Asteroids +▪ Controle Adjustments +▪ Basic Sound added +o DX Ball +▪ Controle Updates +▪ Score Screen Added +▪ Starting behaviour changed +▪ Exit Game After 10 Mins +o Below the Surface +▪ Change Ladder Behaviour +▪ Change the Camera in 2-player mode. +o Venture Adventure +32 +▪ Create End Game State +▪ Added Levels 2 & 3 +o Car Racer – Games Created +o Air Hockey – Game Created +• GitHub Actions updated to Compile C# games (Windows, Linux) +• GitHub Actions updated Compiled Games and Game Assets saved to CompiledGames Directory +• Raspberry Pi Emulation +SplashKit Expansion +• Added CircleCollide Test +• Port Collides Function Group +• Fix Sprite Collision Function - AABB collision Kind +• Centre Point2D Cameras (two Objects) +• Install Splashkit using WSL instructions +• Dev Container (Windows Only) +• Splashkit Starlight (New Website) +o Site built and existing SplashKit.io pages Transferred +o New Documentation Uploaded (WSL Install, Rasberry Pi Emulation) +• Game Engine +o Game Engine: Logging +o Game Engine: Game Objects +o Game Engine: Components +o Design and Implement the SplashkitlnterfaceGen Tool +o Script Automation for Interface Generation +o User Documentation for SplashkitlnterfaceGen Tool +o Game Engine: IWindow Manager +o Fix Formatting and Code of Conduct +o Create an automated interface generator for Splashkit Game Engine +o Fix Formatting and Code of Conduct +o Splashkit Game Engine Initial Documentation +o Splashkit Interfaces +▪ ./include/animations.h +▪ ./include/audio.h +▪ ./include/basics.h +▪ ./include/bundles.h +▪ ./include/camera.h +▪ ./include/circle_drawing.h +▪ ./include/circle_geometry.h +▪ ./include/clipping.h +▪ ./include/collisions.h +▪ ./include/color.h +▪ ./include/database.h +▪ ./include/drawing_options.h +▪ ./include/ellipse_drawing.h +33 +▪ ./include/geometry.h +▪ ./include/graphics.h +▪ ./include/images.h +▪ ./include/input.h +▪ ./include/json.h +▪ ./include/keyboard_input.h +▪ ./include/line_drawing.h +▪ ./include/line_geometry.h +▪ ./include/matrix_2d.h +▪ ./include/mouse_input.h +▪ ./include/music.h +▪ ./include/networking.h +▪ ./include/physics.h +▪ ./include/point_drawing.h +▪ ./include/point_geometry.h +▪ ./include/quad_geometry.h +▪ ./include/random.h +▪ ./include/rectangle_drawing.h +▪ ./include/rectangle_geometry.h +▪ ./include/resources.h +▪ ./include/sound.h +▪ ./include/sprites.h +▪ ./include/terminal.h +▪ ./include/text.h +▪ ./include/text_input.h +▪ ./include/timers.h +▪ ./include/triangle_drawing.h +▪ ./include/triangle_geometry.h +▪ ./include/types.h +▪ ./include/vector_2d.h +▪ ./include/window_manager.h +▪ +• New Game Engine Functionality +o Logger +o ConsoleLogger +o Renderer +o SplashkitRenderer +o GameStateManager +o GameStates +o GameObjects +o Components* +o Transforms* +Note: * indicates partially complete feature +SplashKit Tutorials +• 2D "Metroidvania" Game Creation +o Getting Started and Basics +o 1. Overview, Introduction and setup +34 +o 2. Basic Drawing and Graphics +o 3. Player Character Basics +o 4. Environment Design Basics +o Advanced Features +o 6. Collision Detection and Physics +o 9. Power-Ups and Items +o 11. Audio and Sound Effects +o 12. Saving and Loading Progress +• Database and Debugging +o Database - Tutorial Plan +o Database - Tutorial +o Debugging in VScode +• Tutorials and Documentation +o Mouse Button - Tutorial +o Getting Started With Sprite Layering In Splashkit - Tutorial +o Building the SplashKit Core Library with CMake - Tutorial +o Key Code - Tutorial +o Audio Series - Tutorial Proposals +o Sprite functions - Tutorial Plan +o Sprite Event Handler - Tutorial +o Input Handling - Tutorial Plan +o Key Callback - Tutorial +• Project Management and Repository +o Review Existing Code and select features to keep +o Design Tutorial +o Game Concept +o New Game - SRS +o Move Tutorials to new repo +o Create Documentation Standards +o Create New Programme - Tutorial Plan +SplashKit Online +• Browser based IDE +o Based on code mirror, Can compile and run code in the browser (not using +Splashkit Library) +• Login Page Using Google o'auth +5.3. Roadmap +See Card Status in Backlog for Additional details and Completed Research Cards. +SplashKit Arcade +• Create an automated game download system for Arcade Machines +o The proposed system will use the Arcade-games Repo to check for updates in +the game version and download the latest version +o Games should have a Publish tag or similar to be loaded to the main menu. +o Have a secondary game menu for test games/non-published. +35 +• Updates to Arcade Menu +o Presently the Arcade machine uses Emulation Station forked from the +RetorPI project version. https: //github.com/thoth-tech/ArcadeMenu +o Create a new system for test games +o See if we can modify the EM menu for the following +▪ Trigger Game download scripts +▪ Additional modes +▪ Kiosk – Only show Published Games (for Events) +▪ Normal – Has Published and Test Systems +o Via script or other method have games exit after 10 min's if there's been no +key Input +• Stretch Goals/Interesting ideas +• Consider a local Test Mode – Arcade Switches to AP mode displays connection +info (random password) and has a web server student can drop new game build +on and tests. The machine Would delete the game and reset after a period of +time. +o Security would be a big consideration on this idea as it would be easy to +abuse and not much in the way of logging vs official upload via Git Hub. +• Implement a voting system on the Arcade Machine to give meaning to the star +ranking. +• Arcade Games – GitHub Actions +o Correct C# for Arm (this should be done; see trello card for Status) +▪ Dotnet does not run correctly in the Emulated PI environment +used for C++ games. New Action was created for compiling dotnet +vs Arm games small bug in checking logic to be fixed before +merge. +o Update Arcade – Games Readme +▪ Updated Controle to correctly reflect the Arcade machine +▪ Updated on new Compiling Process +▪ Instruct that All Game Assets must go into the Resources Folder +(Action does try to capture root directories like images, sound, +etc.) This includes level maps etc., or they won't upload to Arcade +Machines +o Implement Versioning for compiled games. +▪ A simple version file in the games directory receives an +incremental bump every time the game is updated so the Arcade +knows to get the latest version. +▪ This file can also contain additional information for the Arcade +Menu. (Author, Publisher, other) +o Retrieve and Compile Games from SubModules +o Formalise Process with Deakin Staff on how Students from Classes like +SIT102 or SIT771 can upload games to the Arcade Machine +▪ Barrier will be using GitHub for new students, especially as this +will use submodules. +▪ Consider creating scripts to automate the linking of sub-modules +• Move All games to Sub-Modules +36 +o Games made by Toth-Tech should be moved to their own repo, (or we +can consider a separate Company if we don't want to crowd the Githubn +too Much) +o This will potentially allow Linking to Other Student Repos. +Splashkit Expansion +• Priority Items Deployment Packages +o Debian Package. +o Nuget Package. +o Brew Package. +• Check for Further Functions from Swin games to port into splashkit. +• Fix Python Compatbility +o Python can no longer be used to code games with SplashKit. Previous +research indicates a change with v3.8; see here. +• Look at Adding AI function to SplashKit +o Can look at LLMs like ChatGPT +o Similar Functions to https: //scikit-learn.org/ +• Dev Container Mac +o As most SplashKit Programs have a visual component and not browser-based +based, we need a way to view the program's window output. This is normally +accomplished by xserver forwarding and sound via pulse audio. +o mac xquartz is a xserver compatible with Mac Instaitl Tests container that can +be setup and run x based programs e.g. xeyes but there is a compatibility +issue with the graphics system in SplashKit. Further investigation is needed. +• SplashKit.io +o Publish Astro Starlight site +▪ The Aim will be to convert Splashkit.io to our new webpage platform +▪ Advise getting a subdomain like new.splashkit.io (or similar) setup for +testing, and Transition will just be a DNS change then) +o Thorough documentation of the new site is needed +o The Existing SplashKit.io may have a function to auto-update the API pages +based on functions added to SplashKit. This should be investigated and +replicated in the new site. +• Game Engine +o Project Setup: Create a streamlined project setup process for easier +onboarding and development. +o Camera System: Implement a flexible and efficient camera system to handle +different views and perspectives. +o Transforms: Develop a system for handling object transformations like +translation, rotation, and scaling. +o Event System: Design an event system for handling game events in an +extensible manner. +o Input Handling System: Implement a robust input handling system to manage +user interactions. +• Documentation Migration +37 +o As the company is moving to a new documentation repository a data +Migration will need to occur between the existing documentation repo and +the new one. +o Work with company operations to plan the migration, but the SplashKit team +needs to move the existing document over (also consider it a good +opportunity to clean house and archive older information) +SplashKit Tutorials +Backlog +• Game Development +o High Level Design +o Complete Demo Game +o 8. Creating a 2D "Metroidvania" Game - Enemies and Combat +o 10. Creating a 2D "Metroidvania" Game - Level Design and Progression +o 13. Creating a 2D "Metroidvania" Game - Polishing and Finalization +o 7. Creating a 2D "Metroidvania" Game - Camera Movement, Parallax and +Depth +• Tutorials and Documentation +o Understanding SplashKit Manager - (SKM) Shell Commands - Tutorial +o Project Structure and Initialization +• Roadmap (Future Plans) +o Integrate different stages of "Creating a 2D 'Metroidvania' Game" for +cohesiveness and consistency. +o Complete remaining tutorials +o Plans for new tutorials, ensuring total Splashkit Functionality +5.4. Open Issues +1. Running SplashKit Programs Full Screen in WSL causes dropped Frames +a. This affects Native SplashKit installs and Windows Dev Containers +2. Arcade Machines Contoles Frezing +a. After some time the actual arcade machine controls become +unresponsive see Trello Card +3. Below the Surface Code needs to be merged back to Build a Game Repo. (from +Acracde-Game Repo) +5.5. Source Code +Documentation +• Core Documentation Repository: +o https: //github.com/thoth-tech/documentation/tree/main/docs/Splashkit +38 +Arcade +• Arcade-games, Keeps Compiled Games: +o https: //github.com/thoth-tech/arcade-games +• Arcade Menu – Fork of Retropies Emulation Station +o https: //github.com/thoth-tech/ArcadeMenu +• Games +o DXBallGame: https: //github.com/thoth-tech/DXBallGame +o Asteroids: https: //github.com/thoth-tech/Asteroids +SplashKit Expansion +• SplashKit Core +o https: //github.com/thoth-tech/splashkit-core +• SKM +o https: //github.com/thoth-tech/skm +• SplashKit Starlight (new Splashkit.io) +o https: //github.com/thoth-tech/splashkit-starlight +• SplashKit-Game-Engine +o https: //github.com/thoth-tech/SplashKit-Game-Engine +• SplashKit Dev Container +o https: //github.com/thothtech/documentation/tree/main/docs/Splashkit/DevEnviroment/Windows_D +evContainer +• SplashKit Translator (Translates the SplashKit C++ source into another language.) +o https: //github.com/thoth-tech/splashkit-translator +Tutorials +• SplashKit Tutorial +o https: //github.com/thoth-tech/SplashKit-Tutorial +• VoidBound (Tutorial Game) +o https: //github.com/thoth-tech/Voidbound +Online +• Splashkit Online +o https: //github.com/thoth-tech/SplashkitOnline +Older Repos That may be useful +• Build a game Team (Below the Surface Source Repo) +o https: //github.com/thoth-tech/build-a-game-team +• SplashKit Games and Tutorials +o https: //github.com/thoth-tech/SplashKit-Games-and-Tutorials +• arcade-machine (Orginal Menu system for Arcade, Would be nice to get it running +was reported as having perforamce issues but might work ok form CLI only mode) +o https: //github.com/thoth-tech/arcade-machine +39 +6. Product - CourseFlow +CourseFlow aims to assist students in planning and comprehending the requirements and +structuring of university courses. Users can generate and adjust their CourseMap to account +for changes. For instance, a student will be able to see their expected graduation date or +complications that may arise if they complete units in a particular order or study load. +Students are also able to use the ‘discovery’ page to find units or electives that are relevant +to their course, interests, and career goals. Units are represented as dots and units that are +more like each other or to a particular field such as law or art are grouped together. +The project overall aims to assist students in planning out how they will complete their +course and adjust for changes that will affect their course plan. +6.1. Team Members and Their Key Achievements +Key Achievements (Pull Request links) Team member +Unit dialog popup by keyruhn · Pull Request #27 · thothtech/CourseFlow (github.com) +Header and unitcard component by keyruhn · Pull Request #20 · +thoth-tech/CourseFlow (github.com) +Kieron Boyle +Custom clustering-based network layout algorithm for determining +initial unit node positions by Vortrox · Pull Request #31 · thothtech/CourseFlow (github.com) +Network layout algorithm by Vortrox · Pull Request #26 · thothtech/CourseFlow (github.com) +Add backend API endpoints by Vortrox · Pull Request #23 · thothtech/CourseFlow (github.com) +Mel David Bugay +Discovery page pre calculated nodes implementation by +cmarktopher · Pull Request #33 · thoth-tech/CourseFlow +(github.com) +Discovery page ngx graph by cmarktopher · Pull Request #32 · thothtech/CourseFlow (github.com) +Docker integration by cmarktopher · Pull Request #25 · thothtech/CourseFlow (github.com) +https: //github.com/thoth-tech/CourseFlow/pull/17 +Ngx graph vs d3.js by cmarktopher · Pull Request #410 · thothtech/documentation (github.com) +Mark Enriquez +Login form and registration form (Frontend) by OmarHassanzada · +Pull Request #28 · thoth-tech/CourseFlow (github.com) +Hazratomar +Hassanzada +40 +CourseFlow Login and Registration Page Development Report by +OmarHassanzada · Pull Request #431 · thoth-tech/documentation +(github.com) +2FA-Documentation by OmarHassanzada · Pull Request #374 · thothtech/documentation (github.com) +Documentation Images Markdown by codeJdawg · Pull Request #38 +· thoth-tech/CourseFlow (github.com) +Create Discovery Page Function.md by codeJdawg · Pull Request #37 +· thoth-tech/CourseFlow (github.com) +Create Docker Research.md by codeJdawg · Pull Request #35 · thothtech/CourseFlow (github.com) +Create Analytics Page Design.md by codeJdawg · Pull Request #34 · +thoth-tech/CourseFlow (github.com) +Create Contribution.md by codeJdawg · Pull Request #21 · thothtech/CourseFlow (github.com) +Jaden Doss +Implemented Pop Up Designs, Add Functional Close Button, Update +JSON file that consists all relavent data by wmvoon · Pull Request #30 +· thoth-tech/CourseFlow (github.com) +Included All Designs from Figma by wmvoon · Pull Request #373 · +thoth-tech/documentation (github.com) +Wei Min Voon +Updates (Look at description) by SoVinhou · Pull Request #29 · thothtech/CourseFlow (github.com) +Log in client demo branch by SoVinhou · Pull Request #22 · thothtech/CourseFlow (github.com) +Sovinhou Ung +Side Bar integration and added features by CynthiaChee · Pull +Request #36 · thoth-tech/CourseFlow (github.com) +Create CourseFlow_SideBar.png by CynthiaChee · Pull Request #403 +· thoth-tech/documentation (github.com) +Add Figma prototype screenshots (Timetable View and Analytics +View) by CynthiaChee · Pull Request #372 · thothtech/documentation (github.com) +Cynthia Yi Min Chee +41 +6.2. Completed Deliverables +Course Map +Contributing Team Members +Design work by: Kieron Boyle, Cynthia Yi Min Chee, Wei Min Voon +Technical work by: Kieron Boyle, Cynthia Yi Min Chee, Wei Min Voon +Summary of Deliverables +• Finalised UI design on Figma +o The Figma project has pages divided into finalised designs as well as drafts. +• Base implementation of the CourseMap page and dynamically displaying the core +units for a specific course (read from the json file) +o There is a limit of 4 units displayed in each row of a the ‘unit-container div’ +This is since there is generally a maximum of 4 units per trimester. +o The ‘unit card’ for a unit can be clicked on. A dialog box will then open that +contains more information about the specific unit. +• Web scraped data on courses and units have been sectioned into relevant json files. +o There is a file containing only Bachelor of Computer Science units, a file with +data for all units and a file for all courses. +▪ The course data contains the core units for a course. The unit data +contains the unit summary, prerequisites, assessments, GLO’s and +more. +Deliverable Location +At this stage, this current main implementation of the CourseMap Page is present in this +branch of the CourseFlow repository: +https: //github.com/thoth-tech/CourseFlow/tree/dev/webpage-merging/Frontend +This will later be merged into the development branch: +https: //github.com/thoth-tech/CourseFlow/tree/development +The current Figma designs can be located here: +https: //www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +Discovery +Contributing Team Members +42 +Design work by: Cynthia Yi Min Chee and Wei Min Voon +Write up by: Jaden Doss +Technical work by: Mark Enriquez +Summary of Deliverables +• Create a UI for the ‘Discovery’ view page. +• Base implementation of the ‘Discovery’ view page and visualising the data +completed using d3.js: +o The graph-based map has been implemented which supports data (unit data +for example) with pre-calculated x and y positions. +▪ Pre-calculated x and y positions are done via algorithms on the +backend. +o A text-based list which serves as an alternative to the graph-based map is +also implemented which supports this data. +o Nodes on the graph are clickable which brings up a detailed panel to show +more information. +▪ Links to a node such as related units (pre-requisites etc.) are available +as buttons which can be clicked to bring up that node’s information. +▪ Transition animation is also present from node to node. +• Other implementations of the Discovery Page is also available: +o A force-directed, hierarchical based graph using d3.js. +o A force-directed graph using the ngx-graph library. +Deliverable Location +Main Pre-Calculated Position based Implementation using d3.js +At this stage, this current main implementation of the Discovery Page is present in this +branch of the CourseFlow repository: +https: //github.com/thoth-tech/CourseFlow/tree/dev/webpage-merging +This will later be merged into the development branch: +https: //github.com/thoth-tech/CourseFlow/tree/development +Other Implementations - Force-directed, hierarchical based graph using d3.js +https: //github.com/thoth-tech/CourseFlow/tree/prototype/discovery-page-force-sim-graph +Other Implementations – Ngx-graph +https: //github.com/thoth-tech/CourseFlow/tree/research/discovery-page +43 +User authentication +Contributing Team Members +Hazratomar Hassanzada and Sovinhou Ung +Summary of Deliverables +• Created a UI login of the CourseFlow website +• Backend that stores the log in details of the user +o This has been implemented via firebase +▪ The log in information can be accessed via the firebase account log in +which has been provided under the login credentials. +Deliverable Location +https: //github.com/thoth-tech/CourseFlow/tree/dev/authentication +Backend +API endpoints +Contributing Team Members +Mel Bugay +Summary of Deliverables +- Created API endpoints to allow the frontend webpages to get unit data from the +database +Deliverable Location +Add backend API endpoints by Vortrox · Pull Request #23 · thoth-tech/CourseFlow +(github.com) +Unit network layout algorithm +Contributing Team Members +Mel Bugay +Summary of Deliverables +- Created a custom network layout algorithm to determine where units should be +initially positioned on the unit discovery webpage in Python. +44 +- The algorithm works by calculating the similarity between two units based on factors +such as their unit code, year level, and university faculty +- The clustering-based variant of this algorithm uses DBSCAN to assign each unit to +clusters based on their similarity to each other, then calculates the layout of each +cluster using the Kamada-Kawai algorithm. The clusters are then combined together. +- The stochastic gradient descent variant uses the Tensorflow and Keras libraries to +create a neural network that calculates the optimal positions of nodes. +- The optimal x and y position of each node can be optimized using a custom loss +function. +- The SGD prototype was abandoned in favour of the clustering-based variant because +the math required to create a visually pleasing layout was too difficult for anyone in +the team to understand and work on. +Deliverable Location +Clustering based: +Custom clustering-based network layout algorithm for determining initial unit node +positions by Vortrox · Pull Request #31 · thoth-tech/CourseFlow (github.com) +Neural network/stochastic gradient descent-based prototype: +Network layout algorithm by Vortrox · Pull Request #26 · thoth-tech/CourseFlow +(github.com) +Docker +Contributing Team Members +Write up by: Jaden Doss +Technical work by: Mark Enriquez +Summary of Deliverables +• Created a Docker image containing a complete development environment for the +frontend. +Deliverable Location +https: //github.com/thoth-tech/CourseFlow/tree/development +6.3.Roadmap +Course Map +45 +• The user needs to be able to edit a specific year of their coursemap. +o The year ‘container’ should have an icon that the user can click that opens a +small dialog box. +o From this the user would be able to change or alter the coursemap for that +specific year. For instance, the number of trimesters the user will study, The +study load for the year etc +• The user needs to be able to edit a specific trimester of their coursemap. +o The year ‘trimester’ should have an icon that the user can click that opens a +small dialog box. +o From this the user would be able to change or alter the coursemap for that +specific trimester. For instance, the number of units in the trimester the +student will undertake. +• There needs to be functionality that allows users to add or edit a unit +o For instance, a user can enter in a unit code to a specific trimester. If the unit +is able to be studied in that trimester and all prerequisite units will be +complete prior then the unit can be added into the trimester. +• The ‘side menu’ has a variety of sub sections such as ‘overview’ and ‘edit +coursemap’. The contents of these sections need to be expanded on +o +Discovery +• Now that we have a base implementation, work can be done on optimizing the +graph. +o Despite using pre-calculated positions, rendering over 3000 nodes/units is +still quite laggy. +• We need to connect this to a backend endpoint. +o At this stage, this is reading data from a JSON file. +• Width and height of the graph is fixed, and we need to introduce responsiveness to +different screen sizes. +o This applies to the whole page in general and not just the graph. +o Will need to improve transition animations from node to node as it seems +screen sizes can impact this feature. +• Some modifications to the front-end code might be required depending on the +layout algorithm on the backend. +o The layout algorithm on the backend is still being worked on and may impact +the frontend. +Analytics +• An implementation of this component in Angular is required. +46 +o It may even be determined that this section isn’t required and can be added +as a sub-feature of the CourseMap page. +Backend +Measuring unit similarity based on its description +- Use an AI based approached to determine how similar two units are to each other +based on their description. +- This would allow the unit discovery page to cluster units that are more similar to +each other in a way that is more meaningful. +- Some proposed ways to achieve this include: +o Using a bag-of-words approach. In this approach we assume that units that +are similar to each other will share keywords with each other. +o Using pre-trained word embeddings. This allows unit with descriptions that +contain words that are semantically similar to each other to be considered +more similar to each other. +o Using pre-trained language models. +Web-scrapers to get unit information directly from the university site +- The current unit data we have is outdated or incomplete, so it would be nice if we +could update it using a custom-built web-scraping tool that gathers unit data directly +from the university’s handbook webpage +Docker +• Enhance the Docker related files to incorporate the Backend once it is ready. +o The plan is to have two separate containers for the frontend and backend. +6.4. Open Issues +Technical issues +- We are still working on getting a reliable source of unit/course data through a +combination of web-scraping and using language models. The current source of this +data is either given to us by Deakin staff (which has limited information) or sourced +ourselves from the 2019 university handbook PDF file (which is unreliable) +- The layout of units as nodes on the discovery page is still a WIP. We created a +somewhat working layout algorithm but not completely satisfied with it yet. +- Need to set up a CI/CD pipeline for the project once it matures some more. This +includes setting up a Docker network for the backend. (We have a docker image for +developing the frontend but I’m talking about making one for deploying CourseFlow) +47 +- Most of the code in the project lacks any form of automated testing. +- Frontend webpages need to communicate with the backend to get unit information +from the database instead of hardcoding this information in the code or loading it +from a JSON file. The webpages currently load this information into the webpage +through services in Angular, so we should be able to easily replace these with new +services that communicate with the backend. +- The user authentication webpages aren’t communicating with the rest of the +backend system at all, they’re communicating directly with an online database +hosted by Firebase. This part of the authentication which belongs to the backend is +written in Typescript instead of C# like the rest of the backend. We need to rewrite +the authentication webpages to bring user authentication under the control of the +backend system and address these two issues. +Project issues +- Need to create streamlined instructions for setting up a development environment +and contributing to the project for future capstone members. Some work on this has +already been done in the project’s README.md and Contributing.md files in the +project repository’s root folder. +- There is a lot of work to be done on CourseFlow, however this trimester we had a lot +of difficulty in breaking down the tasks into smaller ones that could be distributed to +team members. +- Most members joining the project had very limited or no experience in using Git or +GitHub. As product leads, we were able to give them enough training to contribute +code to the main repository through pull requests, however the lack of experience +limited members’ ability to directly collaborate on code together. If they needed to +collaborate on code, most members shared the code by directly sending files to each +other for most of the trimester. +6.5. Source Code +GitHub repository +CourseFlow’s GitHub repository: https: //github.com/thoth-tech/CourseFlow/ +All CourseFlow’s source code can be found in the GitHub repository. +Research and documentation +Most of CourseFlow’s research and documentation can be found at Thoth Tech’s +documentation repository documentation/docs/Courseflow at main · thothtech/documentation (github.com). +Some documentation about the code is kept at CourseFlow’s main repository at +CourseFlow/Documentation at development · thoth-tech/CourseFlow (github.com). +48 +Webpage prototypes +Prototypes of CourseFlow’s webpages are kept on Figma at +https: //www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +6.6. Login Credentials +CourseFlow’s GitHub repository: https: //github.com/thoth-tech/CourseFlow +You will need a GitHub account to contribute to the code. To contribute code, contact +CourseFlow’s product lead to gain write access or open a pull request to this repository. If +you are the product lead, contact Thoth Tech’s director to gain admin permissions for the +repository. +Firebase Login: +Email: courseflowfirebase@gmail.com +Password: _Courseflow@8756 +Figma: https: //www.figma.com/file/AxWuk1PxhXB9KjjvnEVl4z/Pending--- +CourseFlow?type=design&node-id=1%3A8641&mode=design&t=8ob2ZUT1wbxwJnk4-1 +Sign in with a Figma account to get edit access. +6.7. Other Relevant Information +Repository structure +In the CourseFlow repository, we follow a structured branch management approach to +ensure efficient and organized development. +Main Branch: The main branch within the CourseFlow repository holds stable versions of +the application. Access to this branch is restricted to repository maintainers and admins, +and contributors are required to submit pull requests (PRs) for changes. This strict control +helps maintain a reliable and deployable codebase. +Development Branch: The development branch is where ongoing work and new features +are integrated. Contributors make PRs to this branch, and it undergoes continuous +integration and testing to ensure code quality. Contributors with maintainer or admin +permissions have the option to push minor commits directly to the development branch for +swift updates. +Feature Branches: For specific tasks or features, contributors create feature branches +derived from the development branch. Feature branches isolate individual work, allowing +49 +parallel development. Once a feature is complete, a PR is submitted to merge it back into +the development branch. This workflow keeps the development process organized and +ensures that changes are thoroughly reviewed before integration. +Users with write permissions can push commits directly to feature branches, but this +practice is discouraged. It should only be employed for rapid collaboration with other team +members. Instead, we recommend contributors first push their changes to a fork of +CourseFlow and then create a PR to merge those changes into one of CourseFlow's +branches. +File structure +Files in the CourseFlow repository are separated into the Frontend, Backend, or +Documentation folders depending on their purpose. +/Frontend: Contains code belonging to CourseFlow’s website frontend, which are +responsible for generating and displaying webpages which the user directly interacts with. +The main Angular application is contained within the /Frontend/course-flow-app folder. +Other Angular applications or webpages created in parallel are contained within their +respective folders in the /Frontend folder. +/Backend: Contains code related to CourseFlow’s website backend and data integration +layer. The code in this directory is responsible for storing and retrieving data, facilitating +communication between the database and frontend, gathering unit information, and storing +them in the database. + "MD033": { + "allowed_elements": [ + "ul", + "li", + "img" + ] +}, +"MD013": { + "tables": false +} From 6e4b9d677875ddb4868403c9bf6cbfa4d0aebc46 Mon Sep 17 00:00:00 2001 From: victoriaokoro <143893109+victoriaokoro@users.noreply.github.com> Date: Fri, 8 Dec 2023 17:24:27 +1100 Subject: [PATCH 04/19] Hand over --- .../docs/companywidesubmissions/handover | 555 ++++ .../teams-and-leadership/Hand over report | 2330 ----------------- 2 files changed, 555 insertions(+), 2330 deletions(-) create mode 100644 src/content/docs/companywidesubmissions/handover delete mode 100644 src/content/docs/teams-and-leadership/Hand over report diff --git a/src/content/docs/companywidesubmissions/handover b/src/content/docs/companywidesubmissions/handover new file mode 100644 index 00000000..67e1e27b --- /dev/null +++ b/src/content/docs/companywidesubmissions/handover @@ -0,0 +1,555 @@ + + +
+ + + +