diff --git a/astro.config.mjs b/astro.config.mjs index e3c27e8b..b1eb4c08 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", @@ -53,7 +2351,7 @@ export default defineConfig({ }, { label: "Templates", - autogenerate: { + autogenernpate: { directory: "processes/quality-assurance/templates", }, }, diff --git a/src/content/docs/blog/article.md b/src/content/docs/blog/article.md new file mode 100644 index 00000000..e69de29b diff --git a/src/content/docs/companywidesubmissions/T2 2023 Progress report.md b/src/content/docs/companywidesubmissions/T2 2023 Progress report.md new file mode 100644 index 00000000..8ff405e2 --- /dev/null +++ b/src/content/docs/companywidesubmissions/T2 2023 Progress report.md @@ -0,0 +1,902 @@ +--- + +Title: thoth tech company progress report tri 2 2023 + +--- + +## 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 +8 Products - Company Operations This team oversees the entire operations of Thoth Tech and strivto 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 · PullRequest #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 wid 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: 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 +8. 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. • Aldocuments 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 SplashKitCore Library - Proposal Coskun Kilinc Understanding SplashKit Manager (SKM) Shell Commands - +Tutorial Proposal Coskun Kilinc Create Documentation Standards Coskun Kilinc Debugging in VScode +Kartik Kaushik +2. Creating a 2D "Metroidvania" Game - Collision Detection and Physics +3. Creating a 2D "Metroidvania" Game - Player Character Advanced Norman Spencer Harty Database - +Tutorial Plan Swanny Aurellia Database - Tutorial Swanny Aurellia +4\. 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 +5. Running SplashKit Programs Full Screen in WSL causes dropped Frames a. This affects Native +SplashKit installs and Windows Dev Containers +6. Arcade Machines Contoles Frezing a. After some time the actual arcade machine controls become +unresponsive see Trello Card +7. 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 +8. 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: + 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 } diff --git a/src/content/docs/companywidesubmissions/t2 2023 handover.md b/src/content/docs/companywidesubmissions/t2 2023 handover.md new file mode 100644 index 00000000..3fd82b8c --- /dev/null +++ b/src/content/docs/companywidesubmissions/t2 2023 handover.md @@ -0,0 +1,445 @@ +--- +title: Thoth tech Company Structure and Objectives for 2023 TRIMESTER 2 +--- + +## Executive Summary + +Thoth Tech is a software development company currently building from the ground up in Melbourne, +Australia. Thoth Tech’s mission is to build, operate, and deploy education technologies creating +tools that enhance education outcomes by empowering students, connecting them with tutors, and +facilitating personalised learning experiences. We value our people, and we value excellence. We are +people-focused, aiming to produce sustainable products of excellent quality, and provide frameworks +that supply a safe environment for learning and support of our team. This report is for stakeholders +and investors, and will outline the company structure, charter, objectives–both short and long term, +and explore each product’s goals. Thoth Tech has recruited approximately 63 employees with 5 product +leads. Thoth Tech currently runs with five products OnTrack, Courseflow, Splash Kit Courseflow, and +Company Operations. The additional projects give a bit more variety to the technology stacks +currently in use and ties in nicely with some existing units that students are working on. Company +Operations oversees the entire affairs of Thoth Tech and strives to make things easier. Effective +operations are important for maintaining a successful business. As other product teams focus to +develop new features and upgrade existing products, we would be working to ensure that appropriate +industry guidelines and standards are followed to produce world class products. We document the +tools and processes that Thoth tech uses in its daily operations and research new options that could +serve the company better. OnTrack is one of the bigger projects in the company and is a live +production system that is in use at Deakin University, it has been consistently improved and built +upon to provide an exceptional learning tool for students and staff at Deakin. Its technology stack +consists of a Ruby on Rails back end and an Angular JS / Angular 15 front end. There are a variety +of projects to enhance and upgrade this product that students can work on. CourseFlow is a Thoth +Tech product that was founded in T1 2023. It aims to assist students and course directors in course +planning and in comprehending the requirements of certain courses. It does this by giving users a +way to generate a personalized course map that meets the requirements of their course and by +providing a tool that allows users to view the requirements of all units (such as prerequisite +units) visually. SplashKit is currently a 2D game development Software Development Kit used to teach +object-oriented coding to beginners. It has been identified that SplashKit can be expanded to +explore other areas and languages. The Art Gallery Project is a new project that has been added in +T1 2023, it is a web-based API back end written in .NET 7 and C# on a PostgreSQL database and a Vue +front end that was developed by several students and a lecturer. The aim is to provide a system to +track and sell Art works in smaller communities. + +## Leadership Team + +### Company Directors + +Andrew Cain, Managing Director Glory Lee, Managing Director + +### 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 + +## Roles and Responsibilities + +| Roles | Description | Responsibilities | Skills || ---------------------------- | | | Managing +Director | The role of the managing director is to oversee the Thoth Tech company executive +leadership team to ensure they are running the company effectively and value is being added to the +Thoth Tech products by the projects they are supporting. Provide guidance to executive leadership +team. Provide high-level vision for the ongoing goals of the company Provide a consistent company +strategy due to low retention Leadership Communication Mentor Decision-making | | Product Lead | The +role of the Product lead is to lead and support delivery leads in projects related to their product +to ensure ongoing success. | Drive the product in the direction determined by the Managing Directors +and Area Leads. Strong drive towards toward objectives with bias for action Proactively identify +blockers and opportunities Support delivery leads where needed Make thoughtful decisions motivated +by data and research Be transparent and accountable by visualising objectives Leadership +Communication Empathy Interpersonal-Savvy Collaborative Stakeholder Management | | Delivery +Lead/Senior Student | The role of the Delivery lead is to lead, organise and support their project +teams to ensure ongoing success. Establish a team cadence Build rapport with all team members to +foster a cohesive and collaborative environment Strong drive towards objectives with bias for +action. Proactively identify blockers and opportunities | Leadership Communication Empathy +Interpersonal-Savvy Collaborative Stakeholder Management | | Team Member | The role of all team +members is to contribute to their respective products/projects. Take the initiative in finding work +and solving problems, as well as to communicate with the Seniors about their progress and issues. | +Work with the project leads to meet the goals for this trimester. Attend to assigned tasks in a +timely manner. Work in collaboration with other team members to produce a viable product. Technical +skills as per projectTeam collaboration Competence in GitHub Time Management Knowledge of Agile +model + +## Trimester Goals and Objectives + +Thoth Tech will aim to achieve the goals listed below: + +### Goal 1: Foster employees' growth in a safe and supportive environment to equip them with the + +soft and technical skills needed upon graduation## Create an environment where the amount of work is +distrusted evenly amongst roles and contributors. Utilise processes and tools that require +collaboration and fosters growth such as Google Suite or Pull Reviews. Educate and Empower skill +growth and knowledge sharing. Enhance onboarding experience for future employees. Ensure a +supportive environment is provided for all employees regardless of race, gender, or other +differences to allow every employee to thrive. + +### Goal 2: Extend the Existing Thoth Tech Applications based on the Director’s Visions + +Improve existing features of the Thoth Tech applications and extend the platforms. Have a mentality +of self-improvement and find/squash bugs related to non-technical and technical issues. Maintain +security guidelines and industry best standards. Embrace an ethic of communicating with +non-technical stakeholders through diagrams and other methods of documentation to help future +employees and investors. + +### Goal 3: Revise and Maintain Company Operations + +Improve existing company policies based on employee feedback and director advice. Educate future +employees and develop a process to consider the bus factory. Allow company operations to be a smooth +process for nurturing new company operation members. Establish documentation and guidelines to allow +anyone to understand the company operation. + +## Company Charter + +The Thoth Tech charter is a crucial tool for guiding our team, navigating decisions,establishing +boundaries, and aligning the team on how we work together. It defines how as a company we work +together to achieve success. Our charter comprises of the following: + +1. Mission: As a team, what are we trying to achieve? +2. Values: What do we care about? +3. Team Culture: How will we work together, what do we expect? +4. Roles: What roles do we need and what are the responsibilities of each role? +5. Metrics of Success: What does success look like to us? +6. Standards of Quality: What are our standards for high quality work? Mission To build, operate and + deploy world class education technologies. This is achieved by creating tools that enhance + education outcomes by empowering students, connecting them with tutors and facilitating + personalised learning experiences. Values Our values describe how we work, what we represent, and + guide us to be the kind of company and team members we want to be. When we live up to these + values we will: Be people-focused We expect the best from each other, give each other the benefit + of the doubt, encourage each other to take initiative to improve ourselves and the company, and + provide direct and constructive help to each other. We collaboratewith kindness while being + respectful of each other. Uphold sustainable excellence We create working, maintainable, and + understandable software that is enjoyable and easy to use. We strive to do it in a way that is + sustainable for our team members and for our environment. Be inclusive and supportive We + celebrate diverse perspectives and embrace uncomfortable ideas and conversations. We facilitate + an environment in which all team members feel psychologically safe enough to make requests for + what they need to do their job. We learn through failures while continually working to make + things better. + +## Team Culture + +1. Our employees will always operate with transparency and accountability. +2. We strive to always assume positive intent in our communication with each other. +3. We promote individual empowerment, with group support. +4. We achieve through iteration - progress before result is to be expected. + +## Roles + +1. Roles and responsibilities should be clearly defined. +2. Decision-making should be made based on company values and evidence. + +## Metrics of Success + +1. We take pride in our work. +2. We celebrate success regularly. +3. We collaborate and mentor with each other to share our learning. +4. We define our success. +5. We do not take shortcuts. + +## Standards of Quality + +1. Security and privacy are paramount. +2. Everything we do must be well documented for ourselves and for the future. +3. What we do should be easy to understand. +4. Build everything with re-usability and iteration in mind. +5. User satisfaction is key. + +## Company Strutcure + +[Org chart](/Org_Chart.png) + +## Projects Overview + +### Company Operations + +### Overview, Goals, and Objectives + +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. + +### 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. 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. + +### Project Members + +| Project Member       | Role         | Responsibilities                           | | \| +-------------------- | ------------ | | ----------------------- | ------------ | | Onyedikachi +Okorie   | Product Lead | Organise meeting, create technical documents, assign tasks to team +members, and so on. | | Quinn Curtis         | Team Member  | Work on assigned cards on Trello +              | | Aris Danielle Ilarde | Team Member  | Work on assigned cards on Trello +        | + +### OnTrack + +### Overview, Goals, and Objectives - 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 - OnTrack + +Numbas Intergration – 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 Angulars, 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. +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 - OnTrack + +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 - OnTrack + +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 integration completed. 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): All Angular migrations completed. +Enhance features mapped out in Trimester. Develop new features. Create Data Analytics platform. +Authentication Module created. Card Scan Attendance Project + +### Project Members - OnTrack + +| Project Member             | Role         | Responsibilities                             | +| -------------------------- | ------------- | -------------------------------------------- | +| Daniel Maddern             | Product Lead | Distribute Tasks, Implement Numbas project. | +| Dylan Sutherland           | Team member   | Work on Trello tasks for various projects   | +| Inder Singh               | Team Member   | Work on Trello tasks for various projects   | +| Sanah Quazi               | Team Member   | Work on Trello tasks for various projects   | +| Devanshi Patel             | Team Member   | Work on Trello tasks for various projects   | +| Brian Caldera             | Team Member   | Work on Trello tasks for various projects   | +| Bryan Taung               | Team Member   | Work on Trello tasks for various projects   | +| Anirudh Nellippilli Joshi | Team Member   | Work on Trello tasks for various projects   | +| Syed Faiq Ur Rehman       | Team Member   | Work on Trello tasks for various projects   | +| Nidhisha Pahade           | Team Member   | Work on Trello tasks for various projects   | +| Quoc Vi Cao               | Team Member   | Work on Trello tasks for various projects   | +| AGHILESH ARASU             | Team Member   | Work on Trello tasks for various projects   | +| Jayant                     | Team Member   | Work on Trello tasks for various projects   | +| Ankit Prakash             | Team Member   | Work on Trello tasks for various projects   | + +### Art Gallery + +### Overview, Goals, and Objectives - Art Gallery + +The Art Gallery is a product being created to help sell and advertise rural Art in Australia. We +made some good progress last trimester and have some amended goals this trimester to move the +product forward. The key focuses this trimester will be about getting the system deployed with a +working knowledge base. So future work on the system can be easier we will also look at implementing +a CI/CD pipeline. + +### Projects - Art Gallery + +This trimester we have a range of projects we are working on in the Art Gallery: Deployment – The +aim this trimester is to get the base product deployed after researching the various deployment +options (free tier). CI/CD Pipeline – We are also looking to investigate and implement a CI/Cd +pipeline for the product to make future development work easier and cleaner. Knowledge Base – A lot +of work has gone into designing and investigating the Knowledge base in Trimester 1 and we want to +build this solution and populate it with the knowledge we already have. IIIF Research – Art Gallery +need to adhere to specific standards and the format for the Art Gallery images should be IIIF, we +will be researching and writing a report on the requirements to meet this standard. Lighthouse +implementations – Last trimester we ran a project to test the system with Google Light house, the +report outlined some of the areas we needed to improve, and we hope to make those changes this +trimester. Front end update – Parts of the Vue front end are written in pure HTML/CSS, this need +updating to make use of the Vue framework. + +### Aims for Trimester - Art Gallery + +Implement Knowledge base. Investigate and implement a CI/CD pipeline for the product. Implement +changes based on Light house report from T1. Compare existing tech stack to Angular/Rails IIIF +research and report for image standard Add additional testing (JavaScript testing) + +### Deliverables - Art Gallery + +Short Term Working Knowledge base with documentation uploaded Deployed system and Deployment process +documentation CI/CD pipeline documented and live. IIIF research report Lighthouse report suggested +changes. Front end conversion to Vue framework. Long Term Full implement IIIF standard Test Current +system against Angular/Rails build. Document the Knowledge base procedures and process for use. + +### Project Members - Art Gallery + +| Project Member             | Role         | Responsibilities                                       | +| -------------------------- | ------------ | ------------------------------------------------------ | + +| | Chloe Hulme               | Product Lead | Manage the team and projects. | | Daniel Maddern +       | Team member  | Set up Trello and get the team started on their work. | | Kyle David Adams   +       | Team member  | Work on Trello tasks for various projects | | Dominic Robert Ryzner     | +Team member  | Work on Trello tasks for various projects | | Ayan Masood               | Team member + | Work on Trello tasks for various projects | | Matthe Hesketh            | Team member  | Work on +Trello tasks for various projects | | Sivasmyuktha A Selvarajuh | Team member  | Work on Trello +tasks for various projects | + +### Courseflow + +### Overview, Goals, and Objectives - Courseflow + +This project aims to assists students and course directors in course planning and in comprehending +the requirements of certain courses. It does this by giving users a way to generate a personalized +course map that meets the requirements of their course and by providing a tool that allows users to +view the requirements of all units (such as prerequisite units) visually. + +### Aims for Trimester - Courseflow + +Our aim this trimester is to complete an MVP (Minimum Viable Product) for CourseFlow and deploy it +to a server. To achieve this, we need to design and implement key components which are detailed +under the deliverables section. Once the MVP is developed, the next step is to deploy it to a +server, making it accessible to users. This involves setting up the server infrastructure, +configuring the necessary software dependencies, and ensuring a smooth deployment process. + +### Deliverables - Courseflow + +Frontend: Finalise the UI ‘CourseMap’ timetable generating page with TypeScript and Angular Connect +the ‘CourseMap’ page with the Deakin/student data API. Create a UI for the ‘Discovery’ view page. +Significant progress on the ‘Discovery’ view page and visualising the data. Backend: Get access to +Deakin’s unit and course data, either through the private API used by StudentConnect, web-scraping +the handbook site, or some other way. Create API endpoints in C#. Write unit tests for the main +software components. Miscellaneous: Build up clear documentation of how the front end and backend. +Implement a CI/CD pipeline. Deploy CourseFlow to a server. Potentially have user testing depending +on the progress of the project Documentation: Write README.md files for CourseFlow GitHub Ensure +GitHub and repository runs up to speed. Ensure proper naming conventions throughout the codebase. +Work with front-end and back-end to make diagrams and explanations of how the project works and +connects. + +### Project Members - Courseflow + +| Project Member         | Role         | Responsibilities                           | +| ---------------------- | ------------- | ------------------------------------------ | +| Mel David Bugay       | Product Lead | Back-end and project management.           | +| Kieron Anthony Boyle   | Team member   | Front-end and project management.         | +| Ted Wang               | Team member   | Front-end and project management.         | +| Onyedikachi Okorie     | Team member   | CI/CD, Documentation, project management. | +| Hazratomar Hassanzada | Team member   | Documentation, Front-end.                 | +| Jaden Doss             | Team member   | Documentation.                             | +| Mark Enriquez         | Team member   | Front-end and back-end.                   | +| Wei Min Voon           | Team member   | Documentation, Front-end.                 | +| Sovinhou Ung           | Team member   | Back-end, Front-end.                       | +| Cynthia Yi Min Chee   | Team member   | Design.                                   | + +### Splash Kit + +### Overview, Goals, and Objectives - Splash Kit + +Splashkit is a simple-to-use programming framework specialising in 2D games to help teach students +introductory programming through the development of games. The framework is primarily coded in C++ +but can be used for C++, C#, Python, and Pascal. + +### Projects - Splash Kit + +Arcade Machines: The university has purchased four Arcade machines that can be used to showcase +games built-in SplashKit. The units run on a Rasberry Pi 3B+. Giving constraints and a target +platform development. Our goal is to have this platform ready for students to show games developed +using SplashKit by the Thoth Tech Splashkit team. In the long term, the aim is to have this platform +available for first-year students with an easy-to-use process to upload their and test their games. +Tutorials: As Splashkit is not a mainstream framework, there are fewer examples on how to use it +effectively available online. Our aim is to create a small series of tutorials using game +construction as the medium to convey how to use various SplashKit functions together. SplashKit +Expansion: Splashkit framework was derived from a project called Swingame; in the original port, not +all functions were moved across. The team will develop a roadmap reviewing what functions can be +ported across and investigate new functions that can be added. SplashKit Online: A new project we +wish to launch is SplashKit Online; the concept is to give students access to an IDE in a web +browser and the ability to run their code in a web browser. + +### Aims for Trimester - Splash Kit + +This trimester's primary goal is to prepare the arcade machines for the Burwood open day, displaying +students' work with playable demos. Create at least two tutorials, showing how to use sprites and +object interaction effectively. these areas will likely also be covered in the process of building +an interactive game – Handel Inputs, Draw to window, Animations, Collision detection. The team will +review what functions can be ported, develop a roadmap create processes for contributing to +Splashkit Framework, and investigate & manage bug reports. Investigate and produce initial designs +for how SplashKit Online can work. + +### Deliverables - Splash Kit + +1. Arcade Machines Short Term Develop an Arcade machine menu system using Emulation Station as a + base. Test and optimise existing games for the Arcade Machine. Asteroids DX Ball Below The + Surface Runner Dash Add high score function to games. Update GitHub actions to allow C# games to + be uploaded. Long Term Define and automate the process for uploading games to machines. Create + documentation defining requirements for running games on the arcade machines. Tutorials Short + Term Complete and Refine 2D racer code base. Create a Written Tutorial on working with Sprites + (2D Racer) Shot version Introducing and using sprites that can be put on Splashkit.io More + detailed step-by-step tutorial introducing how to build a game using sprites. Outline the second + game and tutorial focusing on sprite and game physic. Long Term Continue and finish game two + Tutorial. Explore additional areas where detailed tutorials would be of benefit in explaining how + to use SplashKit APIs SplashKit Expansion Short Term Develop Roadmap Learn and understand + requirements for importing new functions to SplashKit Port Functions Collision Effect Application + (angle + energy/mass transfer) Circle Collide Test Long Term Develop Issues(bug) management + process. Look at further functions for Expansion. AI and/or Chat GPT Physics Engine +2. SplashKit Online Short Term Perform the first stages of the Software Development Lifecycle (SDLC) + Planning, Analysis and Design Investigate the viability of different approaches. Develop Software + Requirements Specification Create code contribution standards using a test-driven approach. Long + Term Develop the platform using a container infrastructure (portable) Create continuous + improvement continuous deployment pipeline. Host service + +### Project Members - Splash Kit + +| Project Member  | Role         | Responsibilities                     | + +| --------------- | ------------ | ------------------------------------ | --- | + +| Phil Williams   | Product Lead | Team management, Code, Documentation | + +| Loliwe          | Team member  | Code, Documentation                  | + +| Coskun Kilnic   | Team member  | Code, Documentation                  | + +| Norman Harty    | Team member  | Code, Documentation                  | + +| Riley Oussoren  | Team member  | Code, Documentation                  | + +| Harney Halls    | Team member  | Code, Documentation                  | + +| Norman Harty    | Team member  | Code, Documentation                  | + +| Ro-Wern Ong     | Team member  | Code, Documentation                  | + +| Ashley Thompson | Team member  | Code, Documentation                  | + +| Kartik Kaushik  | Team member  | Code, Documentation                  | + +| Jason Kingsbury | Team member  | Code, Documentation                  | + +| Aditya Parmar   | Team member  | Code, Documentation                  | s   | 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/Thoth Tech progress report b/src/content/docs/teams-and-leadership/Thoth Tech progress report new file mode 100644 index 00000000..97028b30 --- /dev/null +++ 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", + }, + }, +});