diff --git a/src/content/docs/Products/OnTrack/02-set-up-dev.mdx b/src/content/docs/Products/OnTrack/02-set-up-dev.mdx index 7ec4675e..f3f91edc 100644 --- a/src/content/docs/Products/OnTrack/02-set-up-dev.mdx +++ b/src/content/docs/Products/OnTrack/02-set-up-dev.mdx @@ -462,12 +462,14 @@ The `*` symbol next to `development` confirms you are on the correct branch. ### Step 32: Exploring the Dashboard - After logging in, you’ll be directed to the dashboard showing **Enrolled Units**. Examples: + - Introduction to Programming - Object-Oriented Programming - Artificial Intelligence for Games - Game Programming - Interact with the dashboard by: + - Clicking on any enrolled unit to view details such as assignments and grades. - Using the "Select Unit" dropdown in the top-left corner to switch between units. diff --git a/src/content/docs/Products/OnTrack/04-planner-board-etiquette.mdx b/src/content/docs/Products/OnTrack/04-planner-board-etiquette.mdx index 26b54a7b..6287c4b5 100644 --- a/src/content/docs/Products/OnTrack/04-planner-board-etiquette.mdx +++ b/src/content/docs/Products/OnTrack/04-planner-board-etiquette.mdx @@ -17,6 +17,7 @@ efficient use of the planner board. 1. ### Claiming a Task + - **Commit to work:** Only claim a task if you are ready to work on it. - **Unclaim if needed:** If you are unable to proceed with a task you've claimed, unclaim it so others can take over. @@ -24,6 +25,7 @@ efficient use of the planner board. being actively worked on. 2. ### Adding a Task + - **Be clear and concise:** When adding a task, provide a meaningful title and a detailed description. - **Add checklists:** If the task involves multiple steps, include a checklist to outline them @@ -32,6 +34,7 @@ efficient use of the planner board. `Tutorials` if it's tutorial based, or `usage examples` if it's a usage example. 3. ### Moving Tasks + - **Include relevant links:** When completing a task, attach links to the pull request (PR) and any other relevant information. - **Add a completion comment:** Leave a comment on the task card with the date you completed the @@ -44,6 +47,7 @@ efficient use of the planner board. > detailed instructions. 4. ### First Peer Review + - **Follow the review process:** Adhere to the steps outlined in the [Peer Review Guide](/products/splashkit/06-peer-review). - **Request changes if needed:** Provide feedback and request changes if required. @@ -53,6 +57,7 @@ efficient use of the planner board. task. 5. ### Second Peer Review + - **Follow similar steps:** Conduct the second peer review following the same guidelines as the first. - **Mentor Review:** After approving the PR, move it to the appropriate "Mentor Review" column. diff --git a/src/content/docs/Products/OnTrack/05-planner-board-guidelines.mdx b/src/content/docs/Products/OnTrack/05-planner-board-guidelines.mdx index 008cfe57..2ab6ce12 100644 --- a/src/content/docs/Products/OnTrack/05-planner-board-guidelines.mdx +++ b/src/content/docs/Products/OnTrack/05-planner-board-guidelines.mdx @@ -74,10 +74,12 @@ Agile principles to organize work into sprints. ### Sprint Workflow on Planner Boards 1. **Before the Sprint**: + - Plan tasks and create cards in the _To Do_ column. - Prioritize tasks based on team capacity and project goals. 2. **During the Sprint**: + - Move cards from _To Do_ → _In Progress_ → _Review_ as work progresses. - Communicate regularly during daily stand-ups to ensure alignment. @@ -130,10 +132,12 @@ This is closely tied to task cards in the Planner Board. ### Steps for Upstream Reviews: 1. **Connect PR to Planner Board**: + - Link the PR to the corresponding task card for tracking. - Use comments in the card to summarize key changes in the PR. 2. **Review Process**: + - Conduct a thorough code review (refer to the Peer Review Guide). - Move the task card to _Review_ after the PR is created. diff --git a/src/content/docs/Products/OnTrack/07-peer-review-web.mdx b/src/content/docs/Products/OnTrack/07-peer-review-web.mdx index c298c6b4..0ccff6aa 100644 --- a/src/content/docs/Products/OnTrack/07-peer-review-web.mdx +++ b/src/content/docs/Products/OnTrack/07-peer-review-web.mdx @@ -76,6 +76,7 @@ contributions. ### Ontrack Peer-Review Prompts - **General Information**: + - [ ] Type of Change: Clearly indicate the type of change (choose one): - [ ] Bug fix - [ ] New feature @@ -83,19 +84,23 @@ contributions. - [ ] Documentation update - **Code Quality**: + - [ ] Repository: Ensure the PR is made to the correct repository. - [ ] Readability: Is the code easy to read and follow? Are comments included where necessary? - [ ] Maintainability: Can this code be maintained or extended easily in the future? - **Functionality**: + - [ ] Correctness: Does the code meet the task requirements? - [ ] Existing Functionality: Has the impact on existing functionality been considered and tested? - **Testing**: + - [ ] Test Coverage: Are unit tests provided for new or modified code? - [ ] Test Results: Have all tests passed successfully? - **Documentation**: + - [ ] Documentation: Is the inline and external documentation updated and clear? - **Pull Request Details**: diff --git a/src/content/docs/Products/OnTrack/Documentation/Deployment/Enhanced_Authentication/LDAP-and-devise-research-documentation.md b/src/content/docs/Products/OnTrack/Documentation/Deployment/Enhanced_Authentication/LDAP-and-devise-research-documentation.md index c48696fa..4573063b 100644 --- a/src/content/docs/Products/OnTrack/Documentation/Deployment/Enhanced_Authentication/LDAP-and-devise-research-documentation.md +++ b/src/content/docs/Products/OnTrack/Documentation/Deployment/Enhanced_Authentication/LDAP-and-devise-research-documentation.md @@ -249,14 +249,11 @@ a broad overview will be sufficient for now. [3] heartcombo (n.d.) Devise [GitHub repository]. Available: -[4] C. Schiewek (2020, Jul. 24). Devise LDAP Authenticatable [GitHub repository]. Available: - +[4] C. Schiewek (2020, Jul. 24). Devise LDAP Authenticatable [GitHub repository]. Available: -[5] L. D. Hurley (n.d.). Devise Token Auth [GitHub repository]. Available: - +[5] L. D. Hurley (n.d.). Devise Token Auth [GitHub repository]. Available: -[6] J. P. Riethmacher (n.d). Angular Token [GitHub repository]. Available: - +[6] J. P. Riethmacher (n.d). Angular Token [GitHub repository]. Available: --- diff --git a/src/content/docs/Products/OnTrack/Documentation/Deployment/Enhanced_Authentication/current-and-proposed-authentication-evaluation-5.1.md b/src/content/docs/Products/OnTrack/Documentation/Deployment/Enhanced_Authentication/current-and-proposed-authentication-evaluation-5.1.md index 030efeeb..bbb0d238 100644 --- a/src/content/docs/Products/OnTrack/Documentation/Deployment/Enhanced_Authentication/current-and-proposed-authentication-evaluation-5.1.md +++ b/src/content/docs/Products/OnTrack/Documentation/Deployment/Enhanced_Authentication/current-and-proposed-authentication-evaluation-5.1.md @@ -12,8 +12,8 @@ title: Review of Current and Proposed Authentication Solutions [Proposed Authentication Enhancements](#proposed-authentication-enhancements) - [The Proposed Authentication Mechanism](#the-proposed-authentication-mechanism) -- [Advancements of the Previous Authentication Mechanisms and how it Addresses Issues of the Old - Method] +- [Advancements of the Previous Authentication Mechanisms and how it Addresses Issues of the + Old Method] (#advancements-of-the-previous-authentication-mechanisms-and-how-it-addresses-issues-of-the-old-method) - [Potential Issues and Concerns that must be Considered](#potential-issues-and-concerns-that-must-be-considered) diff --git a/src/content/docs/Products/OnTrack/Documentation/Deployment/overview.md b/src/content/docs/Products/OnTrack/Documentation/Deployment/overview.md index 1190c8d6..e7e1f4da 100644 --- a/src/content/docs/Products/OnTrack/Documentation/Deployment/overview.md +++ b/src/content/docs/Products/OnTrack/Documentation/Deployment/overview.md @@ -50,9 +50,8 @@ deployment. Prior to deploying to GCP, we ran several tests locally (localhost) on our own workstations to determine the configuration changes required deploy Doubtfire successfully. On our individual -workstations, we cloned the [Doubtfire-deploy-GCP repository] - and modified the necessary files. We then used -docker compose and Docker to run and deploy containers. +workstations, we cloned the [Doubtfire-deploy-GCP repository] +and modified the necessary files. We then used docker compose and Docker to run and deploy containers. ![doubtfire-localhost-compose](/doubtfire-localhost-compose.png "docker compose output") diff --git a/src/content/docs/Products/OnTrack/Documentation/Documentation/Proposed_Google_Auth_feature.md b/src/content/docs/Products/OnTrack/Documentation/Documentation/Proposed_Google_Auth_feature.md index 46c1514d..34c211fc 100644 --- a/src/content/docs/Products/OnTrack/Documentation/Documentation/Proposed_Google_Auth_feature.md +++ b/src/content/docs/Products/OnTrack/Documentation/Documentation/Proposed_Google_Auth_feature.md @@ -16,12 +16,14 @@ authentication system within a Ruby on Rails application. ### Previous Implementation Steps 1. **Setup Using google-api-client:** + - Integrated the gem to handle Google OAuth 2.0. - Created an endpoint in authentication_api.rb for Google authentication (/auth/google). - Configured token verification using Google::Apis::Oauth2V2::Oauth2Service. - Generated temporary tokens for authenticated users. 2. **Challenges Identified:** + - **Token Validation Failures:** Issues with API key configuration and scope validation caused intermittent failures. - **Complexity in Library Usage:** The google-api-client gem required extensive configuration and @@ -122,6 +124,7 @@ token validation and user data retrieval. 4. **Testing** Conduct functional and security testing for the updated implementation: + - Validate token-based authentication using Google accounts. - Test various scenarios such as invalid tokens and token expiration. - Simulate edge cases like incorrect client credentials. diff --git a/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Deploy OnTrack/troubleshooting-docker-backup-for-ontrack.md b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Deploy OnTrack/troubleshooting-docker-backup-for-ontrack.md index 697ac491..283c58ac 100644 --- a/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Deploy OnTrack/troubleshooting-docker-backup-for-ontrack.md +++ b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Deploy OnTrack/troubleshooting-docker-backup-for-ontrack.md @@ -31,6 +31,7 @@ What you guys need to do is > You need to change “docker compose” of file run-full.sh in doubtfire-deploy/development 2. doubtfire-web doesn’t compile successfully: + - Open terminal - Head to folder doubtfire-deploy/development by cd - Run this in 1 line: @@ -41,6 +42,7 @@ What you guys need to do is ``` 3. doubtfire-api don’t run and exit with code 0/1. + - Open terminal - Head to folder doubtfire-deploy/development by cd - Run this in 1 line: diff --git a/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Framework/angular-and-angularjs.md b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Framework/angular-and-angularjs.md index 39062c85..3df094ad 100644 --- a/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Framework/angular-and-angularjs.md +++ b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Framework/angular-and-angularjs.md @@ -51,5 +51,5 @@ code reusability. So, The AngularJS framework provides reusable components for i Simplilearn.com. (2018). AngularJS Vs. Angular 2 Vs. Angular 4: Understanding the Differences. [online] Available at: - [Accessed 20 -Sep. 2022]. + [Accessed +20 Sep. 2022]. diff --git a/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Migration/PROJECTS_INDEX_MIGRATION_INVESTIGATION.md b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Migration/PROJECTS_INDEX_MIGRATION_INVESTIGATION.md new file mode 100644 index 00000000..7c084d28 --- /dev/null +++ b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Migration/PROJECTS_INDEX_MIGRATION_INVESTIGATION.md @@ -0,0 +1,109 @@ +--- +title: Projects Index Migration Investigation +description: Investigation of the projects/index parent state migration from AngularJS to Angular +--- + +# Projects Index Migration Investigation + +Date: January 27, 2026\ +Author: Jeffy Sam\ +Area: Projects module – index (parent) state + +## Purpose + +This document investigates the current state of the projects/index parent state migration from +AngularJS to Angular. The goal is to confirm what has already been migrated, identify what remains +incomplete, and assess whether the state is safe to finalise without breaking dependent child +states. + +## Current State of the Migration + +The Angular implementation of the projects/index parent state already exists and is functionally +complete. The following Angular files are present and active: + +- index.component.ts +- index.component.html +- index.component.scss +- index.state.ts +- index.module.ts + +The Angular parent state handles route parameter extraction, project loading, unit resolution, user +role resolution, global view state configuration, and explicit lifecycle cleanup. No runtime or +console errors are observed when the Angular implementation is active. + +The legacy AngularJS implementation still exists in the repository and includes the following files: + +- index.coffee +- index.tpl.html (if present) + +As long as these legacy files remain, both AngularJS and Angular implementations may coexist. + +## Responsibilities of the Parent State + +The projects/index parent state provides shared context for all project-related child states. Its +responsibilities include: + +- Loading the project using the route projectId +- Resolving the associated unit +- Resolving the current user's role +- Setting the global application view context to PROJECT +- Exposing project, unit, and unitRole to child states + +These responsibilities are fully implemented in the Angular version and mirror the legacy behaviour. + +## AngularJS vs Angular Behaviour + +The Angular implementation preserves all functional behaviour while introducing: + +- Explicit lifecycle management +- Explicit subscription cleanup +- Strong typing via TypeScript +- Observable-based route parameter handling +- Reduced reliance on implicit scope inheritance + +No functional differences have been identified. + +## Dependent Child States + +The following child states depend on the projects/index parent state for shared context: + +- projects/dashboard +- projects/tutorials +- projects/portfolio +- projects/groups +- projects/outcomes + +Any issues in the parent state will directly affect these routes. + +## Verification Required Before Cleanup + +Before legacy files can be safely removed, the following must be verified: + +- Project loading works for valid and invalid project IDs +- Unit and user role resolve correctly +- Global view state is set to PROJECT +- Navigation to all child states works correctly +- Page refresh and deep linking behave correctly +- No routing or console errors occur +- No memory leaks from subscriptions + +## Files in Scope + +Angular files currently in use: + +- index.component.ts +- index.component.html +- index.component.scss +- index.state.ts +- index.module.ts + +Legacy files pending removal: + +- index.coffee +- index.tpl.html + +## Conclusion + +The Angular implementation of the projects/index parent state is functionally complete. The +migration is currently pending verification and cleanup. Once verified, the legacy AngularJS files +can be removed and the parent state can be considered fully migrated. diff --git a/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Migration/PROJECTS_INDEX_MIGRATION_PLAN.md b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Migration/PROJECTS_INDEX_MIGRATION_PLAN.md new file mode 100644 index 00000000..6c4e3e65 --- /dev/null +++ b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/Migration/PROJECTS_INDEX_MIGRATION_PLAN.md @@ -0,0 +1,92 @@ +--- +title: Projects Index Migration Plan +description: Plan to finalise the projects/index parent state migration to Angular +--- + +# Projects Index Migration Plan + +Date: January 27, 2026\ +Author: Jeffy Sam\ +Area: Projects module – index (parent) state + +## Objective + +Finalise the migration of the `projects/index` parent state by validating the existing Angular +implementation and safely removing legacy AngularJS files. This plan applies only to the parent +state. Child state migrations are out of scope. + +## Current Status + +Completed work includes creation of the Angular component, Angular UI-Router state definition, +module configuration, migration of legacy controller logic, and implementation of explicit lifecycle +and subscription management. + +Outstanding work includes formal verification, removal of legacy AngularJS files, confirmation of +child state stability, and documentation updates. + +## Migration Steps + +### Step 1: Verification + +Validate the Angular parent state by confirming that project loading works for valid and invalid +IDs, unit and user role resolution behave correctly, the global view context is set to `PROJECT`, +navigation to all child states works, deep linking and page refresh behave correctly, and no console +or routing errors occur. + +### Step 2: Legacy Cleanup + +After successful verification, remove the following legacy files: + +- `src/app/projects/states/index/index.coffee` +- `src/app/projects/states/index/index.tpl.html` + +Confirm that the application builds successfully, no missing references remain, and no routing +conflicts occur. + +### Step 3: Final Validation + +Re-test all child routes, confirm there are no duplicate route registrations, verify that +subscriptions are cleaned up correctly, and confirm that behaviour matches the legacy +implementation. + +## Child State Verification Checklist + +- [x] **dashboard** — Project: Yes, Unit: Yes, Role: Yes +- [x] **tutorials** — Project: Yes, Unit: Yes, Role: Yes +- [x] **portfolio** — Project: Yes, Unit: Yes, Role: Yes +- [x] **groups** — Project: Yes, Unit: Yes, Role: Yes +- [x] **outcomes** — Project: Yes, Unit: Yes, Role: Yes + +## Testing Checklist + +### Routing + +- Valid project loads +- Invalid project redirects safely +- Deep linking works +- Page refresh works + +### Context + +- `project` available to child states +- `unit` available to child states +- `unitRole` available to child states +- Global view context set correctly + +### Stability + +- No console errors +- No routing conflicts +- No memory leaks +- Cached behaviour preserved + +## Success Criteria + +The migration is complete when the Angular parent state is the only active implementation, legacy +AngularJS files are removed, all child states load correctly, and no routing or console errors are +present. + +## Outcome + +Completing this plan finalises the `projects/index` migration and provides a stable foundation for +future project child state migrations. diff --git a/src/content/docs/Products/OnTrack/Documentation/Front End Migration/introduction.md b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/introduction.md index 8cf6abe1..3f4edd3f 100644 --- a/src/content/docs/Products/OnTrack/Documentation/Front End Migration/introduction.md +++ b/src/content/docs/Products/OnTrack/Documentation/Front End Migration/introduction.md @@ -20,6 +20,7 @@ trying to keep things more up to date going forward. --- 1. Testing new branch + - We have a special request from our director Andrew that we need to execute some on testing the doubtfire-web(quality/entity-service-to-npm) branch with doubtfire-api(refactor/entity-service-backend), write up some test scripts for people to run to diff --git a/src/content/docs/Products/OnTrack/Documentation/Incorporate Content Ontrack/uml-diagram.md b/src/content/docs/Products/OnTrack/Documentation/Incorporate Content Ontrack/uml-diagram.md index bd87459d..c102e769 100644 --- a/src/content/docs/Products/OnTrack/Documentation/Incorporate Content Ontrack/uml-diagram.md +++ b/src/content/docs/Products/OnTrack/Documentation/Incorporate Content Ontrack/uml-diagram.md @@ -12,10 +12,8 @@ This Document outlines the flow of the new feature 'incorporate Content' into On ## Use Case Diagram -- [UML - Incorporate Content] - () +- [UML - Incorporate Content] () ## UML Diagram -- [UML - Incorporate Content] - () +- [UML - Incorporate Content] () diff --git a/src/content/docs/Products/OnTrack/Issues and Resolutions/doubtfire-in-codespaces.md b/src/content/docs/Products/OnTrack/Issues and Resolutions/doubtfire-in-codespaces.md index 2fda28a2..2963d1de 100644 --- a/src/content/docs/Products/OnTrack/Issues and Resolutions/doubtfire-in-codespaces.md +++ b/src/content/docs/Products/OnTrack/Issues and Resolutions/doubtfire-in-codespaces.md @@ -35,6 +35,7 @@ ensure it meets the needs of running Ontrack effectively. ## Tasks undertaken 1. Creating a Codespace + - Sign in to GitHub and navigate to the repository containing Ontrack. (Make sure you fork the repository first from thoth-tech/dotfire-deploy, thoth-tech/doubtfire-web and thoth-tech/doubtfire-api) @@ -44,17 +45,20 @@ ensure it meets the needs of running Ontrack effectively. ![figure-1](/codespaces-8.png) 2. Install Docker-in-Docker in Codespace + - Confirm that Docker is installed and running in the Codespace by running the following command in the terminal: wihch docker ![figure-2](/codespaces-1.png) 3. Configuring Codespace for Ontrack: + - Codespaces use a configuration file called .devcontainer to define the development environment. Create a .devcontainer folder in the root of the Ontrack repository if it doesn’t exist. (Replace this folder with the existing .devcontainer folder in the repository) 4. Running Ontrack in Codespace: + - Codespaces will use the defined configuration to create a containerized environment. It will automatically install dependencies, clone the repository, and set up Ontrack based on the configuration provided. diff --git a/src/content/docs/Products/OnTrack/Issues and Resolutions/troubleshooting doubtfire setup.md b/src/content/docs/Products/OnTrack/Issues and Resolutions/troubleshooting doubtfire setup.md index 5a68240c..b333832e 100644 --- a/src/content/docs/Products/OnTrack/Issues and Resolutions/troubleshooting doubtfire setup.md +++ b/src/content/docs/Products/OnTrack/Issues and Resolutions/troubleshooting doubtfire setup.md @@ -9,6 +9,7 @@ title: Troubleshooting Doubtfire Setup > You need to change “docker compose” of file run-full.sh in doubtfire-deploy/development 2. doubtfire-web doesn’t compile successfully: + - Open terminal - Head to folder doubtfire-deploy/development by cd - Run this in 1 line: @@ -19,6 +20,7 @@ title: Troubleshooting Doubtfire Setup ``` 3. doubtfire-api don’t run and exit with code 0/1. + - Open terminal - Head to folder doubtfire-deploy/development by cd - Run this in 1 line: diff --git a/src/content/docs/Products/OnTrack/Ontrack Setup/How to Run OnTrack with Ubuntu.md b/src/content/docs/Products/OnTrack/Ontrack Setup/How to Run OnTrack with Ubuntu.md index cc4b7d0c..55f7e5b8 100644 --- a/src/content/docs/Products/OnTrack/Ontrack Setup/How to Run OnTrack with Ubuntu.md +++ b/src/content/docs/Products/OnTrack/Ontrack Setup/How to Run OnTrack with Ubuntu.md @@ -61,6 +61,7 @@ folder. ## 5. Partitioning 1. Create the root partition: + - Use as: Ext4 journaling file system. - Mount point: / - Tick the box to format. diff --git a/src/content/docs/Products/OnTrack/Ontrack Setup/TutorialSetupT3.mdx b/src/content/docs/Products/OnTrack/Ontrack Setup/TutorialSetupT3.mdx index 9cf2b126..6acafd33 100644 --- a/src/content/docs/Products/OnTrack/Ontrack Setup/TutorialSetupT3.mdx +++ b/src/content/docs/Products/OnTrack/Ontrack Setup/TutorialSetupT3.mdx @@ -54,10 +54,12 @@ OnTrack consists of three main repositories that need to be forked from Doubtfir OnTrack consists of three main repositories that need to be forked from Doubtfire LMS: 1. `doubtfire-deploy` + - Contains `docker-compose` configuration - Main deployment setup 2. `doubtfire-api` + - Backend API (Ruby on Rails) - Contains the Ruby application code diff --git a/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/2023-t1-hand-over-document.md b/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/2023-t1-hand-over-document.md index 9621c8ec..bf60a468 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/2023-t1-hand-over-document.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/2023-t1-hand-over-document.md @@ -43,22 +43,27 @@ check the markdown docment in ### Documentation Oriented - [x] Update the project epic (make it relevant to T1/2023). + - A modification to a markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). - [x] Update the document that outlines the deliverable items of the project. + - A markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/blob/main/docs/OnTrack/Task%20Submission%20%26%20Redesign/Deliverables.md). - [x] Create a T1/2023 hand-over document. + - A markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). - [x] Update the project Index (make it relevant to T1/2023). + - A modification to a markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). - [x] Update the project Onboarding (make it relevant to T1/2023). + - A modification to a markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). @@ -71,6 +76,7 @@ check the markdown docment in #### Design - [x] Create frame-by-frame flows of tutors using the primary design. + - Multiple images and a video showcase, as output from [Figma] ,in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign/design_images), @@ -79,6 +85,7 @@ check the markdown docment in into tasks regarding specific flows for showing the use of specific features. - [x] Create `TaskSubmissionEnhancement` new Features to the student-view design. + - Multiple images and a video showcase in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign/design_images), as output from [Figma](https://www.figma.com/). @@ -96,10 +103,12 @@ check the markdown docment in ### Cyber-security Oriented - [x] Create a document that outlines the cybersecurity concerns of the current changes. + - A markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). - [x] Create a document that introduce administrators to potential cyber security threats or issues. + - A markdown document (or multiple) in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). diff --git a/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/deliverables.md b/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/deliverables.md index a3e3546e..6d92b371 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/deliverables.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/deliverables.md @@ -33,10 +33,12 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. ### Purely Documentation Oriented - [x] Modify the project epic (make it relevant to T1/2023). + - A modification to a markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - [x] Modify/Update a document that outlines the deliverable items of the project. + - A markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - [x] Create a T1/2023 hand-over document. @@ -47,6 +49,7 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. #### Design - [ ] Create frame-by-frame flows of tutors performing current and new features. + - Multiple images and a video showcase, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/), as output from [Figma](https://www.figma.com/). @@ -54,6 +57,7 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. - Pre-requisite: A single, primary design must be selected for this to be followed through with. - [ ] Create frame-by-frame flows of students performing current and new features. + - Multiple images, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). @@ -64,6 +68,7 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. into tasks regarding specific flows for showing the use of specific features. - [ ] Complete the tutor-view design on [Figma](https://www.figma.com/). + - An image, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). @@ -73,6 +78,7 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. usability and smart default problems obtained from the construction of the flows, are fixed. - [x] Complete the student-view design on [Figma](https://www.figma.com/). + - An image, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/) @@ -83,18 +89,22 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. - [ ] Create new `TaskSubmissionEnhancement` Features to the student-view [Figma](https://www.figma.com/) design. + - An image and video showcase, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - [ ] Create an administrator-view [Figma](https://www.figma.com/) design. + - An image, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - [ ] Create a convenor-view [Figma](https://www.figma.com/) design. + - An image, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - [ ] Create frame-by-frame flows of administrators performing current and new features. + - Multiple images, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - Pre-requisite: The administrator-view deliverable item from this deliverable document must be @@ -104,6 +114,7 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. showing the use of specific features. - [ ] Create frame-by-frame flows of convenors performing current and new features. + - Multiple images, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). @@ -140,9 +151,11 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. - [x] Add functionality to `chathistorydisplayer-api`: create project directories in user directories. + - Additional information: Project directories must be initialised as git repositories. - [x] Add functionality to `chathistorydisplayer-api`: write file from JSON payload. + - Additional information: Pertains to text files. - [x] Add functionality to `chathistorydisplayer-api`: API end-point that retrieves the last @@ -165,6 +178,7 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. #### `Doubtfire` - [ ] Modify OnTrack to serve raw files, where appropriate. + - Additional information: This contributes towards the integration of the `chathistorydisplayer-api` into the OnTrack platform, as the OnTrack platform needs PDF processing removed and separate handling for different classes of files (text files and PDFs @@ -178,15 +192,18 @@ encouraged to contribute ideas for deliverable items, as informed by their CLOs. ### Cyber-security Oriented - [ ] Create a document that outlines the cyber-security protocols for project group members. + - A markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - [ ] Create a document, or documents, that introduce OnTrack administrators to potential cyber-security threats or issues. + - A markdown document (or multiple) in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - [ ] Create a document outlining the security concerns of propositional changes (or current enacted changes). + - A markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/). - [ ] Create a document that surveys group member compliance with security protocols. diff --git a/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/project-on-boarding.md b/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/project-on-boarding.md index 8639a608..54b89775 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/project-on-boarding.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/project-on-boarding.md @@ -115,6 +115,7 @@ You need a terminal that supports shell scripts (on Windows, you need WSL2, Msys the features are user-friendly. ![the second proposed design](/iteration-3-design-2.png) + - Examine [the second design's prototype](https://www.figma.com/proto/XmKxWQ43MwrD6Red1DvYq6/Wire-Frame-Designs?node-id=478%3A4466&scaling=min-zoom&page-id=476%3A4327&starting-point-node-id=478%3A4466). diff --git a/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/project-scope-signoff-document.md b/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/project-scope-signoff-document.md index b01ba21d..c134f6cb 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/project-scope-signoff-document.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Submission and Redesign/project-scope-signoff-document.md @@ -33,10 +33,12 @@ The following items will be completed to verify that the project scope has been ### Purely Documentation Oriented - [x] Modify the project epic and other related documents (make it relevant to T1/2023). + - A modification to a markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). - [x] Update the document that outlines the deliverable items of the project. + - A markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). @@ -49,6 +51,7 @@ The following items will be completed to verify that the project scope has been #### Design - [x] Create frame-by-frame flows of tutors using the primary design. + - Multiple images and a video showcase, as output from [Figma](https://www.figma.com/), in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign/design_images), @@ -57,6 +60,7 @@ The following items will be completed to verify that the project scope has been into tasks regarding specific flows for showing the use of specific features. - [x] Create `TaskSubmissionEnhancement` new Features to the student-view design. + - Multiple images and a video showcase in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign/design_images), as output from [Figma](https://www.figma.com/). @@ -69,6 +73,7 @@ The following items will be completed to verify that the project scope has been #### `TaskSubmissionEnhancement` - [x] Create a prototype of `TaskSubmissionEnhancement` Component of the Ontrack platform that adds: + - The ability to submit files regardless of the task state. - The ability to submit individual task files. - The ability to submit optional additional files outside of the task requirements. @@ -79,10 +84,12 @@ The following items will be completed to verify that the project scope has been ### Cyber-security Oriented - [x] Create a document that outlines the cybersecurity concerns of the current changes. + - A markdown document in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). - [x] Create a document that introduce administrators to potential cyber security threats or issues. + - A markdown document (or multiple) in [thoth-tech/documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack/Task%20Submission%20%26%20Redesign). diff --git a/src/content/docs/Products/OnTrack/Projects/Tutor Times/Documentation/requrirements-back-end.md b/src/content/docs/Products/OnTrack/Projects/Tutor Times/Documentation/requrirements-back-end.md index b029b0fe..160377eb 100644 --- a/src/content/docs/Products/OnTrack/Projects/Tutor Times/Documentation/requrirements-back-end.md +++ b/src/content/docs/Products/OnTrack/Projects/Tutor Times/Documentation/requrirements-back-end.md @@ -9,10 +9,9 @@ title: Backend Requirements Document 1. [Introduction](#1-introduction) 1.1 [Purpose](#11-purpose) 1.2 [Scope] (#12-scope) 1.3 [Intended Audience](#13-intended-audience) -2. [Functional Requirements](#2-functional-requirements) 2.1 [Data Storage] (#21-data-storage) 2.2 - [API Endpoints](#22-api-endpoints) 2.3 - [Authentication and Authorisation](#23-authentication-and-authorisation) 2.4 - [Background Jobs/Triggers](#24-background-jobstriggers) 2.5 [Data Schema](#25-data-schema) +2. [Functional Requirements](#2-functional-requirements) 2.1 [Data Storage] (#21-data-storage) 2.2 [API Endpoints](#22-api-endpoints) + 2.3 [Authentication and Authorisation](#23-authentication-and-authorisation) 2.4 [Background Jobs/Triggers](#24-background-jobstriggers) + 2.5 [Data Schema](#25-data-schema) 3. [Non-Functional Requirements](#3-non-functional-requirements) 3.1 [Performance](#31-performance) 3.2 [Security](#32-security) 3.3 [Compatibility](#33-compatibility) @@ -24,8 +23,7 @@ title: Backend Requirements Document [Relationships](#52-relationships) 5.3 [Data Integrity Constraints](#53-data-integrity-constraints) -6. [Testing Requirements](#6-testing-requirements) 6.1 [Unit Testing] (#61-unit-testing) 6.2 - [Integration Testing](#62-integration-testing) +6. [Testing Requirements](#6-testing-requirements) 6.1 [Unit Testing] (#61-unit-testing) 6.2 [Integration Testing](#62-integration-testing) ## 1. Introduction diff --git a/src/content/docs/Products/OnTrack/Projects/Tutor Times/UML Diagrams/uml-diagram.md b/src/content/docs/Products/OnTrack/Projects/Tutor Times/UML Diagrams/uml-diagram.md index 8e845235..b6059992 100644 --- a/src/content/docs/Products/OnTrack/Projects/Tutor Times/UML Diagrams/uml-diagram.md +++ b/src/content/docs/Products/OnTrack/Projects/Tutor Times/UML Diagrams/uml-diagram.md @@ -12,10 +12,8 @@ This Document outlines the flow of the new feature 'Tutor Time' into Ontrack. ## Use Case Diagram -- [UML - Tutor Time] - () +- [UML - Tutor Time] () ## UML Diagram -- [UML - Tutor Time] - () +- [UML - Tutor Time] () diff --git a/src/content/docs/Products/SplashKit/02-setting-up.mdx b/src/content/docs/Products/SplashKit/02-setting-up.mdx index fca07457..8eaa605a 100644 --- a/src/content/docs/Products/SplashKit/02-setting-up.mdx +++ b/src/content/docs/Products/SplashKit/02-setting-up.mdx @@ -47,6 +47,7 @@ git --version installer for your operating system (Windows, macOS, or Linux). - Install VS Code: + - Windows: Run the downloaded `.exe` file and follow the installation wizard. - macOS: Open the `.dmg` file and drag the Visual Studio Code icon to the Applications folder. - Linux: Install using the appropriate package manager or by downloading the `.deb` or `.rpm` @@ -60,6 +61,7 @@ git --version [Node.js website](https://nodejs.org/en/download/package-manager) and download the LTS version for your operating system. - Install Node.js: + - Windows: Run the downloaded `.msi` file and follow the installation wizard. - macOS: Open the `.pkg` file and follow the instructions. - Linux: You can use a package manager or install it via NodeSource. @@ -94,6 +96,7 @@ operating system. ### 6. Install Extensions for VS Code - Node.js Extension: Install the Node.js extension in VS Code for better integration: + - Open VS Code and go to the Extensions sidebar. - Search for "Node.js Extension Pack" and install it. diff --git a/src/content/docs/Products/SplashKit/03-github-guide.mdx b/src/content/docs/Products/SplashKit/03-github-guide.mdx index 1b3b27d4..3d125643 100644 --- a/src/content/docs/Products/SplashKit/03-github-guide.mdx +++ b/src/content/docs/Products/SplashKit/03-github-guide.mdx @@ -23,6 +23,7 @@ in the [setting up](/products/splashkit/02-setting-up) section and then proceed - Find the Repository: Navigate to the appropriate repo for your team: + - [SplashKit Website repository](https://github.com/thoth-tech/splashkit.io-starlight). - [SplashKit Online repository](https://github.com/thoth-tech/splashkit-online). - [SplashKit Core repository](https://github.com/thoth-tech/splashkit-core). @@ -420,6 +421,7 @@ troubleshooting steps you can take to resolve the most common issues. To resolve the conflict, decide whether to keep your changes, the incoming changes, or a combination of both. + - **Keep your changes**: Delete the lines between `=======` and `>>>>>>>` and remove the conflict markers. - **Keep the incoming changes**: Delete the lines between `<<<<<<< HEAD` and `=======` and remove @@ -443,6 +445,7 @@ troubleshooting steps you can take to resolve the most common issues. 5. #### Continue the Rebase or Merge Process Once all conflicts are resolved and staged, you can continue the process. + - If you are in the middle of a **rebase**, continue with: ```shell diff --git a/src/content/docs/Products/SplashKit/04-pull-request.mdx b/src/content/docs/Products/SplashKit/04-pull-request.mdx index 6a2ac5c2..35c6195b 100644 --- a/src/content/docs/Products/SplashKit/04-pull-request.mdx +++ b/src/content/docs/Products/SplashKit/04-pull-request.mdx @@ -46,6 +46,7 @@ these steps, you can submit your own PRs and collaborate with other team members ``` #### Examples + - For the `splashkit.io-starlight` repository, the command will look like this: ```shell @@ -113,6 +114,7 @@ Requests extension in VSCode. 2. #### Select the Correct Repository and Branches Next, make sure you're comparing the correct branches: + - **Base Repository**: This should be set to `thoth-tech/repo_name` (the original - repository you're contributing to). - **Base Branch**: Select `main` as the branch to merge into. @@ -142,6 +144,7 @@ Requests extension in VSCode. Ensure you have the files listed below added, with their names updated to the python signature of the function you are demonstrating. + - For **standard** Usage Example PRs: ```plaintext @@ -159,6 +162,7 @@ Requests extension in VSCode. When you create a pull request, you'll need to provide some additional information using a pull request template. This helps reviewers understand the context of your changes. Make sure to: + - Provide a clear and descriptive title for your pull request. - Fill out the required fields in the template, such as the purpose of the changes, testing steps, and any additional notes. diff --git a/src/content/docs/Products/SplashKit/06-peer-review.mdx b/src/content/docs/Products/SplashKit/06-peer-review.mdx index e6f17e38..fdbe707b 100644 --- a/src/content/docs/Products/SplashKit/06-peer-review.mdx +++ b/src/content/docs/Products/SplashKit/06-peer-review.mdx @@ -121,6 +121,7 @@ these steps when reviewing a PR in the SplashKit Starlight repository. 6. ### Review the Code Now that you are on the PR branch, start by reviewing the code to check for: + - **Code Quality**: Confirm that the code aligns with the project’s coding standards and guidelines. Look for clean, well-organised, and readable code. - **Functionality**: Verify that the changes achieve the intended purpose and work as described. @@ -246,6 +247,7 @@ these steps when reviewing a PR in the SplashKit Starlight repository. #### Splashkit Review Prompts + - **Type of Change**: Does this Pull Request correctly identify the type of change (bug fix, new feature, breaking change, or documentation update)? Is it aligned with the stated issue or task? @@ -294,6 +296,7 @@ these steps when reviewing a PR in the SplashKit Starlight repository. After the code review, run the project locally to verify that the new feature or bug fix works as expected. This can include: + - Running any test suites that come with the project. - Manually checking if the new functionality behaves correctly and does not introduce any bugs. - Ensuring the changes do not break other parts of the project. @@ -302,6 +305,7 @@ these steps when reviewing a PR in the SplashKit Starlight repository. After reviewing and testing, leave constructive feedback directly on the PR on GitHub. Highlight both positive aspects and areas for improvement. + - Use specific comments on code lines or sections where changes are required. - Make sure to explain why a change is needed to help the author learn and understand. - Be courteous and professional, focusing on improving the code and maintaining high project @@ -310,6 +314,7 @@ these steps when reviewing a PR in the SplashKit Starlight repository. 9. ### Approve or Request Changes Once you’ve completed your review: + - **Approve** if everything meets the project’s standards and the code works as expected. - **Request Changes** if the code requires adjustments before it can be merged. Clearly outline the changes required. diff --git a/src/content/docs/Products/SplashKit/07-planner-board.mdx b/src/content/docs/Products/SplashKit/07-planner-board.mdx index 2b1954b9..e7d26eb7 100644 --- a/src/content/docs/Products/SplashKit/07-planner-board.mdx +++ b/src/content/docs/Products/SplashKit/07-planner-board.mdx @@ -17,6 +17,7 @@ efficient use of the planner board. 1. ### Claiming a Task + - **Commit to work:** Only claim a task if you are ready to work on it. - **Unclaim if needed:** If you are unable to proceed with a task you've claimed, unclaim it so others can take over. @@ -24,6 +25,7 @@ efficient use of the planner board. being actively worked on. 2. ### Adding a Task + - **Be clear and concise:** When adding a task, provide a meaningful title and a detailed description. - **Add checklists:** If the task involves multiple steps, include a checklist to outline them @@ -32,6 +34,7 @@ efficient use of the planner board. `Tutorials` if it's tutorial based, or `usage examples` if it's a usage example. 3. ### Moving Tasks + - **Include relevant links:** When completing a task, attach links to the pull request (PR) and any other relevant information. - **Add a completion comment:** Leave a comment on the task card with the date you completed the @@ -44,6 +47,7 @@ efficient use of the planner board. > detailed instructions. 4. ### First Peer Review + - **Follow the review process:** Adhere to the steps outlined in the [Peer Review Guide](/products/splashkit/06-peer-review). - **Request changes if needed:** Provide feedback and request changes if required. @@ -53,6 +57,7 @@ efficient use of the planner board. task. 5. ### Second Peer Review + - **Follow similar steps:** Conduct the second peer review following the same guidelines as the first. - **Mentor Review:** After approving the PR, move it to the appropriate "Mentor Review" column. diff --git a/src/content/docs/Products/SplashKit/08-tips-and-tricks.mdx b/src/content/docs/Products/SplashKit/08-tips-and-tricks.mdx index bfcc3e3b..96139562 100644 --- a/src/content/docs/Products/SplashKit/08-tips-and-tricks.mdx +++ b/src/content/docs/Products/SplashKit/08-tips-and-tricks.mdx @@ -50,6 +50,7 @@ To create Aliases: 1. Open a new terminal 2. Enter the command `nano ~/.bashrc` 3. In the text editor create the alias you want to use as such: + - `alias name='command'` 4. Once you have added the aliases you wish to use, to exit the nano editor and save changes press diff --git a/src/content/docs/Products/SplashKit/Documentation/Arcade Machine/Arcade Machine Setup/02-setup-arcade-machine.md b/src/content/docs/Products/SplashKit/Documentation/Arcade Machine/Arcade Machine Setup/02-setup-arcade-machine.md index a176ff52..665a3ee1 100644 --- a/src/content/docs/Products/SplashKit/Documentation/Arcade Machine/Arcade Machine Setup/02-setup-arcade-machine.md +++ b/src/content/docs/Products/SplashKit/Documentation/Arcade Machine/Arcade Machine Setup/02-setup-arcade-machine.md @@ -44,6 +44,7 @@ and one to wpa_supplicant: 1. Modify /etc/network/interfaces to bring the wlan0 interface up automatically, use DHCP and read from the wpa_supplicant config + - From the console open the interfaces file: ```shell @@ -62,6 +63,7 @@ and one to wpa_supplicant: - Press Ctrl+X to exit and press **y** when prompted to save your changes 2. Modify the wpa_supplicant with the custom eduroam config + - From the console open the wpa_supplicant config file: ```shell @@ -94,6 +96,7 @@ and one to wpa_supplicant: - Press Ctrl+X to exit and press **y** when prompted to save your changes. 3. Reboot and test network connectivity + - Reboot the Raspberry Pi by issuing the below command: ```shell @@ -119,6 +122,7 @@ and one to wpa_supplicant: - You can refer to [this page](https://learn.microsoft.com/en-us/dotnet/iot/deployment) but these are the core commands: + 1. Run this install script ```shell @@ -248,6 +252,7 @@ and one to wpa_supplicant: ``` 2. First time setup you will need to configure the controller + 1. Hold Down any key to start ![EmulationStation Configure Input Screen](/docs/Splashkit/Applications/Arcade%20Machines/Arcade%20Machine%20Setup/Images/ConfigureInput.png) @@ -255,6 +260,7 @@ and one to wpa_supplicant: 2. Press any key to configure input Recommend the Following for the Arcade Machine the rest can be skipped + - up = up arrow - down = down arrow - left = left arrow diff --git a/src/content/docs/Products/SplashKit/Documentation/Arcade Machine/Research and Findings/02-add-second-controller-findings.md b/src/content/docs/Products/SplashKit/Documentation/Arcade Machine/Research and Findings/02-add-second-controller-findings.md index 84f8d125..7233b7c4 100644 --- a/src/content/docs/Products/SplashKit/Documentation/Arcade Machine/Research and Findings/02-add-second-controller-findings.md +++ b/src/content/docs/Products/SplashKit/Documentation/Arcade Machine/Research and Findings/02-add-second-controller-findings.md @@ -24,12 +24,15 @@ can control menus. configures two controllers to the arcade machine, both players will be able to interact with menus independent of each other. This has been tested locally with me using a PlayStation 4 & PlayStation 5 controller connected via USB. + - It is also possible to use one keyboard and one controller, and have each device represent input for each player - RetroPie & EmulationStation handle input differently. + - Emulationstation configs do not discriminate between player 1 and player 2 (or any number of players). Rather the config is just a series of buttons mapped to inputs. + - Config file: `/home/$username/.emulationstation/es_input.cfg` - RetroPie **does** discriminate between players. Inputs are named player1_up, player1_down etc. diff --git a/src/content/docs/Products/SplashKit/Documentation/Splashkit Website/Usage Examples/01-overview.mdx b/src/content/docs/Products/SplashKit/Documentation/Splashkit Website/Usage Examples/01-overview.mdx index 6be550e9..db387bbb 100644 --- a/src/content/docs/Products/SplashKit/Documentation/Splashkit Website/Usage Examples/01-overview.mdx +++ b/src/content/docs/Products/SplashKit/Documentation/Splashkit Website/Usage Examples/01-overview.mdx @@ -37,11 +37,13 @@ Splashkit website. ensuring that the code is easy to follow and that it showcases the function effectively. 3. ### Write the Program in Multiple Languages + - **C++**: Implement the example with standard C++ practices. - **C#**: Provide both a version using top-level statements and an Object-Oriented (OOP) version. - **Python**: Write a Python version that is straightforward and reflects the same functionality. 4. ### Create a Title for the example + - Think of a title that describes the overall functionality of the program. - Be creative with this title. It should not be the name of the function, or use the word "Example". @@ -59,6 +61,7 @@ Splashkit website. | Audio Recording | `.webm` file | The program include audio sounds. | 6. ### Add Files to the Correct Folder in the SplashKit Repository + - Copy your files into the appropriate folder within the `splashkit.io-starlight` repository. - Ensure file names and directory paths are consistent with SplashKit’s structure. diff --git a/src/content/docs/Products/SplashKit/Documentation/Splashkit Website/Website Documentation/02-web-dev-files.mdx b/src/content/docs/Products/SplashKit/Documentation/Splashkit Website/Website Documentation/02-web-dev-files.mdx index b6bec083..5fb9eb2d 100644 --- a/src/content/docs/Products/SplashKit/Documentation/Splashkit Website/Website Documentation/02-web-dev-files.mdx +++ b/src/content/docs/Products/SplashKit/Documentation/Splashkit Website/Website Documentation/02-web-dev-files.mdx @@ -273,6 +273,7 @@ specific examples: Proper organisation ensures that assets are easy to find and use in the project. - **Directory Structure**: + - **GIFs**: Store all general-purpose gifs in `public/gifs/`, regardless of content. However, if the gif is used as part of a usage example (such as in a tutorial or documentation), store it in `public/usage-examples-images-gifs/`. diff --git a/src/content/docs/Resources/Quality Assurance/git-contributions-guide.md b/src/content/docs/Resources/Quality Assurance/git-contributions-guide.md index ca4715d0..5112edba 100644 --- a/src/content/docs/Resources/Quality Assurance/git-contributions-guide.md +++ b/src/content/docs/Resources/Quality Assurance/git-contributions-guide.md @@ -181,6 +181,7 @@ message writing. ### Additional Guidelines - **Use the imperative mood in your commit message subject line**: + - "Fix a bug" and **not** "Fixed a bug" - "Change the behavior of Y" and **not** "Changed the behavior of Y" - "Add new API methods" and **not** "Added new API methods" @@ -274,6 +275,7 @@ By following these guidelines, we maintain code quality and foster collaboration ### Start a New Piece of Work 1. **Sync Repository and Set Up Your Branch**: + - Ensure your local repository is up-to-date by pulling the latest changes from the remote repository. - Create a new branch for your feature or task. Follow the @@ -295,6 +297,7 @@ By following these guidelines, we maintain code quality and foster collaboration - `git checkout -b `: Create and switch to a new branch for your work. 2. **Make Changes, Commit, and Push**: + - **Make Changes**: Implement your feature or fix in the new branch. Ensure your changes are tested and meet the project requirements. @@ -313,6 +316,7 @@ By following these guidelines, we maintain code quality and foster collaboration before committing. - `git commit -m "feat(): "`: Commits your changes with a message that briefly describes the update. The `` is optional and indicates the part of the project affected. + - **Push to Origin**: Push your branch to the remote repository. This makes your changes available for review and integration. @@ -378,6 +382,7 @@ By following these guidelines, we maintain code quality and foster collaboration If there are merge conflicts between your branch and the `main` branch, Git will notify you. Follow these steps to resolve them: + - **Identify Conflicts**: Conflicted files will be marked with conflict markers (`<<<<<<`, `======`, `>>>>>>`) within the files. - **Open the Conflicted Files**: Use your code editor to open each conflicted file. Review the @@ -443,6 +448,7 @@ remote repository, reducing the likelihood of conflicts when you push your own c If there are merge conflicts between your branch and the `main` branch, Git will notify you. Follow these steps to resolve them: + - **Identify Conflicts**: Conflicted files will be marked with conflict markers (`<<<<<<`, `======`, `>>>>>>`) within the files. - **Open the Conflicted Files**: Use your code editor to open each conflicted file. Review the diff --git a/src/content/docs/Resources/Quality Assurance/testing-and-dev.md b/src/content/docs/Resources/Quality Assurance/testing-and-dev.md index 00876bc0..4ca8a518 100644 --- a/src/content/docs/Resources/Quality Assurance/testing-and-dev.md +++ b/src/content/docs/Resources/Quality Assurance/testing-and-dev.md @@ -64,8 +64,8 @@ This describes a _persona + need + purpose_. role or job title; it includes understanding who they are, how they work, think, and feel. - **[wants to]** – Describes the user's _intent_ (what they want to achieve) rather than the feature itself. Avoid detailing implementation specifics here. -- **[so that]** – Explains the motivation behind the user's desire and the overall benefit from - achieving it. +- **[so that]** – Explains the motivation behind the user's desire and the overall benefit from achieving + it. User stories use non-technical language to provide context and an understanding of what needs to be built and why. They focus on user needs, are discrete, and manageable for team members in an Agile diff --git a/src/content/docs/Teams and Contributions/2023 Trimester 3/company-progress-report.md b/src/content/docs/Teams and Contributions/2023 Trimester 3/company-progress-report.md index 41c791c2..d5843d38 100644 --- a/src/content/docs/Teams and Contributions/2023 Trimester 3/company-progress-report.md +++ b/src/content/docs/Teams and Contributions/2023 Trimester 3/company-progress-report.md @@ -295,6 +295,7 @@ end of trimester 3. #### Courseflow Description of Progress 1. **CourseFlow Software Design Document** + - Analysed previous work done for CourseFlow. - Re-designed CourseFlow based on analysis and re-established requirements and created a software design document. @@ -304,6 +305,7 @@ end of trimester 3. this new update. 2. **University of Melbourne Course Planner Research Document** + - Explored the UoM course planner to look at their features. - Analysed data retrieved to see how it is structured for inspiration in CourseFlow's data modelling. @@ -335,12 +337,14 @@ projects and tasks stated below are what we aim to work on this trimester. #### SplashKit Arcade - Create an automated game download system for Arcade Machines + - The proposed system will use the Arcade-games Repo to check for updates in the game version and download the latest version - Games should have a Publish tag or similar to be loaded to the main menu. - Have a secondary game menu for test games/non-published. - Updates to Arcade Menu + - Presently the Arcade machine uses Emulation Station forked from the RetorPI project version. - Create a new system for test games @@ -352,6 +356,7 @@ projects and tasks stated below are what we aim to work on this trimester. - 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. @@ -360,6 +365,7 @@ projects and tasks stated below are what we aim to work on this trimester. - Implement a voting system on the Arcade Machine to give meaning to the star ranking. - Arcade Games – GitHub Actions + - Correct C# for Arm (this should be done; see [trello card](https://trello.com/c/qeYlMImY) for Status) - Dotnet does not run correctly in the Emulated PI environment used for C++ games. New Action @@ -390,6 +396,7 @@ projects and tasks stated below are what we aim to work on this trimester. #### Splashkit Expansion - Priority Items Deployment Packages + - Debian Package. - Nuget Package. - Brew Package. @@ -397,15 +404,18 @@ projects and tasks stated below are what we aim to work on this trimester. - Check for Further Functions from [Swin games](https://github.com/macite/swingame)to port into splashkit. - Fix Python Compatibility + - Python can no longer be used to code games with SplashKit. Previous research indicates a change with v3.8; see [here](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Extensions/Python%20Compatibality/Research%20%26%20Findings/Python%20Changelog.md). - Look at Adding AI function to SplashKit + - Can look at LLMs like ChatGPT - Similar Functions to - Dev Container Mac + - 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. @@ -414,6 +424,7 @@ projects and tasks stated below are what we aim to work on this trimester. SplashKit. Further investigation is needed. - SplashKit.io + - 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 @@ -423,6 +434,7 @@ projects and tasks stated below are what we aim to work on this trimester. added to SplashKit. This should be investigated and replicated in the new site. - Game Engine + - Project Setup: Create a streamlined project setup process for easier onboarding and development. - Camera System: Implement a flexible and efficient camera system to handle different views and perspectives. @@ -443,6 +455,7 @@ projects and tasks stated below are what we aim to work on this trimester. #### Backlog - Game Development + - High Level Design - Complete Demo Game - 8. Creating a 2D "Metroidvania" Game - Enemies and Combat @@ -451,6 +464,7 @@ projects and tasks stated below are what we aim to work on this trimester. - 7. Creating a 2D "Metroidvania" Game - Camera Movement, Parallax and Depth - Tutorials and Documentation + - Understanding SplashKit Manager - (SKM) Shell Commands - Tutorial - Project Structure and Initialization diff --git a/src/content/docs/Teams and Contributions/2023 Trimester 3/company-structure-and-objectives-t3-2023.md b/src/content/docs/Teams and Contributions/2023 Trimester 3/company-structure-and-objectives-t3-2023.md index a0d821d2..78e0f699 100644 --- a/src/content/docs/Teams and Contributions/2023 Trimester 3/company-structure-and-objectives-t3-2023.md +++ b/src/content/docs/Teams and Contributions/2023 Trimester 3/company-structure-and-objectives-t3-2023.md @@ -264,12 +264,14 @@ projects and tasks stated below are what we aim to work on this trimester. #### SplashKit Arcade - Create an automated game download system for Arcade Machines + - The proposed system will use the Arcade-games Repo to check for updates in the game version and download the latest version - Games should have a Publish tag or similar to be loaded to the main menu. - Have a secondary game menu for test games/non-published. - Updates to Arcade Menu + - Presently the Arcade machine uses Emulation Station forked from the RetorPI project version. - Create a new system for test games @@ -281,6 +283,7 @@ projects and tasks stated below are what we aim to work on this trimester. - 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. @@ -289,6 +292,7 @@ projects and tasks stated below are what we aim to work on this trimester. - Implement a voting system on the Arcade Machine to give meaning to the star ranking. - Arcade Games – GitHub Actions + - Correct C# for Arm (this should be done; see [trello card](https://trello.com/c/qeYlMImY) for Status) - Dotnet does not run correctly in the Emulated PI environment used for C++ games. New Action @@ -319,6 +323,7 @@ projects and tasks stated below are what we aim to work on this trimester. #### Splashkit Expansion - Priority Items Deployment Packages + - Debian Package. - Nuget Package. - Brew Package. @@ -326,15 +331,18 @@ projects and tasks stated below are what we aim to work on this trimester. - Check for Further Functions from [Swin games](https://github.com/macite/swingame)to port into splashkit. - Fix Python Compatibility + - Python can no longer be used to code games with SplashKit. Previous research indicates a change with v3.8; see [here](https://github.com/thoth-tech/documentation/blob/main/docs/Splashkit/Extensions/Python%20Compatibality/Research%20%26%20Findings/Python%20Changelog.md). - Look at Adding AI function to SplashKit + - Can look at LLMs like ChatGPT - Similar Functions to - Dev Container Mac + - 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. @@ -343,6 +351,7 @@ projects and tasks stated below are what we aim to work on this trimester. SplashKit. Further investigation is needed. - SplashKit.io + - 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 @@ -352,6 +361,7 @@ projects and tasks stated below are what we aim to work on this trimester. added to SplashKit. This should be investigated and replicated in the new site. - Game Engine + - Project Setup: Create a streamlined project setup process for easier onboarding and development. - Camera System: Implement a flexible and efficient camera system to handle different views and perspectives. @@ -372,6 +382,7 @@ projects and tasks stated below are what we aim to work on this trimester. #### Backlog - Game Development + - High Level Design - Complete Demo Game - 8. Creating a 2D "Metroidvania" Game - Enemies and Combat @@ -380,6 +391,7 @@ projects and tasks stated below are what we aim to work on this trimester. - 7. Creating a 2D "Metroidvania" Game - Camera Movement, Parallax and Depth - Tutorials and Documentation + - Understanding SplashKit Manager - (SKM) Shell Commands - Tutorial - Project Structure and Initialization diff --git a/src/content/docs/Teams and Contributions/2024 Trimester 2/company-report.md b/src/content/docs/Teams and Contributions/2024 Trimester 2/company-report.md index d11b83dd..582918ab 100644 --- a/src/content/docs/Teams and Contributions/2024 Trimester 2/company-report.md +++ b/src/content/docs/Teams and Contributions/2024 Trimester 2/company-report.md @@ -108,15 +108,18 @@ trimester: 1. Company presentation in the first junior lecture – Introduce the company, its projects, and required skill sets for potential junior students + - Student leads must prepare and organise a PowerPoint presentation representing each of their projects during Week 0 2. Host first company-wide meeting and onboard students – Provide a more specific overview of company and project goals, meeting schedules, and expectations for the trimester + - Team building sessions may also be organised to build rapport across teams 3. Weekly company leadership team meeting – Report on project progress and concerns to company stakeholders + - Date and time to be decided by members in the first week according to availability 4. Complete company tasks: progress, handover, and showcase reports and videos @@ -167,6 +170,7 @@ Contributing Guides: This trimester, the following key deliverables were completed: - Bug Fixes and Urgent Enhancements + - Chat Markdown Rendering Bug: Successfully fixed an issue where markdown was not rendering properly in chat, enhancing the user experience for students and staff. - Documentation Enhancements: Completed and merged documentation updates for both general and @@ -179,6 +183,7 @@ This trimester, the following key deliverables were completed: unit-ilo-edit-modal. Additionally, enhancements were made to PDF handling and user interface elements like the grade-task-modal and grade-icon components, contributing to the ongoing frontend migration and user interface improvement objectives. + - Ongoing Frontend Migration: The migration of legacy CoffeeScript components to TypeScript/Angular continues, with files such as timeout.coffee and grade-task-modal.coffee currently under peer review. This aligns with our aim to complete at least 10% of the existing @@ -188,6 +193,7 @@ This trimester, the following key deliverables were completed: under review. - CourseFlow: + - CourseMap Base Page Development: Developed the base page for CourseMap, laying the groundwork for further enhancements and integrations planned for the CourseFlow component. - Backend Requirements Implementation: Completed backend requirements for several critical diff --git a/src/content/docs/Teams and Contributions/2024 Trimester 3/company-handover.md b/src/content/docs/Teams and Contributions/2024 Trimester 3/company-handover.md index 92d3077d..b73587b2 100644 --- a/src/content/docs/Teams and Contributions/2024 Trimester 3/company-handover.md +++ b/src/content/docs/Teams and Contributions/2024 Trimester 3/company-handover.md @@ -95,6 +95,7 @@ trimester: 1. **Company Presentation in the First Junior Lecture** Introduce the company, its projects, and the required skill sets to inspire and recruit potential junior students. + - **Presentation Preparation**: Student leads must prepare and organise a PowerPoint presentation that effectively represents each of their projects during Week 0. - **Aligning with Goals**: Clearly articulate how each project aligns with Thoth Tech's goals, @@ -114,6 +115,7 @@ trimester: 2. **Host First Company-Wide Meeting and Onboard Students** Provide a detailed overview of company and project goals, meeting schedules, and expectations for the trimester through a structured and inclusive onboarding process. + - **Multiple Onboarding Sessions**: Organise several onboarding sessions to ensure the widest possible audience is captured, accommodating different learning styles, time zones, and availability. This approach ensures that all junior students, regardless of their @@ -134,6 +136,7 @@ trimester: 3. **Weekly Company Leadership Team Meetings** Facilitate regular meetings to report on project progress and address concerns with company stakeholders. + - **Scheduling**: Date and time to be decided by members in the first week according to availability. - **Rotating Leadership**: Each week, a different member should take the lead in directing the @@ -148,6 +151,7 @@ trimester: 4. **Project Mentorship and Guidance** Actively support project teams by providing leadership, technical expertise, and problem-solving guidance to peers and junior team members alike. + - **Mentor Peers and Juniors**: Provide mentorship to both peers and junior team members, recognising that even senior contributors may require guidance and support to meet their objectives effectively. @@ -161,6 +165,7 @@ trimester: 5. **Communication and Collaboration** Maintain clear and open communication across teams to align project goals, foster innovation, and enhance overall company contributions. + - **Promote Cross-Team Collaboration**: Actively encourage collaboration between teams, recognising that greater collaboration has historically helped overcome creativity blocks and inspired more innovative and exciting contributions across the company. @@ -179,6 +184,7 @@ trimester: 6. **Complete Company Deliverables: Progress, Handover, and Showcase Reports and Videos** Ensure timely and high-quality submissions of all required deliverables. + - **Team Collaboration**: Collaborate with project teams to gather insights, ensuring all deliverables include comprehensive updates that accurately reflect the progress and contributions of the entire company. @@ -193,6 +199,7 @@ trimester: 7. **Represent the Company in Leadership Meetings** Advocate for the company's needs and ensure alignment with the broader goals of the capstone program. + - **Present Team Updates**: Present the company's progress, challenges, and successes in program-level leadership meetings, ensuring a clear and accurate representation of team activities. @@ -205,6 +212,7 @@ trimester: 8. **Encourage Innovation and Best Practices** Promote a culture of innovation, inclusivity, and continuous improvement within the company. + - **Leverage Evidence-Based Decision-Making**: Use the leadership team as a platform to analyse data, feedback, and outcomes to make informed and evidence-based choices that drive project success. @@ -653,12 +661,14 @@ repositories for the relevant teams. advanced geometry operations. - **Collision Classification and Resolution Functions**: + - **`calculate_collision_direction`**: Classifies collision direction between objects. - **`resolve_collision`**: Resolves overlap without altering velocities, supporting AABB and pixel collisions. - **Additional Intersection Functions**: Introduced functions for collision detection between different shape pairs: + - `circle_quad_intersect`, `rectangle_circle_intersect`, `triangle_quad_intersect`. - **Bug Fixes**: @@ -736,10 +746,12 @@ repositories for the relevant teams. ##### Input Validation and Conversion Functions - **New Input Validation Functions**: + - `is_binary`, `is_hex`, `is_octal` for validating number formats. - **New Conversion Functions**: Added conversion functions to handle various numeric and encoding formats: + - `dec_to_bin`, `bin_to_dec`, `hex_to_bin`, `bin_to_hex`, `oct_to_dec`, `dec_to_oct`, `hex_to_ct`, `ct_to_hex`, `base64_encode`, `base64_decode`. @@ -750,6 +762,7 @@ repositories for the relevant teams. ##### Networking and Address Functions - **IPv4 Address Validation**: + - Added a new function `is_valid_ipv4` to validate IPv4 addresses using regex. - **MAC Address Conversion**: @@ -759,53 +772,65 @@ repositories for the relevant teams. #### SplashKit Website & Tutorials - **Usage Example Generation Script Fixes**: + - Resolved bugs in the usage example generation script, resulting in a more efficient development process. - **Expanded Usage Examples**: + - Significantly expanded usage examples across various categories, enhancing the site's quality. Additions include comprehensive examples for Graphics and Geometry functions, along with completed examples for Physics, Utilities, and Terminal functions. - **API Documentation Linkage**: + - Linked API documentation pages to their corresponding usage examples, improving user experience and site navigation. - Seamlessly linked function in the API documentation pages to their use cases in tutorials anad guides for easier navigation across resources. - **Documentation Overhaul**: + - Overhauled the SplashKit documentation pages with a reorganized structure and new usage example guides to enhance accessibility and usability. - **Enum Syntax Support Across Multiple Languages**: + - Added support for displaying enum syntax across multiple languages on the website, improving accessibility for diverse users. - **Updated README Files**: + - Updated multiple README files with additional information and a more structured format to improve clarity. - **SplashKit Blog**: + - Introduced the SplashKit Blog as a proof of concept to centralize updates and news, enhancing accessibility for users. - **Updated Installation Guides**: + - Updated installation guides to streamline the process and added support for multiple Linux distributions. Expanded VS Code installation guides now include Python-specific extensions. - **Python Developer Tools**: + - Added Python tools to language-specific pages for all operating systems, broadening support for Python developers. - **Linux Compatibility Fixes**: + - Addressed a Linux bash/zsh compatibility issue on the troubleshooting page, improving overall flow and usability. - **Community Engagement Tools**: + - Established a blog and contributor resources to encourage community feedback and tutorial contributions. - **SplashKit Online Integration**: + - Integrated SplashKit Online into the Usage Examples pages. - A dedicated SplashKit Online feature page has also been added to allow users to directly interact with SplashKit Online. @@ -813,11 +838,13 @@ repositories for the relevant teams. and future tutorial pages. - **Custom Accordion Button**: + - Added a custom accordion button that allows users to add their own content as a slot. Users can also apply custom styling to both the button and its content, offering greater flexibility and control over the presentation. - **SplashKit Physics Tutorial Series Enhancements**: + - Reviewed and adjusted existing physics tutorials to improve clarity, update content, and ensure alignment with project standards. - Introduced 3 new raycasting tutorials: @@ -828,6 +855,7 @@ repositories for the relevant teams. Online functionality. - **SplashKit vs No SplashKit Comparison Programs In Support of _Beyond SplashKit_ Initiative**: + - Added various programs to compare SplashKit versus No SplashKit versions including Math, Cryptography, Graphics, and Audio. - The SplashKit versions demonstrate the abstraction provided by the SDK to simplify complexity @@ -839,10 +867,12 @@ repositories for the relevant teams. SplashKit files: - **Algolia DocSearch Integration**: + - Integrated Algolia DocSearch into the SplashKit website for improved search functionality with custom ranking and new features to save recent and favorite results. - **Colour Generation and Selection Tools**: + - **Colour Generator**: A tool for visualising and generating precise RGB(A) and HSB colour values, with real-time visual feedback. The tool also provides corresponding SplashKit functions in C++, C#, and Python for easy integration. @@ -850,6 +880,7 @@ repositories for the relevant teams. users to select colours and see how to implement them in their projects. - **Create New Troubleshooting Page for MacOS: zshrc Issue**: + - Addressed the ModuleNotFoundError issue by guiding users to update their .zshrc file to properly link to the Homebrew-installed Python version. @@ -860,26 +891,32 @@ repositories for the relevant teams. #### SplashKit Online - **Notification System Updates**: + - Resolved visibility issues with compilation and runtime alerts, improving user experience by ensuring notifications remain visible throughout processes. - **SplashKit Submodule Sync**: + - Synced SplashKit Online's submodule reference with the latest version of SplashKit, ensuring compatibility with the most recent features and bug fixes. - **Action Queues Implementation**: + - Implemented action queues to address concurrency issues, enabling synchronous execution of actions and enhancing stability within the IDE. - **Project Loading via URL**: + - Enabled users to load project zip files directly via a URL, simplifying project loading and improving ease of use for developers. - **SplashKit Online IDE Integration**: + - Integrated the SplashKit Online IDE into the main website, providing seamless access and interaction with the library directly from the site. - **Load Time Improvements**: + - Optimized loading times by storing pre-decompressed versions of assets, improving performance and user experience during project loading. @@ -1330,12 +1367,14 @@ repositories for the relevant teams. #### Game Development - **Establish Standardised Implementation Patterns**: + - Enforce the decoupling of data/functionality and state/render patterns to improve modularity and maintainability. - Develop and document a prescribed implementation pattern to ensure consistency and quality across all projects. - **Develop a "10 Minute Game"**: + - Collaboratively plan and execute the development of a simple game (e.g., idle game, tower defence, or survivor.io-like). - Prioritise implementing core game mechanics in the first sprint to establish a functional @@ -1347,16 +1386,19 @@ repositories for the relevant teams. the core game types. - **Iterate on Prescribed Patterns**: + - Adjust and refine the implementation pattern based on student feedback and practical experiences. - **Generate Development Artifacts**: + - Create comprehensive documentation on the implementation of discrete game systems, including: - Terrain generation systems (e.g., IDW, random walk, noise-based techniques). - 2D light marching. - Threaded state update and render patterns. - **Improve Documentation**: + - Address the lack of adequate documentation for existing games to significantly reduce onboarding time for new contributors. - For completed games, create: @@ -1367,6 +1409,7 @@ repositories for the relevant teams. reflect current focus areas and ensuring all documentation is easy to find and navigate. - **Complete Core Functionality of Incomplete Games**: + - Focus on finishing key core functionalities for games currently in development (e.g., _Sky Surge_, _Single Combat_). @@ -1377,23 +1420,28 @@ repositories for the relevant teams. #### Arcade Machine - **Consolidate Documentation**: + - Centralise all documentation in a single location or repository to improve accessibility and ensure consistency across projects. - **Add Additional Modes to the Arcade Machine Software**: + - **Kiosk Mode**: Display only published games, making it ideal for showcasing at events or exhibitions. - **Normal Mode**: Show both published and test games, catering to developers and testers. - **Implement Voting System**: + - Integrate a voting system to give greater significance to the star ranking currently available on the machines, enhancing user engagement and feedback mechanisms. - **Correct C# Compatibility for ARM**: + - Address the issue of .NET not running correctly in the emulated Raspberry Pi environment used for C++ games, ensuring seamless compatibility for C# games. - **Implement Versioning for Compiled Games**: + - Introduce versioning to manage updates effectively, reducing potential issues with game compatibility and ensuring a smooth update process. diff --git a/src/content/docs/Teams and Contributions/2025 Trimester 1/company-handover.mdx b/src/content/docs/Teams and Contributions/2025 Trimester 1/company-handover.mdx index 4fbcb416..62b6f51d 100644 --- a/src/content/docs/Teams and Contributions/2025 Trimester 1/company-handover.mdx +++ b/src/content/docs/Teams and Contributions/2025 Trimester 1/company-handover.mdx @@ -92,6 +92,7 @@ These are the following responsibilities of the company student leadership throu 1. **Company Recriutment Presentation the First Junior Lecture**: The leadership is responsible for introducing Thoth Tech to junior students and attracting new talents by showcasing the company's purpose, culture, and opportunities. + - Deliver a compelling presentation to inspire junior studensts to join. - Highlight company goals, unique opportunities, required skills and mindset, and previous successes. @@ -99,6 +100,7 @@ These are the following responsibilities of the company student leadership throu 2. **Onboarding Students**: Ensure all new team members are welcomed, informed, and aligned with the company's objectives. + - Host multiple onboarding sessions to accommodate various schedules and learning styles. - Clearly outline team roles, meeting schedules, project goals, and expectations. - Provide accessible materials such as documentation and tutorials to help students onboard. @@ -106,6 +108,7 @@ These are the following responsibilities of the company student leadership throu 3. **Weekly Leadership Team Meetings**: Regular meetings ensure communication, accountability, and leadership developmment across the company throughout the trimester. + - Hold weekly meetings to dicuss progress, challenges, and strategies. - Assign clear action items with deadlines along with regular follow ups. - Use the meetings as an opportunity to ensure that each team aligns with the company-wide goals. @@ -113,18 +116,21 @@ These are the following responsibilities of the company student leadership throu 4. **Mentorship and Support**: The leadership team must guide and support all contributors by offering mentorship, resolving issues, and ensuring alignment with company standards. + - Provide leadership and technical support to both peers and junior members. - Promote teamwork across different groups by encouraging knowledge sharing. - Support problem-solving by facilitating collaboration and creative thinking. 5. **Communication and Collaboration**: Effective communication is essential for aligning items, fostering creativity, and maintaining productivity. + - Create opportunities for shared learning. - Ensure all communication reflects company goals, values, and priorities. - Communicate key informatiom to team members via annoucements and updates. 6. **Company Deliverables**: The leadership team is responsible for ensuring that all reports and videos accurately represent the work of the company and are completely in a timely manner. + - Work with other members to gather relevant updates and documentation for deliverables. - Ensure each report or video aligns with Thoth Tech’s brand and voice. - Review deliverables for accuracy and completeness before submission. @@ -132,6 +138,7 @@ These are the following responsibilities of the company student leadership throu 7. **Innovation and Best Practices**: Leadership should set the tone for continuous improvement by encouraging new ideas and promoting a growth mindset. + - Encourage evidence-based decisions and foster a learning culture. - Encourage team members to experiment, take ownership, and drive innovation. - Emphasize learning from mistakes as a core value of growth and iteration. @@ -251,6 +258,7 @@ security testing process for OnTrack. 2025_. - A complete workflow was designed to manage the vulnerability mitigation process, which included: + 1. Establishing scope and agreement with AppAttack, 2. Categorizing vulnerabilities based on severity, 3. Recruiting a dedicated patching team, @@ -1032,10 +1040,12 @@ repositories for the relevant teams. #### SplashKit Expansion - **Expanded Unit Tests to Cover the of basics.cpp**: + - Work that started last trimester was added to to complete unit test coverage for the basics.cpp file. - **Added new Unit Tests for the Graphics Module**: + - A new unit testing suite was added to the graphics module to reduce the number of bugs that make it to production. @@ -1043,14 +1053,17 @@ repositories for the relevant teams. - These were added to the top-level readme for four different commands aimed at making the process easier to complete. - **Added new Helper Scripts and CMake Presets to the Build Process of SplashKit**: + - Catch helper scripts and CMake presets were added to simplifier building the project and enable the use of the CMake Tools extension for VS Code. - **Updated Raspberry Pis to use Newer Libraries**: + - The pigpio library was changed to WiringPi and SSH to allow for support of newer Raspberry Pi models. - **Bug fix for Using CMake with Raspberry Pi**: + - A fix was added that allowed for Cmake to more easily recognise a Raspberry Pi. - **Bug fixes for the Window Class**: @@ -1062,30 +1075,36 @@ repositories for the relevant teams. #### SplashKit Website & Tutorials - **Implementation References Update**: + - The implementation reference has been updated to include instances when the functions are used in other usage examples, resulting in a larger number of references. - **Usage Examples Identifier**: + - The function headers in API Documentation has been updated to indicate which functions has examples created or implementation for it references, resulting in a better user experience and visibility. - **Game Showcase Updates**: + - A script has been created to generate the each game showcase markdown files automatically using a JSON that stores all of the showcases' data. - A new page has been created to allow users to test out the games online using SplashKit Online Lite. - **SplashKit Blog Addition**: + - Created new blog posts about the usage examples and implementation references on the API Documentation and the new Algolia DocSearch engine. - **Usage Examples Expansion**: + - Significantly expanded usage examples across various categories which improve the overall quality of the site.Addition include comprehensive examples for Graphics, Geometery, Audio, Interface, and Networking functions. - **Beyond SplashKit Expansion**: + - Considerable addition to the Beyond SplashKit iniatives with examples created primarily for Graphics and Geometery functions. @@ -1104,19 +1123,23 @@ repositories for the relevant teams. #### SplashKit Online - **Added Support for Custom Themes**: + - Centralised all colour related styling into a single file, allowing for easy overriding off variables to create new themes. - Removed duplicate colours that created an inconsistenant user interface. - **Restructured Main Project Repository** + - Restructured the main repository with the goal of making it easier to work on and improve ease of maintainability in future. - **Added Support for C# in IDE** + - The C# programming language was added as a new language option that students can work with in the browser IDE. - **Added Support for Mobile Screen Sizes** + - SplashKit Online now can be used on mobile devices, allowing greater access to the IDE. - Additionally restructured CSS so that adding more screen sizes will be far simplier. @@ -1502,23 +1525,28 @@ repositories for the relevant teams. #### Arcade Machine - **Consolidate Documentation**: + - Centralise all documentation in a single location or repository to improve accessibility and ensure consistency across projects. - **Add Additional Modes to the Arcade Machine Software**: + - **Kiosk Mode**: Display only published games, making it ideal for showcasing at events or exhibitions. - **Normal Mode**: Show both published and test games, catering to developers and testers. - **Implement Voting System**: + - Integrate a voting system to give greater significance to the star ranking currently available on the machines, enhancing user engagement and feedback mechanisms. - **Correct C# Compatibility for ARM**: + - Address the issue of .NET not running correctly in the emulated Raspberry Pi environment used for C++ games, ensuring seamless compatibility for C# games. - **Implement Versioning for Compiled Games**: + - Introduce versioning to manage updates effectively, reducing potential issues with game compatibility and ensuring a smooth update process. diff --git a/src/content/docs/products/ontrack/documentation/panopoto-integration/panopto-oauth2-intergration-plan.md b/src/content/docs/products/ontrack/documentation/panopoto-integration/panopto-oauth2-intergration-plan.md index f4db3334..5ff2eed5 100644 --- a/src/content/docs/products/ontrack/documentation/panopoto-integration/panopto-oauth2-intergration-plan.md +++ b/src/content/docs/products/ontrack/documentation/panopoto-integration/panopto-oauth2-intergration-plan.md @@ -22,16 +22,20 @@ OAuth2 Authorization Code flow to retrieve the tokens required for API calls. ## Step 1: Create an API Client on Panopto 1. Navigate to the Panopto website: + - Panopto Login: [https://deakin.au.panopto.com/Panopto/Pages/Home.aspx](https://deakin.au.panopto.com/Panopto/Pages/Home.aspx) 2. Access User Settings: + - Click on the User Settings icon (usually in the top-right corner). 3. Create a New API Client: + - Under the API Client section, click "Create New Client". 4. Configure the API Client: + - Set a name for the client (e.g., "OnTrack Integration Client" or "Doubtfire Integration Client"). - Choose "Server-side Application" as the client type since the integration is backend-based. @@ -52,6 +56,7 @@ CLIENT_SECRET=your_panopto_client_secret ## Step 2: Configure Allowed URLs and Redirect URI 1. Set CORS (Cross-Origin Resource Sharing): + - In the Allowed URL section of the API Client configuration, set CORS to `https://localhost` for local development. @@ -107,6 +112,7 @@ included, you can use it to obtain new access tokens without user re-authorizati ## Step 4: Integrating with OnTrack (or Your Backend) 1. **Store Credentials Securely:** + - Create an `.env` file (for local development): ```plaintext @@ -118,6 +124,7 @@ included, you can use it to obtain new access tokens without user re-authorizati - Load these environment variables in your backend application. 2. **Authorization Flow Integration:** + - Your backend can present a link to the authorization URL. The user clicks it to start the process. - After granting access, the backend receives the authorization code at the redirect URI. diff --git a/src/content/old-files-and-folders/art-gallery/Documentation/Dockerization/DockerizationResearchNotes.md b/src/content/old-files-and-folders/art-gallery/Documentation/Dockerization/DockerizationResearchNotes.md index 60a3aa51..65fd6364 100644 --- a/src/content/old-files-and-folders/art-gallery/Documentation/Dockerization/DockerizationResearchNotes.md +++ b/src/content/old-files-and-folders/art-gallery/Documentation/Dockerization/DockerizationResearchNotes.md @@ -21,6 +21,7 @@ complete this, as well as projected timelines and useful tutorials. - Splitting base images makes build and run more efficient - Initial base image uses .NET sdk -> this builds binaries - In Dockerfile: + - `FROM [mcr.microsoft.com/dotnet/sdk:6-0-focal](http://mcr.microsoft.com/dotnet/sdk:6-0-focal) as BUILD` - Set working directory (`WORKDIR /source`) - Copy everything from current working directory into that new /source (`COPY . .`) diff --git a/src/content/old-files-and-folders/art-gallery/Documentation/Guidance/Postman.README.md b/src/content/old-files-and-folders/art-gallery/Documentation/Guidance/Postman.README.md index dcb2432e..e7c0e436 100644 --- a/src/content/old-files-and-folders/art-gallery/Documentation/Guidance/Postman.README.md +++ b/src/content/old-files-and-folders/art-gallery/Documentation/Guidance/Postman.README.md @@ -72,6 +72,7 @@ Follow these steps to create your own collection within the Postman workspace: here by selecting 'Create Workspace'. 3. **Create a Collection**: + - Click the 'New' button within the workspace. - Choose 'Collection' as the type. - Give your collection a descriptive name and an optional description to explain its purpose. @@ -80,20 +81,24 @@ Follow these steps to create your own collection within the Postman workspace: as an example. 4. **Add Requests**: + - Within your newly created collection, click the 'Add Request' button. - Provide a name for your request and specify the HTTP method and URL. - Configure any headers, parameters, and request body as needed. 5. **Save and Organise**: + - Be sure to save each request by clicking 'Save', or `ctrl+s`. - You can organise your collection by creating folders within it. This is helpful for grouping related requests. Please see the Art Gallery's workspace and collection as an example. 6. **Manual Testing**: + - Use the 'Send' button within a request to test it against the designated API endpoint. - View the response to ensure everything is working as expected. 7. **Automated Testing**: + - If you have set up automated testing, simply run the collection to initiate these tests. - View the responses/test summaries to ensure everything is working as expected. diff --git a/src/styles/custom.css b/src/styles/custom.css index 7e497892..235bbd69 100644 --- a/src/styles/custom.css +++ b/src/styles/custom.css @@ -225,6 +225,7 @@ img.ontrack { /* Better table styling */ .sl-markdown-content table { + max-width: max-content; /* added per review */ /* width: fit-content; */ width: auto; border-radius: 0.5rem; @@ -240,6 +241,8 @@ img.ontrack { th { border-right: 1px solid var(--sl-color-gray-5); } +} + td:first-child, th:first-child { @@ -453,4 +456,4 @@ img.ontrack { /* ----- End Tab Styling ----- -*/ \ No newline at end of file +*/