diff --git a/src/content/docs/Teams and Contributions/2025 Trimester 2/company-handover.mdx b/src/content/docs/Teams and Contributions/2025 Trimester 2/company-handover.mdx new file mode 100644 index 00000000..43bb01b1 --- /dev/null +++ b/src/content/docs/Teams and Contributions/2025 Trimester 2/company-handover.mdx @@ -0,0 +1,1795 @@ +--- +title: Company Structure and Objectives T2 2025 +sidebar: + label: Company Structure and Objectives T2 2025 +--- + +## Executive Summary + +Thoth Tech is an education-focused technology company located in Melbourne, Australia. Thoth Tech’s +mission is to build, operate, and deploy tools that enhance education outcomes by empowering +students, connecting them with tutors, and facilitating personalized learning experiences. students, +connecting them with tutors, and facilitating personalized learning experiences. + +We value excellence and collaboration. We strive to deliver all our products in exceptional quality, +making sure it is sustainable in the long run. We continuously meet this goal while empowering our +people through established frameworks and a safe and supportive learning environment. + +This report will outline the company structure, objectives, and projects for Trimester 2, 2025. This +trimester, Thoth Tech will be running the two main products: OnTrack and SplashKit. + +## Table of Contents + +- [Leadership Team](#leadership-team) + - [Company Board](#company-board) + - [Product Mentors](#product-mentors) + - [Student Leadership](#student-leadership) +- [Trimester Goals and Objectives](#trimester-goals-and-objectives) + - [Goal 1: Foster Professional Growth and a Collaborative Team Culture](#goal-1-foster-professional-growth-and-a-collaborative-team-culture) + - [Goal 2: Strengthen, Elevate and Expand Thoth Tech’s Product Portfolio](#goal-2-strengthen-elevate-and-expand-thoth-techs-product-portfolio) +- [Project 1 - OnTrack](#project-1---ontrack) + - [Overview, Goals, and Objectives](#overview-goals-and-objectives) + - [User Manual](#user-manual) + - [Aims for Trimester](#aims-for-trimester) + - [Deliverables – T2 2025](#deliverables--t2-2025) + - [Project Members](#project-members) + - [Completed Deliverables](#completed-deliverables) + - [Roadmap](#roadmap) + - [Open Issues](#open-issues) + - [Lessons Learned](#lessons-learned) + - [Product Development Life Cycle](#product-development-life-cycle) + - [Product Architecture](#product-architecture) + - [Source Code](#source-code) + - [Login Credentials](#login-credentials) +- [Project 2 - SplashKit](#project-2---splashkit) + - [Overview, Goals, and Objectives](#overview-goals-and-objectives-1) + - [Aims for Trimester](#aims-for-trimester-1) + - [Priorities](#priorities) + - [Project Members](#project-members-1) + - [Completed Deliverables](#completed-deliverables-1) + - [Team Members and Contributions](#team-members-and-contributions) + - [Roadmap](#roadmap-1) + - [Open Issues](#open-issues-1) + +## Leadership Team + +### Company Board + +- Josh Kilinc - Company Director +- Andrew Cain - Product Owner (OnTrack & SplashKit) + +### Product Mentors + +- OnTrack: Brian Dang +- SplashKit: Monica Tasmin + +### Student Leadership + +- Ibitope Ebenezer Fatoki - Senior Leader (OnTrack) +- Samindi Situmya Ratnayake Mudiyanselage - Senior Leader (OnTrack) +- Martin John Dolores- Senior Leader (OnTrack) +- Mostafa Nouri - Senior Leader (OnTrack) +- Joseph Kalayathankal Saji - Junior Leader (OnTrack) +- Wael Alahmadi - Junior Leader (OnTrack) +- Joshua Talev - Junior Leader (OnTrack) +- Joshua Peyton Fernandes - Senior Leader (SplashKit) +- Oliver Alexander Quail - Senior Leader (SplashKit) +- Vishnu Vengadewaran - Senior Leader (SplashKit) +- Paavan Kalra - Senior Leader (SplashKit) +- Haoyu Liu - Junior Leader (SplashKit) +- Runqi Liu - Junior Leader (SplashKit) +- Wei Zhang - Junior Leader (SplashKit) +- Haoxuan Yuan - Junior Leader (SplashKit) + +## Trimester Goals and Objectives + +This trimester, Thoth Tech aims to achieve the following: + +### Goal 1: Foster Professional Growth and a Collaborative Team Culture + +- **Encourage Lifelong Learning and Skill Development**: Provide a supportive environment where team + members can enhance their technical and interpersonal skills, building a strong foundation for + their careers beyond graduation. +- **Promote Initiative and Teamwork**: Empower team members to take ownership of their work while + fostering a collaborative culture built on shared responsibility and collective success. +- **Establish Consistent Team Processes**: Implement standardized workflows and standards for tools + like Planner and GitHub, along with clear peer review protocols, to improve efficiency and + high-quality across all teams. +- **Develop Clear and Accessible Documentation**: Build comprehensive documentation across all + project areas to support learning, onboarding, and smooth knowledge transfer within and between + teams. +- **Champion Diversity and Inclusivity**: Create an environment where all team members feel valued, + supported, and empowered to reach their full potential, regardless of their background. + +### Goal 2: Strengthen, Elevate and Expand Thoth Tech’s Product Portfolio + +- **Enhance Existing Features and Introduce New Capabilities**: Continuously refine core + functionalities and expand product offerings to align with user needs and Thoth Tech’s vision. +- **Address Critical Bugs and Improve User Experience**: Prioritize key bug fixes and usability + enhancements to maintain a high standard of quality and reliability in all products. +- **Uphold Strong Security and Industry Standards**: Adhere to rigorous security protocols and best + practices to ensure that Thoth Tech’s products are safe, secure, and trustworthy. +- **Promote Research-Informed Innovation**: Encourage well-researched, forward-thinking ideas that + keep Thoth Tech at the forefront of emerging technologies and evolving user needs. + +## Project 1 - OnTrack + +### Overview, Goals, and Objectives + +OnTrack, also known as Doubtfire, is an innovative Learning Management System (LMS) designed +specifically for skill-based course delivery. This platform enhances the connection between tutors +and students, with a primary focus on Deakin University and other global educational institutions. +OnTrack aims to elevate the educational experience by offering a structured, efficient, and +interactive learning environment. The system is crafted to improve student engagement, boost +learning outcomes, and streamline the teaching and learning process, benefiting both students and +educators. + +The OnTrack team is dedicated to continuously improving the platform by working on all planned +deliverables each trimester. While the team strives to complete all objectives, any remaining +deliverables are carried forward, encouraging the next generation of leaders to take ownership and +drive the project forward. This approach ensures the long-term sustainability and evolution of +OnTrack, fostering a culture of responsibility, innovation, and continuous enhancement for the +benefit of future users. + +Additionally, our team aims to maintain the quality of our work and improve the usability of +OnTrack. This includes fixing bugs, improving workflows, and making the platform more accessible for +all users. For example, we worked on adding color themes to support students with color blindness, +reducing barriers for those users. We also prioritize documentation and transparency. By keeping +clear records of what’s done, what’s in progress, and what’s next, we make sure new teams can pick +up where we left off without guessing. We understand that documentation saves time, prevents +repeated mistakes, and helps the project grow faster. + +Other key goals include: + +- Responding to feedback – We have a strict peer review process that allows us to learn from each + other. + +- Promoting sustainability – By writing clean, maintainable code and clear handover notes, we keep + OnTrack stable and ready for future development. + +Our objective is simple: leave OnTrack better than we found it and make the next team’s start +easier. + +### User Manual + +This section provides all the essential tutorials and contribution guides to help new team members +set up their local environment and begin contributing to OnTrack confidently. + +#### Tutorial Videos on Setting Up Your Local Development Environment + +- [T1 2025 Setup demo](https://drive.google.com/file/d/1Sg4A6UgFGbmmWJza8y8QjRzm2w64bVQx/view) by + Aditya Pratap Singh Tomar +- [T3 2023 Setup demo](https://deakin365.sharepoint.com/:v:/s/ThothTech2/ESrgw0W_21pLn7kqS86WoJgBG71EPo7VPSp8AXt151JC2g?e=AZyu7I) + by Satika Jayawardena +- [T2 2023 Setup demo](https://video.deakin.edu.au/media/t/1_6degiyrj) by Daniel Maddern +- [T1 2024 Common setup error solutions](https://teams.microsoft.com/l/message/19:bd20175d09414f079490a2403f7fca74@thread.tacv2/1711021331051) + by Satika Jayawardena + +#### Contributing Guides + +- [T2 2025 Getting into OnTrack](https://teams.microsoft.com/l/message/19:bd20175d09414f079490a2403f7fca74@thread.tacv2/1752642834367?tenantId=d02378ec-1688-46d5-8540-1c28b5f470f6&groupId=0e15669c-3f66-49aa-b023-640fe1dda2e0&parentMessageId=1752642834367&teamName=Thoth%20Tech&channelName=OnTrack&createdTime=1752642834367) + by Ibitope Fatoki + +- [T2 2025 Guide on getting 9.x and 8.0.x branches to build](https://teams.microsoft.com/l/message/19:bd20175d09414f079490a2403f7fca74@thread.tacv2/1753169709373?tenantId=d02378ec-1688-46d5-8540-1c28b5f470f6&groupId=0e15669c-3f66-49aa-b023-640fe1dda2e0&parentMessageId=1753169709373&teamName=Thoth%20Tech&channelName=OnTrack&createdTime=1753169709373) + by Ibitope Fatoki + +- [T2 Introduction to Git (22/07/2025 5:00PM)](https://teams.microsoft.com/l/message/19:bd20175d09414f079490a2403f7fca74@thread.tacv2/1753110083358?tenantId=d02378ec-1688-46d5-8540-1c28b5f470f6&groupId=0e15669c-3f66-49aa-b023-640fe1dda2e0&parentMessageId=1753110083358&teamName=Thoth%20Tech&channelName=OnTrack&createdTime=1753110083358) + by Samindi Situmya Ratnayake Mudiyanselage + +- [T2 OnTrack: CourseFlow Onboard](https://teams.microsoft.com/l/message/19:bd20175d09414f079490a2403f7fca74@thread.tacv2/1753168985606?tenantId=d02378ec-1688-46d5-8540-1c28b5f470f6&groupId=0e15669c-3f66-49aa-b023-640fe1dda2e0&parentMessageId=1753168985606&teamName=Thoth%20Tech&channelName=OnTrack&createdTime=1753168985606) + by Duy Nguyen + +- [T2 Tutor Times Feature - Onboarding Session](https://teams.microsoft.com/l/message/19:bd20175d09414f079490a2403f7fca74@thread.tacv2/1752913427002?tenantId=d02378ec-1688-46d5-8540-1c28b5f470f6&groupId=0e15669c-3f66-49aa-b023-640fe1dda2e0&parentMessageId=1752913427002&teamName=Thoth%20Tech&channelName=OnTrack&createdTime=1752913427002) + by Martin John Dolores + +- [T2 Frontend Migrations Onboarding Session](https://teams.microsoft.com/l/message/19:bd20175d09414f079490a2403f7fca74@thread.tacv2/1752790053047?tenantId=d02378ec-1688-46d5-8540-1c28b5f470f6&groupId=0e15669c-3f66-49aa-b023-640fe1dda2e0&parentMessageId=1752790053047&teamName=Thoth%20Tech&channelName=OnTrack&createdTime=1752790053047) + by Jason Vellucci + +- [T2 Security Team Onboarding](https://teams.microsoft.com/l/meetingrecap?driveId=b%21wNZRMazkxU-_iU1WIFAdVEDpUnI6nVdAn54tc_HYybqigj_WBJmqSKNNXN1KqU9W&driveItemId=01ABUD5BTXHPZKGEMF2BCIPRTJUE3NEEVY&sitePath=https%3A%2F%2Fdeakin365-my.sharepoint.com%2F%3Av%3A%2Fg%2Fpersonal%2Fs223739207_deakin_edu_au%2FEXc78qMRhdBEh8ZpoTbSErgB58ArdEU0QfiU8WYC2nozdA&fileUrl=https%3A%2F%2Fdeakin365-my.sharepoint.com%2F%3Av%3A%2Fg%2Fpersonal%2Fs223739207_deakin_edu_au%2FEXc78qMRhdBEh8ZpoTbSErgB58ArdEU0QfiU8WYC2nozdA&threadId=19%3A22eef26b128f4cd5bd323b1e47dbd873%40thread.v2&callId=c225f45a-c452-4f1d-8dff-7b02983440b8&threadType=GroupChat&meetingType=Unknown&subType=RecapSharingLink_RecapChiclet) + by Ibitope Fatoki + +- [Doubtfire-deploy repository](https://github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md) + +- [OnTrack documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack) + +- [ThothTech Documentation Website](https://main--strong-fairy-c1bde1.netlify.app/products/ontrack/example/) + +- [Doubfire technical documentation](https://github.com/thoth-tech/doubtfire-astro) + +### Aims for Trimester + +This trimester, the OnTrack team at Thoth Tech will build upon the foundational work of T1 2025 to +continue modernizing and expanding platform functionality, accessibility, and performance. Our focus +will be on completing high-priority migrations, implementing user-focused features, and reinforcing +system security and documentation standards. The following areas are targeted for completion or +significant progress: + +#### 1. Frontend Migration: AngularJS → Angular 17 + +- **Complete the migration** of remaining legacy components from AngularJS + CoffeeScript to Angular + 17 + TypeScript. +- **Refactor UI components** to match updated design language and improve accessibility (in + conjunction with color theme work). +- **Test and optimize** performance for responsiveness and maintainability across devices and user + roles. + +#### 2. Accessibility: color Themes + +- **Introduce customizable color themes** with specific presets for various types of color vision + deficiencies (e.g. deuteranopia, protanopia). +- **Integrate theme selector** into user settings and ensure WCAG 2.1 AA compliance across themes. +- Conduct **user testing** to validate effectiveness and usability of new themes. + +#### 3. Security and Authentication + +- Implement **modular authentication logic** that separates concerns and strengthens isolation of + login/session flows. +- Continue applying **cybersecurity improvements** based on outcomes of the T1 2025 audit and any + new findings. +- Begin formalizing **SSO and mTLS integration** prototypes for future scalability. + +#### 4. Organisational Structure Support + +- **Introduce the concept of Organisations** into OnTrack: allow multiple institutions or units to + operate under a single instance. +- Develop and deploy the **Observer Role** to support administrative oversight without direct + intervention privileges. +- Finalize RBAC mappings and permission sets to ensure scalability and maintain security. + +#### 5. Tutor Activity Tracking + +- Deliver the **Tutor Time Tracking module**: Stopwatch + Manual Input + Analytics dashboard. +- Enable **notifications for time limits** and allow Unit Chairs to access reports via a central + interface. +- Securely store and expose tracking data via authenticated APIs for internal analytics. + +#### 6. Self-Enrolment Enhancements + +- Roll out **Student Self-Enrolment** for units and projects. +- Enhance the **Capstone Project Selection tool** with input validation, improved form UI/UX, and + backend CSV export support. + +#### 7. Staff Grant Extension + +- Add UI that allows **tutors to grant extensions** +- Enable **notifications for staff-granted extensions**, delivered via email or in-system. +- Finalize and thoroughly test the backend API endpoints. + +#### 8. Courseflow + +- Add **Marking and Filter** feature to add capability to mark units as complete. +- Add **skill tracker** that displays summary of skills learned through units. +- Display **credit points achieved** and add **overlay component** for detailed units. + +#### 9. OnTrack Documentation Website + +- Finalize **API reference pages** for frontend and backend endpoints. +- Fill documentation gaps from T1 and begin **“Getting Started” onboarding guide** series. +- Host tutorials and videos to support student and developer use cases. + +#### 10. New Feature Explorations + +- Identify and scope **next-generation feature ideas** (e.g. Panopto integration phase 2, mobile + optimization, AI tutor suggestions). +- Conduct **internal design sprints** and feasibility studies for selected innovations. + +### Deliverables – T2 2025 + +The following deliverables are expected to be completed or reach significant milestones during +Trimester 2, 2025: + +#### 1. Frontend Migration + +**Trimester Priorities:** + +- Ensure that all child components are reviewed and migrated to ensure parent components can be + migrated. +- Complete migrating all components that have no child/nested components. + +**Long Term Priorities:** + +- Migration of all legacy AngularJS and CoffeeScript components to Angular 17 and TypeScript. +- Improved UI consistency and accessibility across updated components. +- Performance benchmarking and optimization of migrated views. + +#### 2. Accessibility Enhancements + +**Trimester Priorities:** + +- Create a document with information on implementing a guide to CSS styles. +- Implement style guide restrictions onto components. + +**Long Term Priorities:** + +- Deployment of configurable color themes, including presets for various color blindness types. +- Theme selector integrated into user profile settings. +- Accessibility compliance testing completed and passed (WCAG 2.1 AA baseline). + +#### 3. Security and Authentication Upgrades + +**Trimester Priorities:** + +- Patch final two vulnerabilities left from T1 Penetration Test. +- Improve Security Documentation and integrate Security testing into CI/CD pipeline. + +**Long Term Priorities:** + +- Modular authentication system developed and integrated. +- Security enhancements implemented based on T1 2025 audit outcomes. +- Baseline groundwork completed for SSO/mTLS experimentation and prototyping. + +#### 4. Multi-Organisation Support + +**Trimester Priorities:** + +- Complete the observer role creation and database migration. + +**Long Term Priorities:** + +- Backend schema updated to support multiple organisations. +- Observer Role created and assigned appropriate RBAC permissions. +- Initial organisation switching UI available to admins and superusers. + +#### 5. Tutor Activity Tracking Module + +**Trimester Priorities:** + +- Integrate the Session Tracker Service across related entities +- Complete backend endpoints to retrieve Marking Sessions and Session Activities. + +**Long Term Priorities:** + +- Stopwatch and manual time entry system deployed for tutors. +- Alerts implemented for tutors exceeding marking time limits. +- Tutor analytics dashboard available to staff with data pulled from secured API endpoints. + +#### 6. Student Self-Enrolment + +- Self-enrolment UI deployed for units and project-based tasks (e.g. Capstone). +- Improved form validation and CSV export integration for administrative tasks. +- End-to-end testing completed for enrolment workflows. + +#### 7. Staff Grant Extension System + +**Trimester Priorities:** + +- Complete the back-end and front-end integration. +- Ensure that the notification system works when an extension is granted. + +**Long Term Priorities:** + +- Functional staff UI for manually processing extension requests. +- Full CRUD capability for managing extensions stored in the database. +- API endpoints secured and unit-tested. + +#### 8. Courseflow + +**Trimester Priorities:** + +- Complete marking unit as complete and skill summary feature. +- Work on filtering feature and add overlay component for detailed unit descriptions. + +**Long Term Priorities:** + +- Enhance unit information, skills summary and trimester timetables to improve functionality +- Add course discovery and skill tracker to track progress and visualize course maps for students. + +#### 9. Documentation Website + +**Trimester Priorities:** + +- Improve documentation across all OnTrack projects to ensure consistency and coverage. +- Add timestamp and author to documentation. + +**Long Term Priorities:** + +- API reference fully updated with new and refactored endpoints. +- Backend and frontend architecture docs finalized. +- New “Getting Started” guide and walkthroughs published for onboarding. + +#### 10. Exploratory Features (R&D Stage) + +- Capstone Feature 2.0 ideation workshops completed. +- Design sprint prototypes for Panopto Phase 2. +- Internal technical review of feasibility and resource impact for long-term planning. + +### Project Members + +| Member Names | Roles/Responsibilities | Junior/Senior | +| ----------------------- | ---------------------- | ------------- | +| Ibitope Fatoki | Team Leader | Senior | +| Ekamjot Singh | Team Member | Senior | +| Alex Brown | Team Member | Senior | +| Jiaying Chen | Team Member | Senior | +| Martin Dolores | Team Leader | Senior | +| Minh Lam | Team Member | Senior | +| Duy Nguyen | Team Member | Senior | +| Huu Nguyen | Team Member | Senior | +| Mostafa Nouri | Team Leader | Senior | +| Samindi Ratnayake | Team Leader | Senior | +| Lachlan Robinson | Team Member | Senior | +| Jason Vellucci | Team Member | Senior | +| Sahiru Withanage | Team Member | Senior | +| Joshua Bevan | Team Member | Senior | +| Pasindu Fernando | Team Member | Senior | +| Disuru Rathnayake | Team Member | Senior | +| Hasindu Welarathne | Team Member | Senior | +| Rachith Chandrathilake | Team Member | Junior | +| Joshua Talev | Team Leader | Junior | +| Rashi Agrawal | Team Member | Junior | +| Wael Alahmadi | Team Leader | Junior | +| Millicent Amolo | Team Member | Junior | +| Gaurav Myana | Team Member | Junior | +| Samuel Nunes Dos Santos | Team Member | Junior | +| Joseph Saji | Team Leader | Junior | +| Syeda Tabassum | Team Member | Junior | +| Parth Vaghela | Team Member | Junior | + +### Completed Deliverables + +#### 1. Frontend Migration Progress + +**Frontend components migrated:** + +- task-ilo-alignment-rater.coffee +- analytics.coffee +- portfolio-grade-select-step.coffee +- unit-details-editor.component.ts +- filters.coffee +- content-editable.coffee +- tutorials.coffee +- unit-staff-editor.coffee +- date-service.coffee +- analytics-service.coffee +- portfolio-welcome-step.coffee +- group-member-contribution-assigner.coffee +- migrate unit-dates-selector +- migrate achievement-custom-bar-chart +- migrate remove task-completion-box-plot +- fix-task-viewer-routing +- migrate portfolio-review-step +- migrate unit-ilo-edit-modal +- migrate runtime-service +- update frontend migration progress list +- remove alignment-bar-chart +- migrate group-member-list +- migrate recorder-service +- migrate-outcome-service +- migrate student-list +- migrate create-unit-modal +- migrate group-set-selector +- migrate confirmation-modal + +**Frontend components no longer in 9.x:** + +- all-projects-list.coffee +- all.coffee +- tutor-group-manager.coffee +- task-definition-selector.coffee + +#### 2. Accessibility Color Themes + +Extensive research is was done to identify the various types of color blindness and determine +optimal color palettes to accommodate affected users. Given that OnTrack relies heavily on color to +communicate task status, this accessibility feature is a high priority. The team is committed to +ensuring a thoughtful and effective rollout that meets the needs of all users. Key achievements this +trimester include: + +- Completed research on color blindness types and their impact on UI design. +- Developed initial color palettes tailored for different types of color vision deficiencies. +- Developed a contrast-safe color palette with WCAG 2.2 compliant colors including success, error, + and warning variants with 4.5:1 contrast ratios. +- Implemented shape differentiation for accessibility with distinct visual markers (circles for + complete, star shapes for overdue, squares for pending) +- Created a comprehensive style guide to ensure consistent implementation of color themes across the + platform. +- Created pattern overlay system using SVG backgrounds for color blind users. +- Established comprehensive theme system including default, dark, high-contrast, and + color-blind-safe themes +- Implemented CSS custom properties for dynamic theme switching +- Developed optimized color palettes for different types of color vision deficiencies + +#### 3. Security and Authentication + +The team has made significant progress in improving security this trimester. Key achievements +include: + +- Patched the Swagger vulnerability +- Patched the IDOR vulnerability +- Investigated frontend route access vulnerabilities +- Conducted a cryptography audit +- Standardized API authentication +- Enabled OnTrack accounts with full password management in the database +- Created a guide to setup and build Ontrack for Linux environments + +Unfortunately, the pentesting scheduled for mid-August was delayed due to unforeseen circumstances +and various build errors. The team has rescheduled this critical assessment to ensure that all +security measures are thoroughly evaluated and any vulnerabilities are promptly addressed. A +thorough guide on building and troubleshooting OnTrack on Linux VMs has been created to allow this +proceed smoothly. + +#### 4. Observer Role Creation + +The team has successfully enhanced multi-organisation support into OnTrack. Key achievements +include: + +- The Observer Role has been developed and deployed, enabling administrative oversight without + direct intervention privileges. +- Database migration for multi-organisation support has been finalized and implemented. +- Documentation for the Observer Role and multi-organisation features has been created to facilitate + understanding and usage. + +#### 5. Tutor Activity Tracking + +Backend development for Tutor Times is progressed well. Key achievements include: + +**Doubtfire-API (Backend)** + +- The database schema has been updated to introduce a Marking Session table, enabling accurate + tracking of marking periods associated with tutors and units. +- A Session Activities table has been added to systematically log user interactions, such as actions + taken during task assessment, supporting improved analytics and reporting. + +Next steps involve: + +- Creating a Session Tracker Service to manage marking sessions based on a 15-minute activity + threshold, tracking activities such as accessing and updating tasks. +- Integrating the Session Tracker Service across related entities, including User, Unit, Project, + and Task. +- Implementing endpoints to retrieve Marking Sessions and Session Activities for enhanced + visualization and analytics. + +**Doubtfire-Web (Frontend)** + +- Completed Tutor-Time Dashboard UI for tutors +- UI contains npx charts visualization to visualise data +- Dummy Data is being shown with appropriate Data Structures + +#### 6. Self-Enrolment Enhancements + +The student self-enrolment feature has been successfully implemented across both backend and +frontend components, delivering a comprehensive solution that allows students to autonomously enroll +in tutorials for specific tasks. Key achievements include: + +**Doubtfire-API (Backend)** + +_Database Schema Foundation_ + +- The database schema has been updated to support self-enrollment functionalities, including + necessary tables and relationships to manage student enrollments effectively. + +_ActiveRecord Model Updates_ + +- ActiveRecord models have been enhanced to encapsulate the logic required for self-enrollment + processes, ensuring data integrity and consistency. + +_API Endpoints Development_ + +- Backend API endpoints have been developed to facilitate student self-enrollment, including robust + validation and error handling mechanisms to ensure data integrity and a smooth user experience. + +_Complete API Controller Implementation_ + +- The API controller has been fully implemented to handle self-enrollment requests, providing + necessary CRUD operations and ensuring secure access to enrollment data. + +**Doubtfire-Web (Frontend)** + +_Administrative Interface_ + +- The administrative interface has been updated to include self-enrollment management features, + allowing staff to oversee and manage student enrollments effectively. + +_Student Enrollment UI_ + +- The student enrollment UI has been designed to provide a seamless experience for students + enrolling in tutorials. It includes intuitive forms and real-time validation to enhance usability. + +_Testing and Validation_ + +- Comprehensive testing has been conducted to ensure the reliability and functionality of the + self-enrollment feature, including unit tests, integration tests, and user acceptance testing. + +#### 7. Staff Grant Extension + +The staff grant extension feature has progressed significantly this trimester. A dedicated page has +been developed to enable staff to grant extensions, and the necessary backend API endpoints are now +in place. + +Next steps include finalizing the routing for the Staff Grant Extension (SGE) page, integrating the +backend and frontend components, and ensuring that notification systems—both in-system and +email—function reliably for all extension requests. + +Key achievements this trimester include: + +- Completed the back-end and front-end integration. +- Completed notification system to send alerts to both students and tutors once extension has been + granted. (Email and in system) + +#### 8. Courseflow + +The Courseflow project has progressed quite far this trimester. The ability to mark units as +complete and a skills summary feature have been successfully implemented, providing clearer progress +tracking for students. + +The features that have been implemented and reviewed in for CourseFlow this trimester involves: + +**Frontend (doubtfire-web)** + +- Refactored CourseFlow's front-end code base: maintainability and follow better architectural + patterns for Angular components. +- Enhanced the search functionality: enhancement to CourseFlow unit search including autocomplete of + available units that dynamically updates as input updates. +- Added the ability to mark unit as complete: Implemented functionality allowing users to mark units + as completed, and unit cannot be modified once completed. +- Created an overlay component to display full details regarding a unit. +- Added more metadata to the unit card: Enhanced unit cards with additional information such as + credit points and level. +- Created a component to display credit points achieved: Built a dedicated component to show + accumulated credit points, helping users track their progress toward requirements. +- Added options to overload units to a teaching period: Implemented functionality to allow + scheduling units beyond normal capacity limits for specific teaching periods. +- Added warning logic for unit requirements: Created validation and warning systems to alert users + when unit selections conflict with prerequisites or requirement rules. + +**Backend (doubtfire-api)** + +- Created a rake script to create test data for CourseFlow, including course, course map, course map + units, and their relationships for development and testing. +- Update unit model to host more details (including credit_points, prerequisites, corequisites). + This trimester, two innovative proposals have been introduced to further enhance OnTrack: + +#### 9. OnTrack Documentation Website + +Documentation efforts are progressed well this trimester. The team focused on consolidating and +fixing inconsistencies across the OnTrack documentation, ensuring a unified and comprehensive +resource for users. Key achievements include: + +- Created documentation for 8.0.x and 9.x branch setup issues. +- Created Powershell script to pull tasks from planner board. +- Created Feature/validate filename. +- Resolved Main Branch Build Errors. +- Created Various migration and feature documentation pull requests. +- Updated todo and migrated list frontend migration guide. +- Added documentation setup guide for the project. +- Added timestamp and author to documentation pages. + +#### 10. New Feature Explorations + +- A performance benchmarking initiative using Google Lighthouse, proposed by Mostafa Nouri, aims to + systematically evaluate and improve the platform’s speed, accessibility, and overall user + experience. +- A gamification strategy for the OnTrack UI, proposed by Joseph Kalayathankal Saji, is designed to + boost user engagement through interactive and motivational elements. + +Both proposals have been currently developed and integrated into the Doubtfire-Astro repository, +with ongoing expansion and refinement. These initiatives reflect the team’s commitment to continuous +improvement and innovation. + +### List of Completed Deliverables + +**Note on Table Generation:** The following table was generated using the `Planner_Pull.ps1` +PowerShell script [PR#51](https://github.com/thoth-tech/doubtfire-astro/pull/51). The script +determines a contributor's role (e.g., Main Contributor, Reviewer) using Planner's metadata about +when a user was assigned to a task. In cases where this cannot be determined reliably, the 'Role' +cell is intentionally left blank to avoid providing inaccurate information. + +| Name | Role | Task | Attachments | +| ---------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ALEX BROWN | Reviewer | Cleanup feedback.coffee | [PR#399](https://github.com/thoth-tech/doubtfire-web/pull/399) | +| ALEX BROWN | | Guide to build Ontrack on Linux based VMs | [PR#60](https://github.com/thoth-tech/doubtfire-astro/pull/60) | +| ALEX BROWN | Reviewer | Security Issue: Publicly Accessible API Documentation via Swagger | [PR#73](https://github.com/thoth-tech/doubtfire-api/pull/73); [PR#48](https://github.com/thoth-tech/doubtfire-astro/pull/48/files) | +| ALEX BROWN | | Migrate groups.coffee | [PR#382](https://github.com/thoth-tech/doubtfire-web/pull/382) | +| ALEX BROWN | Reviewer | Create Script to Pull tasks from Planner | [PR#51](https://github.com/thoth-tech/doubtfire-astro/pull/51) | +| ALEX BROWN | Reviewer | Add progress tracking | [PR#413](https://github.com/thoth-tech/doubtfire-web/pull/413) | +| ALEX BROWN | Reviewer | Populate the content of the unit component tab with drop down menus to filter the units that get displayed. | [PR#411](https://github.com/thoth-tech/doubtfire-web/pull/411) | +| ALEX BROWN | | Migrate unit-dates-selector.coffee | [PR#417](https://github.com/thoth-tech/doubtfire-web/pull/417) | +| ALEX BROWN | | Frontend Migrations: Update frontend migration progress list | [PR#397](https://github.com/thoth-tech/doubtfire-web/pull/397); [PR#982](https://github.com/doubtfire-lms/doubtfire-web/pull/982) | +| ALEX BROWN | Main Contributor | Migrate runtime.coffee | [PR#398](https://github.com/thoth-tech/doubtfire-web/pull/398) | +| ALEX BROWN | | Enhance the search functionalities | [PR#409](https://github.com/thoth-tech/doubtfire-web/pull/409) | +| ALEX BROWN | | Migrate outcome-service.coffee | [PR#390](https://github.com/thoth-tech/doubtfire-web/pull/390) | +| ALEX BROWN | Reviewer | Validate File name | [PR#53](https://github.com/thoth-tech/doubtfire-astro/pull/53) | +| ALEX BROWN | | Migrate Portfolio Welcome Step | [PR#384](https://github.com/thoth-tech/doubtfire-web/pull/384); [PR#619](https://github.com/thoth-tech/documentation/pull/619) | +| ALEX BROWN | Main Contributor | Fix change_remotes.sh | [PR#32](https://github.com/thoth-tech/doubtfire-deploy/pull/32) | +| ALEX BROWN | | Enable OnTrack accounts with full password management in the database | [PR#78](https://github.com/thoth-tech/doubtfire-api/pull/78#issue-3426079408); [PR#56](https://github.com/thoth-tech/doubtfire-astro/pull/56); [PR#57](https://github.com/thoth-tech/doubtfire-astro/pull/57#issue-3411312937); [PR#419](https://github.com/thoth-tech/doubtfire-web/pull/419#issue-3426129001) | +| CHELAKA YASODHANA PATHBERIYAGE | Reviewer | Migrate CSV result model + improvement | [PR#420](https://github.com/thoth-tech/doubtfire-web/pull/420) | +| CHELAKA YASODHANA PATHBERIYAGE | Reviewer | Implement ngx graphs/charts in UI | [PR#1003](https://github.com/doubtfire-lms/doubtfire-web/pull/1003); [PR#402](https://github.com/thoth-tech/doubtfire-web/pull/402) | +| CHELAKA YASODHANA PATHBERIYAGE | Reviewer | Migrate Group-member-list | [PR#393](https://github.com/thoth-tech/doubtfire-web/pull/393) | +| CHELAKA YASODHANA PATHBERIYAGE | | Fix Task Viewer component routing | [PR#404](https://github.com/thoth-tech/doubtfire-web/pull/404) | +| CHELAKA YASODHANA PATHBERIYAGE | | Add observer property to unit-level roles | [PR#75](https://github.com/thoth-tech/doubtfire-api/pull/75); [PR#54](https://github.com/thoth-tech/doubtfire-astro/pull/54) | +| CHELAKA YASODHANA PATHBERIYAGE | | Migrate students-list.coffee | [PR#597](https://github.com/thoth-tech/documentation/pull/597); [PR#389](https://github.com/thoth-tech/doubtfire-web/pull/389) | +| CHELAKA YASODHANA PATHBERIYAGE | | Create Enrolment Prompt Card | [PR#415](https://github.com/thoth-tech/doubtfire-web/pull/415) | +| CHELAKA YASODHANA PATHBERIYAGE | Main Contributor | Migrate portfolio-review-step.coffee | [PR#401](https://github.com/thoth-tech/doubtfire-web/pull/401) | +| CHELAKA YASODHANA PATHBERIYAGE | | Student Self-Enrolment - Tutorial Enrolment | [PR#415](https://github.com/thoth-tech/doubtfire-web/pull/415); [PR#79](https://github.com/thoth-tech/doubtfire-api/pull/79#pullrequestreview-3275500198) | +| DISURU PASANJITH RATHNAYAKE RATHNAYAKE THUDUGALA BANDULAGE | Main Contributor | Student Self-Enrolment - Tutorial Enrolment | [PR#415](https://github.com/thoth-tech/doubtfire-web/pull/415); [PR#79](https://github.com/thoth-tech/doubtfire-api/pull/79#pullrequestreview-3275500198) | +| DISURU PASANJITH RATHNAYAKE RATHNAYAKE THUDUGALA BANDULAGE | | Migrate Group-member-list | [PR#393](https://github.com/thoth-tech/doubtfire-web/pull/393) | +| DISURU PASANJITH RATHNAYAKE RATHNAYAKE THUDUGALA BANDULAGE | | Migrate outcome-service.coffee | [PR#390](https://github.com/thoth-tech/doubtfire-web/pull/390) | +| DISURU PASANJITH RATHNAYAKE RATHNAYAKE THUDUGALA BANDULAGE | | Remove task-completion-box-plot | [PR#410](https://github.com/thoth-tech/doubtfire-web/pull/410) | +| DISURU PASANJITH RATHNAYAKE RATHNAYAKE THUDUGALA BANDULAGE | | Migrate achievement-custom-bar-chart.coffee | [PR#412](https://github.com/thoth-tech/doubtfire-web/pull/412) | +| DISURU PASANJITH RATHNAYAKE RATHNAYAKE THUDUGALA BANDULAGE | | Migration: task-ilo-alignment-rater | [PR#603](https://github.com/thoth-tech/documentation/pull/603); [PR#338](https://github.com/thoth-tech/doubtfire-web/pull/338) | +| DISURU PASANJITH RATHNAYAKE RATHNAYAKE THUDUGALA BANDULAGE | Main Contributor | Migrate recorder-service.coffee | [PR#391](https://github.com/thoth-tech/doubtfire-web/pull/391); [PR#1009](https://github.com/doubtfire-lms/doubtfire-web/pull/1009) | +| DUY NGUYEN | Main Contributor | Add option to overload units to a teaching period | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| DUY NGUYEN | | Create a component to display credit points achieved. | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| DUY NGUYEN | | Migrate runtime.coffee | [PR#398](https://github.com/thoth-tech/doubtfire-web/pull/398) | +| DUY NGUYEN | Main Contributor | Enrich the unit card itself to show more info | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| DUY NGUYEN | Main Contributor | Add warning to the unit card when a requisite is not met | [PR#418](https://github.com/thoth-tech/doubtfire-web/pull/418) | +| DUY NGUYEN | Main Contributor | Update unit model to host more details | [PR#71](https://github.com/thoth-tech/doubtfire-api/pull/71) | +| DUY NGUYEN | Reviewer | Migrate groups.coffee | [PR#382](https://github.com/thoth-tech/doubtfire-web/pull/382) | +| DUY NGUYEN | | Enhance the search functionalities | [PR#409](https://github.com/thoth-tech/doubtfire-web/pull/409) | +| DUY NGUYEN | Main Contributor | Create test data for CourseFlow ( Course map, Course map units, Units) | [PR#70](https://github.com/thoth-tech/doubtfire-api/pull/70) | +| DUY NGUYEN | Reviewer | Populate the overlay component for the detailed unit with content of the unit - this needs to include unit requirements. | [PR#215](https://github.com/thoth-tech/doubtfire-web/pull/215) | +| DUY NGUYEN | Main Contributor | Refactor CourseFlow code base for better components maintainence | [PR#385](https://github.com/thoth-tech/doubtfire-web/pull/385) | +| EDWARD NGUYEN | Reviewer | Update unit model to host more details | [PR#71](https://github.com/thoth-tech/doubtfire-api/pull/71) | +| EDWARD NGUYEN | | Enrich the unit card itself to show more info | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| EDWARD NGUYEN | | Add option to overload units to a teaching period | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| EDWARD NGUYEN | Main Contributor | Create a component to display credit points achieved. | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| EDWARD NGUYEN | Reviewer | Add warning to the unit card when a requisite is not met | [PR#418](https://github.com/thoth-tech/doubtfire-web/pull/418) | +| EDWARD NGUYEN | Main Contributor | Add ability to mark unit as complete (phase 4) | [PR#386](https://github.com/thoth-tech/doubtfire-web/pull/386) [PR#396](https://github.com/thoth-tech/doubtfire-web/pull/396) | +| EDWARD NGUYEN | | Remove alignment-bar-chart.coffee | [PR#395](https://github.com/thoth-tech/doubtfire-web/pull/395) | +| EDWARD NGUYEN | | Create test data for CourseFlow ( Course map, Course map units, Units) | [PR#70](https://github.com/thoth-tech/doubtfire-api/pull/70) | +| EDWARD NGUYEN | Main Contributor | Populate the overlay component for the detailed unit with content of the unit - this needs to include unit requirements. | [PR#215](https://github.com/thoth-tech/doubtfire-web/pull/215) | +| EDWARD NGUYEN | Main Contributor | Add summary of skills component | [PR#396](https://github.com/thoth-tech/doubtfire-web/pull/396) | +| EKAM BHULLAR | Reviewer | Add summary of skills component | [PR#396](https://github.com/thoth-tech/doubtfire-web/pull/396) | +| EKAM BHULLAR | Reviewer | Refactor CourseFlow code base for better components maintainence | [PR#385](https://github.com/thoth-tech/doubtfire-web/pull/385) | +| EKAM BHULLAR | | Migrate portfolio-review-step.coffee | [PR#401](https://github.com/thoth-tech/doubtfire-web/pull/401) | +| EKAM BHULLAR | Reviewer | Enable OnTrack accounts with full password management in the database | [PR#78](https://github.com/thoth-tech/doubtfire-api/pull/78#issue-3426079408); [PR#56](https://github.com/thoth-tech/doubtfire-astro/pull/56); [PR#57](https://github.com/thoth-tech/doubtfire-astro/pull/57#issue-3411312937); [PR#419](https://github.com/thoth-tech/doubtfire-web/pull/419#issue-3426129001) | +| EKAM BHULLAR | Main Contributor | Implement ngx graphs/charts in UI | [PR#1003](https://github.com/doubtfire-lms/doubtfire-web/pull/1003); [PR#402](https://github.com/thoth-tech/doubtfire-web/pull/402) | +| EKAM BHULLAR | Reviewer | Develop Tutor Time Dashboard | [PR#416](https://github.com/thoth-tech/doubtfire-web/pull/416); [PR#58](https://github.com/thoth-tech/doubtfire-astro/pull/58) | +| GAURAV MANOHAR MYANA | Reviewer | ActiveRecord Model Updates | [PR#2](https://github.com/JosephKS10/doubtfire-api/pull/2) | +| GAURAV MANOHAR MYANA | Reviewer | OnTrack Style Guide v0.1 | [PR#62](https://github.com/thoth-tech/doubtfire-astro/pull/62) | +| GAURAV MANOHAR MYANA | | API Entity Updates | [PR#3](https://github.com/JosephKS10/doubtfire-api/pull/3) | +| GAURAV MANOHAR MYANA | | Database Schema Setup | [PR#1](https://github.com/JosephKS10/doubtfire-api/pull/1) | +| HASINDU DESHITHA WELARATHNE | Main Contributor | Migrate students-list.coffee | [PR#597](https://github.com/thoth-tech/documentation/pull/597); [PR#389](https://github.com/thoth-tech/doubtfire-web/pull/389) | +| HASINDU DESHITHA WELARATHNE | Reviewer | Migrate portfolio-review-step.coffee | [PR#401](https://github.com/thoth-tech/doubtfire-web/pull/401) | +| HASINDU DESHITHA WELARATHNE | | Migrate recorder-service.coffee | [PR#391](https://github.com/thoth-tech/doubtfire-web/pull/391); [PR#1009](https://github.com/doubtfire-lms/doubtfire-web/pull/1009) | +| HASINDU DESHITHA WELARATHNE | Main Contributor | Migrate CSV result model + improvement | [PR#420](https://github.com/thoth-tech/doubtfire-web/pull/420) | +| HASINDU DESHITHA WELARATHNE | Reviewer | Fix Task Viewer component routing | [PR#404](https://github.com/thoth-tech/doubtfire-web/pull/404) | +| IBI FATOKI | Reviewer | Remove alignment-bar-chart.coffee | [PR#395](https://github.com/thoth-tech/doubtfire-web/pull/395) | +| IBI FATOKI | Reviewer | 8.x and 9.x build documentation | [PR#44](https://github.com/thoth-tech/doubtfire-astro/pull/44) | +| IBI FATOKI | Reviewer | Migrate outcome-service.coffee | [PR#390](https://github.com/thoth-tech/doubtfire-web/pull/390) | +| IBI FATOKI | Reviewer | Astro - Resolve Main Branch Errors | [PR#55](https://github.com/thoth-tech/doubtfire-astro/pull/55) | +| IBI FATOKI | | Add observer property to unit-level roles | [PR#75](https://github.com/thoth-tech/doubtfire-api/pull/75); [PR#54](https://github.com/thoth-tech/doubtfire-astro/pull/54) | +| IBI FATOKI | | ActiveRecord Model Updates | [PR#2](https://github.com/JosephKS10/doubtfire-api/pull/2) | +| IBI FATOKI | | Validate File name | [PR#53](https://github.com/thoth-tech/doubtfire-astro/pull/53) | +| IBI FATOKI | Reviewer | Web Security Audit: Cryptographic Failures | [PR#45](https://github.com/thoth-tech/doubtfire-astro/pull/45) | +| IBI FATOKI | | Enable OnTrack accounts with full password management in the database | [PR#78](https://github.com/thoth-tech/doubtfire-api/pull/78#issue-3426079408); [PR#56](https://github.com/thoth-tech/doubtfire-astro/pull/56); [PR#57](https://github.com/thoth-tech/doubtfire-astro/pull/57#issue-3411312937); [PR#419](https://github.com/thoth-tech/doubtfire-web/pull/419#issue-3426129001) | +| IBI FATOKI | | API Entity Updates | [PR#3](https://github.com/JosephKS10/doubtfire-api/pull/3) | +| IBI FATOKI | | Metadata injection script for Markdown files | [PR#626](https://github.com/thoth-tech/documentation/pull/626) | +| IBI FATOKI | | Student Self-Enrolment - Tutorial Enrolment | [PR#415](https://github.com/thoth-tech/doubtfire-web/pull/415); [PR#79](https://github.com/thoth-tech/doubtfire-api/pull/79#pullrequestreview-3275500198) | +| IBI FATOKI | Main Contributor | Security Issue: Publicly Accessible API Documentation via Swagger | [PR#73](https://github.com/thoth-tech/doubtfire-api/pull/73); [PR#48](https://github.com/thoth-tech/doubtfire-astro/pull/48/files) | +| IBI FATOKI | | Remove task-completion-box-plot | [PR#410](https://github.com/thoth-tech/doubtfire-web/pull/410) | +| IBI FATOKI | Main Contributor | Guide to build Ontrack on Linux based VMs | [PR#60](https://github.com/thoth-tech/doubtfire-astro/pull/60) | +| IBI FATOKI | Reviewer | Fix IDOR Vulnerability - User Data Access | [PR#76](https://github.com/thoth-tech/doubtfire-api/pull/76) | +| IBI FATOKI | Reviewer | Migrate achievement-custom-bar-chart.coffee | [PR#412](https://github.com/thoth-tech/doubtfire-web/pull/412) | +| IBI FATOKI | | Populate the overlay component for the detailed unit with content of the unit - this needs to include unit requirements. | [PR#215](https://github.com/thoth-tech/doubtfire-web/pull/215) | +| IBI FATOKI | Reviewer | Standardize API Authentication Requirements | [PR#72](https://github.com/thoth-tech/doubtfire-api/pull/72) | +| IBI FATOKI | Main Contributor | Create Script to Pull tasks from Planner | [PR#51](https://github.com/thoth-tech/doubtfire-astro/pull/51) | +| IRIS CHEN | Reviewer | Guide to build Ontrack on Linux based VMs | [PR#60](https://github.com/thoth-tech/doubtfire-astro/pull/60) | +| IRIS CHEN | | Metadata injection script for Markdown files | [PR#626](https://github.com/thoth-tech/documentation/pull/626) | +| IRIS CHEN | | Frontend Migrations: Update frontend migration progress list | [PR#397](https://github.com/thoth-tech/doubtfire-web/pull/397); [PR#982](https://github.com/doubtfire-lms/doubtfire-web/pull/982) | +| IRIS CHEN | | Enable OnTrack accounts with full password management in the database | [PR#78](https://github.com/thoth-tech/doubtfire-api/pull/78#issue-3426079408); [PR#56](https://github.com/thoth-tech/doubtfire-astro/pull/56); [PR#57](https://github.com/thoth-tech/doubtfire-astro/pull/57#issue-3411312937); [PR#419](https://github.com/thoth-tech/doubtfire-web/pull/419#issue-3426129001) | +| IRIS CHEN | | Security Issue: Publicly Accessible API Documentation via Swagger | [PR#73](https://github.com/thoth-tech/doubtfire-api/pull/73); [PR#48](https://github.com/thoth-tech/doubtfire-astro/pull/48/files) | +| IRIS CHEN | | Create Script to Pull tasks from Planner | [PR#51](https://github.com/thoth-tech/doubtfire-astro/pull/51) | +| IRIS CHEN | Main Contributor | Fix IDOR Vulnerability - User Data Access | [PR#76](https://github.com/thoth-tech/doubtfire-api/pull/76) | +| IRIS CHEN | Main Contributor | Standardize API Authentication Requirements | [PR#72](https://github.com/thoth-tech/doubtfire-api/pull/72) | +| IRIS CHEN | | Validate File name | [PR#53](https://github.com/thoth-tech/doubtfire-astro/pull/53) | +| IRIS CHEN | Main Contributor | Web Security Audit: Cryptographic Failures | [PR#45](https://github.com/thoth-tech/doubtfire-astro/pull/45) | +| IRIS CHEN | | Fix Insecure Direct Object References (IDOR) Vulnerability | [PR#76](https://github.com/thoth-tech/doubtfire-api/pull/76) | +| JASON MARK VELLUCCI | Main Contributor | Migration: group set selector | [PR#387](https://github.com/thoth-tech/doubtfire-web/pull/387); [PR#981](https://github.com/doubtfire-lms/doubtfire-web/pull/981); [PR#620](https://github.com/thoth-tech/documentation/pull/620) | +| JASON MARK VELLUCCI | | Google lighthouse performance checks | [PR#629](https://github.com/thoth-tech/documentation/pull/629); [PR#46](https://github.com/thoth-tech/doubtfire-astro/pull/46) | +| JASON MARK VELLUCCI | | Migrate runtime.coffee | [PR#398](https://github.com/thoth-tech/doubtfire-web/pull/398) | +| JASON MARK VELLUCCI | | Metadata injection script for Markdown files | [PR#626](https://github.com/thoth-tech/documentation/pull/626) | +| JASON MARK VELLUCCI | | Remove task-completion-box-plot | [PR#410](https://github.com/thoth-tech/doubtfire-web/pull/410) | +| JASON MARK VELLUCCI | Reviewer | Migrate students-list.coffee | [PR#597](https://github.com/thoth-tech/documentation/pull/597); [PR#389](https://github.com/thoth-tech/doubtfire-web/pull/389) | +| JASON MARK VELLUCCI | Main Contributor | Frontend Migrations: Update frontend migration progress list | [PR#397](https://github.com/thoth-tech/doubtfire-web/pull/397); [PR#982](https://github.com/doubtfire-lms/doubtfire-web/pull/982) | +| JASON MARK VELLUCCI | | Migrate Group-member-list | [PR#393](https://github.com/thoth-tech/doubtfire-web/pull/393) | +| JASON MARK VELLUCCI | | 8.x and 9.x build documentation | [PR#44](https://github.com/thoth-tech/doubtfire-astro/pull/44) | +| JASON MARK VELLUCCI | | Fix Task Viewer component routing | [PR#404](https://github.com/thoth-tech/doubtfire-web/pull/404) | +| JASON MARK VELLUCCI | | Create Documentation on how to build Doubtfire-Astro | [PR#625](https://github.com/thoth-tech/documentation/pull/625) | +| JASON MARK VELLUCCI | | Refactor CourseFlow code base for better components maintainence | [PR#385](https://github.com/thoth-tech/doubtfire-web/pull/385) | +| JASON MARK VELLUCCI | | Migrate achievement-custom-bar-chart.coffee | [PR#412](https://github.com/thoth-tech/doubtfire-web/pull/412) | +| JASON MARK VELLUCCI | Reviewer | Clean up src/app/admin/modals/create-unit-modal leftover files | [PR#388](https://github.com/thoth-tech/doubtfire-web/pull/388); [PR#350](https://github.com/thoth-tech/doubtfire-web/pull/350) | +| JASON MARK VELLUCCI | | Update unit model to host more details | [PR#71](https://github.com/thoth-tech/doubtfire-api/pull/71) | +| JASON MARK VELLUCCI | | Frontend: Add routing for `Staff Grant Extension` feature | [PR#405](https://github.com/thoth-tech/doubtfire-web/pull/405) | +| JOSEPH KALAYATHANKAL SAJI | | Add observer property to unit-level roles | [PR#75](https://github.com/thoth-tech/doubtfire-api/pull/75); [PR#54](https://github.com/thoth-tech/doubtfire-astro/pull/54) | +| JOSEPH KALAYATHANKAL SAJI | Reviewer | Backend - Create session_activities table | [PR#5](https://github.com/martindolores/doubtfire-api/pull/5) | +| JOSEPH KALAYATHANKAL SAJI | Main Contributor | Database Schema Setup | [PR#1](https://github.com/JosephKS10/doubtfire-api/pull/1) | +| JOSEPH KALAYATHANKAL SAJI | Main Contributor | Backend - Create marking_sessions table | [PR#4](https://github.com/martindolores/doubtfire-api/pull/4) | +| JOSEPH KALAYATHANKAL SAJI | Main Contributor | OnTrack Style Guide v0.1 | [PR#62](https://github.com/thoth-tech/doubtfire-astro/pull/62) | +| JOSEPH KALAYATHANKAL SAJI | Main Contributor | Backend - Implement API Endpoints for SessionActivies and MarkingSession for Analytics | [PR#8](https://github.com/martindolores/doubtfire-api/pull/8) | +| JOSEPH KALAYATHANKAL SAJI | | API Controller Implementation | [PR#4](https://github.com/JosephKS10/doubtfire-api/pull/4) | +| JOSEPH KALAYATHANKAL SAJI | Reviewer | API Entity Updates | [PR#3](https://github.com/JosephKS10/doubtfire-api/pull/3) | +| JOSEPH KALAYATHANKAL SAJI | | ActiveRecord Model Updates | [PR#2](https://github.com/JosephKS10/doubtfire-api/pull/2) | +| JOSH BEVAN | Reviewer | Migration: group set selector | [PR#387](https://github.com/thoth-tech/doubtfire-web/pull/387); [PR#981](https://github.com/doubtfire-lms/doubtfire-web/pull/981); [PR#620](https://github.com/thoth-tech/documentation/pull/620) | +| JOSH BEVAN | Main Contributor | Enhance the search functionalities | [PR#409](https://github.com/thoth-tech/doubtfire-web/pull/409) | +| JOSH BEVAN | Reviewer | Frontend Migrations: Update frontend migration progress list | [PR#397](https://github.com/thoth-tech/doubtfire-web/pull/397); [PR#982](https://github.com/doubtfire-lms/doubtfire-web/pull/982) | +| JOSH TALEV | Main Contributor | Migrate confirmation-modal.coffee | [PR#381](https://github.com/thoth-tech/doubtfire-web/pull/381) | +| JOSH TALEV | Main Contributor | Backend - Create session_activities table | [PR#5](https://github.com/martindolores/doubtfire-api/pull/5) | +| JOSH TALEV | Reviewer | Backend - Implement API Endpoints for SessionActivies and MarkingSession for Analytics | [PR#8](https://github.com/martindolores/doubtfire-api/pull/8) | +| JOSH TALEV | Main Contributor | Migrate Portfolio Welcome Step | [PR#384](https://github.com/thoth-tech/doubtfire-web/pull/384); [PR#619](https://github.com/thoth-tech/documentation/pull/619) | +| JOSH TALEV | | Migration: group set selector | [PR#387](https://github.com/thoth-tech/doubtfire-web/pull/387); [PR#981](https://github.com/doubtfire-lms/doubtfire-web/pull/981); [PR#620](https://github.com/thoth-tech/documentation/pull/620) | +| JOSH TALEV | Main Contributor | Clean up src/app/admin/modals/create-unit-modal leftover files | [PR#388](https://github.com/thoth-tech/doubtfire-web/pull/388); [PR#350](https://github.com/thoth-tech/doubtfire-web/pull/350) | +| LACHLAN MACKIE ROBINSON | | Migrate utilService.coffee | [PR#383](https://github.com/thoth-tech/doubtfire-web/pull/383) | +| LACHLAN MACKIE ROBINSON | | Migration: group set selector | [PR#387](https://github.com/thoth-tech/doubtfire-web/pull/387); [PR#981](https://github.com/doubtfire-lms/doubtfire-web/pull/981); [PR#620](https://github.com/thoth-tech/documentation/pull/620) | +| LACHLAN MACKIE ROBINSON | Reviewer | Add observer property to unit-level roles | [PR#75](https://github.com/thoth-tech/doubtfire-api/pull/75); [PR#54](https://github.com/thoth-tech/doubtfire-astro/pull/54) | +| LACHLAN MACKIE ROBINSON | Main Contributor | Remove alignment-bar-chart.coffee | [PR#395](https://github.com/thoth-tech/doubtfire-web/pull/395) | +| LACHLAN MACKIE ROBINSON | Main Contributor | Astro - Resolve Main Branch Errors | [PR#55](https://github.com/thoth-tech/doubtfire-astro/pull/55) | +| LACHLAN MACKIE ROBINSON | Main Contributor | Validate File name | [PR#53](https://github.com/thoth-tech/doubtfire-astro/pull/53) | +| LACHLAN MACKIE ROBINSON | Reviewer | Migrate unit-ilo-edit-modal.coffee | [PR#400](https://github.com/thoth-tech/doubtfire-web/pull/400) | +| LACHLAN MACKIE ROBINSON | Main Contributor | 8.x and 9.x build documentation | [PR#44](https://github.com/thoth-tech/doubtfire-astro/pull/44) | +| LACHLAN MACKIE ROBINSON | Main Contributor | Migrate achievement-custom-bar-chart.coffee | [PR#412](https://github.com/thoth-tech/doubtfire-web/pull/412) | +| LACHLAN MACKIE ROBINSON | Main Contributor | Migrate outcome-service.coffee | [PR#390](https://github.com/thoth-tech/doubtfire-web/pull/390) | +| LACHLAN MACKIE ROBINSON | Main Contributor | Remove task-completion-box-plot | [PR#410](https://github.com/thoth-tech/doubtfire-web/pull/410) | +| LAMIA TABASSUM | | Add observer property to unit-level roles | [PR#75](https://github.com/thoth-tech/doubtfire-api/pull/75); [PR#54](https://github.com/thoth-tech/doubtfire-astro/pull/54) | +| LAMIA TABASSUM | | Security Issue: Publicly Accessible API Documentation via Swagger | [PR#73](https://github.com/thoth-tech/doubtfire-api/pull/73); [PR#48](https://github.com/thoth-tech/doubtfire-astro/pull/48/files) | +| LAMIA TABASSUM | | Develop Tutor Time Dashboard | [PR#416](https://github.com/thoth-tech/doubtfire-web/pull/416); [PR#58](https://github.com/thoth-tech/doubtfire-astro/pull/58) | +| MARTIN JOHN DOLORES | | Backend - Implement API Endpoints for SessionActivies and MarkingSession for Analytics | [PR#8](https://github.com/martindolores/doubtfire-api/pull/8) | +| MARTIN JOHN DOLORES | | Backend - Create session_activities table | [PR#5](https://github.com/martindolores/doubtfire-api/pull/5) | +| MARTIN JOHN DOLORES | Reviewer | Backend - Create marking_sessions table | [PR#4](https://github.com/martindolores/doubtfire-api/pull/4) | +| MARTIN JOHN DOLORES | | Backend - Integrate SessionTracker service across related entities | [PR#7](https://github.com/martindolores/doubtfire-api/pull/7) | +| MARTIN JOHN DOLORES | | Migrate Portfolio Welcome Step | [PR#384](https://github.com/thoth-tech/doubtfire-web/pull/384); [PR#619](https://github.com/thoth-tech/documentation/pull/619) | +| MARTIN JOHN DOLORES | | Backend - Create new SessionTracker Service | [PR#6](https://github.com/martindolores/doubtfire-api/pull/6) | +| MARTIN JOHN DOLORES | Main Contributor | Migrate groups.coffee | [PR#382](https://github.com/thoth-tech/doubtfire-web/pull/382) | +| MARTIN JOHN DOLORES | | Migrate confirmation-modal.coffee | [PR#381](https://github.com/thoth-tech/doubtfire-web/pull/381) | +| MARTIN JOHN DOLORES | Main Contributor | Migrate utilService.coffee | [PR#383](https://github.com/thoth-tech/doubtfire-web/pull/383) | +| MARTIN JOHN DOLORES | | Security Issue: Publicly Accessible API Documentation via Swagger | [PR#73](https://github.com/thoth-tech/doubtfire-api/pull/73); [PR#48](https://github.com/thoth-tech/doubtfire-astro/pull/48/files) | +| MARTIN JOHN DOLORES | | Validate File name | [PR#53](https://github.com/thoth-tech/doubtfire-astro/pull/53) | +| MARTIN JOHN DOLORES | | Backend - Create PR to doubtfire-api for Feature Branch | [PR#509](https://github.com/doubtfire-lms/doubtfire-api/pull/509) | +| MARTIN JOHN DOLORES | Reviewer | Create test data for CourseFlow ( Course map, Course map units, Units) | [PR#70](https://github.com/thoth-tech/doubtfire-api/pull/70) | +| MARTIN JOHN DOLORES | | Web Security Audit: Cryptographic Failures | [PR#45](https://github.com/thoth-tech/doubtfire-astro/pull/45) | +| MILLICENT ACHIENG AMOLO | | Fix IDOR Vulnerability - User Data Access | [PR#76](https://github.com/thoth-tech/doubtfire-api/pull/76) | +| MILLICENT ACHIENG AMOLO | | Google lighthouse performance checks | [PR#629](https://github.com/thoth-tech/documentation/pull/629); [PR#46](https://github.com/thoth-tech/doubtfire-astro/pull/46) | +| MILLICENT ACHIENG AMOLO | Reviewer | Metadata injection script for Markdown files | [PR#626](https://github.com/thoth-tech/documentation/pull/626) | +| MILLICENT ACHIENG AMOLO | Main Contributor | Enable OnTrack accounts with full password management in the database | [PR#78](https://github.com/thoth-tech/doubtfire-api/pull/78#issue-3426079408); [PR#56](https://github.com/thoth-tech/doubtfire-astro/pull/56); [PR#57](https://github.com/thoth-tech/doubtfire-astro/pull/57#issue-3411312937); [PR#419](https://github.com/thoth-tech/doubtfire-web/pull/419#issue-3426129001) | +| MILLICENT ACHIENG AMOLO | | Guide to build Ontrack on Linux based VMs | [PR#60](https://github.com/thoth-tech/doubtfire-astro/pull/60) | +| MILLICENT ACHIENG AMOLO | | Fix Frontend Admin Route Access Controls | [PR#49](https://github.com/thoth-tech/doubtfire-astro/pull/49#issue-3340358209) | +| MILLICENT ACHIENG AMOLO | Reviewer | Create Documentation on how to build Doubtfire-Astro | [PR#625](https://github.com/thoth-tech/documentation/pull/625) | +| MOSTAFA NOURI | Main Contributor | API Entity Updates | [PR#3](https://github.com/JosephKS10/doubtfire-api/pull/3) | +| MOSTAFA NOURI | Main Contributor | Create Documentation on how to build Doubtfire-Astro | [PR#625](https://github.com/thoth-tech/documentation/pull/625) | +| MOSTAFA NOURI | Reviewer | Database Schema Setup | [PR#1](https://github.com/JosephKS10/doubtfire-api/pull/1) | +| MOSTAFA NOURI | Main Contributor | Google lighthouse performance checks | [PR#629](https://github.com/thoth-tech/documentation/pull/629); [PR#46](https://github.com/thoth-tech/doubtfire-astro/pull/46) | +| MOSTAFA NOURI | Main Contributor | ActiveRecord Model Updates | [PR#2](https://github.com/JosephKS10/doubtfire-api/pull/2) | +| MOSTAFA NOURI | Main Contributor | Metadata injection script for Markdown files | [PR#626](https://github.com/thoth-tech/documentation/pull/626) | +| OLIVER ALEXANDER QUAIL | | Create Script to Pull tasks from Planner | [PR#51](https://github.com/thoth-tech/doubtfire-astro/pull/51) | +| PARTH SANJAYKUMAR VAGHELA | Reviewer | Integrate with backend | [PR#403](https://github.com/thoth-tech/doubtfire-web/pull/403) | +| PARTH SANJAYKUMAR VAGHELA | Main Contributor | Migrate unit-dates-selector.coffee | [PR#417](https://github.com/thoth-tech/doubtfire-web/pull/417) | +| PASINDU FERNANDO | Main Contributor | Migrate Group-member-list | [PR#393](https://github.com/thoth-tech/doubtfire-web/pull/393) | +| PASINDU FERNANDO | Reviewer | Migrate runtime.coffee | [PR#398](https://github.com/thoth-tech/doubtfire-web/pull/398) | +| PASINDU FERNANDO | | Implement ngx graphs/charts in UI | [PR#1003](https://github.com/doubtfire-lms/doubtfire-web/pull/1003); [PR#402](https://github.com/thoth-tech/doubtfire-web/pull/402) | +| PASINDU FERNANDO | | Remove task-completion-box-plot | [PR#410](https://github.com/thoth-tech/doubtfire-web/pull/410) | +| PASINDU FERNANDO | Main Contributor | Fix Task Viewer component routing | [PR#404](https://github.com/thoth-tech/doubtfire-web/pull/404) | +| PASINDU FERNANDO | | Migrate achievement-custom-bar-chart.coffee | [PR#412](https://github.com/thoth-tech/doubtfire-web/pull/412) | +| PASINDU FERNANDO | Reviewer | Migrate Portfolio Welcome Step | [PR#384](https://github.com/thoth-tech/doubtfire-web/pull/384); [PR#619](https://github.com/thoth-tech/documentation/pull/619) | +| PASINDU FERNANDO | | Student Self-Enrolment - Tutorial Enrolment | [PR#415](https://github.com/thoth-tech/doubtfire-web/pull/415); [PR#79](https://github.com/thoth-tech/doubtfire-api/pull/79#pullrequestreview-3275500198) | +| PASINDU FERNANDO | | Migrate portfolio-review-step.coffee | [PR#401](https://github.com/thoth-tech/doubtfire-web/pull/401) | +| PASINDU FERNANDO | | Migrate students-list.coffee | [PR#597](https://github.com/thoth-tech/documentation/pull/597); [PR#389](https://github.com/thoth-tech/doubtfire-web/pull/389) | +| PASINDU FERNANDO | Reviewer | Migrate recorder-service.coffee | [PR#391](https://github.com/thoth-tech/doubtfire-web/pull/391); [PR#1009](https://github.com/doubtfire-lms/doubtfire-web/pull/1009) | +| PASINDU FERNANDO | Reviewer | Migrate confirmation-modal.coffee | [PR#381](https://github.com/thoth-tech/doubtfire-web/pull/381) | +| RASHI AGRAWAL | Reviewer | Frontend: Add new SGE page | [PR#394](https://github.com/thoth-tech/doubtfire-web/pull/394) | +| RASHI AGRAWAL | | Integrate with backend | [PR#403](https://github.com/thoth-tech/doubtfire-web/pull/403) | +| RASHI AGRAWAL | Main Contributor | Migrate unit-ilo-edit-modal.coffee | [PR#400](https://github.com/thoth-tech/doubtfire-web/pull/400) | +| SAHIRU HESHAN WITHANAGE | | Remove alignment-bar-chart.coffee | [PR#395](https://github.com/thoth-tech/doubtfire-web/pull/395) | +| SAHIRU HESHAN WITHANAGE | Reviewer | Fix change_remotes.sh | [PR#32](https://github.com/thoth-tech/doubtfire-deploy/pull/32) | +| SAHIRU HESHAN WITHANAGE | Reviewer | Add ability to mark unit as complete (phase 4) | [PR#386](https://github.com/thoth-tech/doubtfire-web/pull/386) [PR#396](https://github.com/thoth-tech/doubtfire-web/pull/396) | +| SAHIRU HESHAN WITHANAGE | | Integrate with backend | [PR#403](https://github.com/thoth-tech/doubtfire-web/pull/403) | +| SAHIRU HESHAN WITHANAGE | | Frontend Work: Student search and selection | [PR#359](https://github.com/thoth-tech/doubtfire-web/pull/359) | +| SAHIRU HESHAN WITHANAGE | Main Contributor | Frontend: Add new SGE page | [PR#394](https://github.com/thoth-tech/doubtfire-web/pull/394) | +| SAHIRU HESHAN WITHANAGE | | Add summary of skills component | [PR#396](https://github.com/thoth-tech/doubtfire-web/pull/396) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | | Add ability to mark unit as complete (phase 4) | [PR#386](https://github.com/thoth-tech/doubtfire-web/pull/386) [PR#396](https://github.com/thoth-tech/doubtfire-web/pull/396) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | | Frontend Work: Set up notification UI | [PR#353](https://github.com/thoth-tech/doubtfire-web/pull/353) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | | Backend- In-system notification system | [PR#69](https://github.com/thoth-tech/doubtfire-api/pull/69) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | | Frontend: Add new SGE page | [PR#394](https://github.com/thoth-tech/doubtfire-web/pull/394) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | | Web Security Audit: Cryptographic Failures | [PR#45](https://github.com/thoth-tech/doubtfire-astro/pull/45) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | | Update documentation in doubtfire-astro for staff grant extension new APIs and FE components | [PR#40](https://github.com/thoth-tech/doubtfire-astro/pull/40) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | Main Contributor | Integrate with backend | [PR#403](https://github.com/thoth-tech/doubtfire-web/pull/403) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | Reviewer | Migrate utilService.coffee | [PR#383](https://github.com/thoth-tech/doubtfire-web/pull/383) | +| SAMINDI SITUMYA RATNAYAKE MUDIYANSELAGE | | Standardize API Authentication Requirements | [PR#72](https://github.com/thoth-tech/doubtfire-api/pull/72) | +| TRIET LAM | | Student Self-Enrolment - Tutorial Enrolment | [PR#415](https://github.com/thoth-tech/doubtfire-web/pull/415); [PR#79](https://github.com/thoth-tech/doubtfire-api/pull/79#pullrequestreview-3275500198) | +| TRIET LAM | Reviewer | Create a component to display credit points achieved. | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| TRIET LAM | Main Contributor | Cleanup feedback.coffee | [PR#399](https://github.com/thoth-tech/doubtfire-web/pull/399) | +| TRIET LAM | | Populate the content of the unit component tab with drop down menus to filter the units that get displayed. | [PR#411](https://github.com/thoth-tech/doubtfire-web/pull/411) | +| TRIET LAM | Reviewer | Migrate unit-dates-selector.coffee | [PR#417](https://github.com/thoth-tech/doubtfire-web/pull/417) | +| TRIET LAM | Reviewer | Enhance the search functionalities | [PR#409](https://github.com/thoth-tech/doubtfire-web/pull/409) | +| TRIET LAM | Reviewer | Enrich the unit card itself to show more info | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| TRIET LAM | Reviewer | Remove task-completion-box-plot | [PR#410](https://github.com/thoth-tech/doubtfire-web/pull/410) | +| TRIET LAM | Reviewer | Add option to overload units to a teaching period | [PR#407](https://github.com/thoth-tech/doubtfire-web/pull/407) | +| TRIET LAM | Main Contributor | Add progress tracking | [PR#413](https://github.com/thoth-tech/doubtfire-web/pull/413) | +| WAEL ALAHMADI | | Migrate students-list.coffee | [PR#597](https://github.com/thoth-tech/documentation/pull/597); [PR#389](https://github.com/thoth-tech/doubtfire-web/pull/389) | +| WAEL ALAHMADI | | Enable OnTrack accounts with full password management in the database | [PR#78](https://github.com/thoth-tech/doubtfire-api/pull/78#issue-3426079408); [PR#56](https://github.com/thoth-tech/doubtfire-astro/pull/56); [PR#57](https://github.com/thoth-tech/doubtfire-astro/pull/57#issue-3411312937); [PR#419](https://github.com/thoth-tech/doubtfire-web/pull/419#issue-3426129001) | +| WAEL ALAHMADI | Reviewer | Google lighthouse performance checks | [PR#629](https://github.com/thoth-tech/documentation/pull/629); [PR#46](https://github.com/thoth-tech/doubtfire-astro/pull/46) | +| WAEL ALAHMADI | Reviewer | Student Self-Enrolment - Tutorial Enrolment | [PR#415](https://github.com/thoth-tech/doubtfire-web/pull/415); [PR#79](https://github.com/thoth-tech/doubtfire-api/pull/79#pullrequestreview-3275500198) | +| WAEL ALAHMADI | Main Contributor | Develop Tutor Time Dashboard | [PR#416](https://github.com/thoth-tech/doubtfire-web/pull/416); [PR#58](https://github.com/thoth-tech/doubtfire-astro/pull/58) | +| WAEL ALAHMADI | | Enhance the search functionalities | [PR#409](https://github.com/thoth-tech/doubtfire-web/pull/409) | +| WAEL ALAHMADI | | Migrate unit-ilo-edit-modal.coffee | [PR#400](https://github.com/thoth-tech/doubtfire-web/pull/400) | +| WAEL ALAHMADI | Main Contributor | Add observer property to unit-level roles | [PR#75](https://github.com/thoth-tech/doubtfire-api/pull/75); [PR#54](https://github.com/thoth-tech/doubtfire-astro/pull/54) | +| WAEL ALAHMADI | | Security Issue: Publicly Accessible API Documentation via Swagger | [PR#73](https://github.com/thoth-tech/doubtfire-api/pull/73); [PR#48](https://github.com/thoth-tech/doubtfire-astro/pull/48/files) | + +### Roadmap + +This roadmap outlines the strategic priorities for the next trimester, building on the progress made +in T2 2025. Key areas of focus include completing the frontend migration, implementing new features, +and addressing critical security evaluations. + +--- + +#### 1. Continued Frontend Migration to Angular 17 + +The migration from AngularJS and CoffeeScript remains a top priority. While significant progress was +made in T2, the work is ongoing. + +- **Priority**: Complete the full migration of all legacy components to Angular 17 and TypeScript. +- **Action**: Focus on migrating parent components whose child components have already been updated. +- **Goal**: Achieve improved UI consistency, accessibility, and performance across the entire + platform. + +--- + +#### 2. Security Enhancements and Penetration Testing + +Key vulnerabilities were patched in T2, but the formal penetration testing was delayed. + +- **Priority**: Conduct the rescheduled penetration test to thoroughly evaluate all security + measures. +- **Action**: Address any new findings from the test promptly and continue to integrate security + testing into the CI/CD pipeline. +- **Goal**: Continue formalizing prototypes for SSO (Single Sign-On) and mTLS integration for future + scalability. + +--- + +#### 3. Full Implementation of Tutor Activity Tracking + +The backend schema and frontend UI for this feature are in place, but they need to be fully +integrated and activated. + +- **Priority**: Connect the frontend dashboard to live backend data instead of the current dummy + data. +- **Action**: Implement the `Session Tracker Service` to manage marking sessions and integrate it + across all related entities (User, Unit, Project, Task). +- **Goal**: Deploy backend endpoints to retrieve `Marking Sessions` and `Session Activities` for + analytics and reporting. + +--- + +#### 4. Deploying Accessibility and Color Blindness Features + +The foundational research and design for accessibility were completed in T2. The next step is full +implementation and deployment. + +- **Priority**: Deploy the configurable color themes, including presets for various types of color + vision deficiencies like deuteranopia and protanopia. +- **Action**: Integrate the theme selector into user profile settings and conduct user testing to + validate the effectiveness of the new themes. +- **Attachments**: +- [Accessibility Research](https://deakin365-my.sharepoint.com/:f:/g/personal/s225053039_deakin_edu_au/EgXoyWLqLepBr9gftiQ1Wv4BPGdCwaE9VDKILChZ0izgrw?e=rlg4XU) + +--- + +#### 5. Expanding OnTrack Documentation + +Efforts to centralize documentation should continue to support new team members. + +- **Priority**: Create the "Getting Started" onboarding guide series that was planned in previous + trimesters. +- **Action**: Finalize API reference pages for all new and refactored endpoints to ensure the + documentation is comprehensive and current. + +--- + +#### 6. Long-Term Feature Development (Backlog) + +These items from previous roadmaps or new T2 proposals are still in the backlog for future +development. + +- **Panopto Video Integration**: This feature, including phase 2 explorations, is fully scoped but + remains in the backlog for a future implementation. +- **Performance Benchmarking**: Expand on the new initiative to use Google Lighthouse to + systematically test and improve platform speed and accessibility. +- **Gamification**: Explore the feasibility of development of the gamification strategy proposed in + T2 to boost user engagement through interactive UI elements. + +### Open Issues + +This section flags persistent issues that may interfere with the future team's ability to work and +provides advice on how these could be addressed. Despite steady progress on deliverables, several +challenges remain that could impact the continuity and learning outcomes for the next cohort. + +--- + +#### Skills Gap & Onboarding Challenges + +Many students join OnTrack to learn, but the steep learning curve for technologies like Angular, +TypeScript, and legacy CoffeeScript can be a significant barrier. + +- Without structured technical onboarding, new members often spend the first 3–4 weeks trying to + understand the system, which delays their ability to contribute effectively. +- There is often an implicit expectation that students are already proficient with the tech stack + (including Git, Docker, and Angular), which is not always the case and can lead to frustration. + +--- + +#### Development Environment & Compatibility Issues + +Setting up the local development environment remains a significant hurdle, especially for students +using Windows machines. + +- Docker image sizes are large, and performance differences compared to Mac or Linux systems can + create an uneven development experience. +- Compatibility differences between the `8.0.x` and `9.x` branches can lead to frequent and + confusing build issues. +- These issues had a direct impact this trimester, as the penetration testing scheduled for + mid-August was delayed partly due to "various build errors." + +--- + +#### Fragmented Review and Contribution Workflow + +The process for reviewing Planner board tasks and GitHub pull requests can lack consistency. + +- Without clear ownership and review pathways, some completed work can sit idle in pull requests for + long periods, waiting for approvals. This can slow down overall project momentum. + +--- + +#### Recommendations for Future Teams + +To mitigate these issues, the next team should consider the following: + +- **Introduce a structured onboarding program** that covers environment setup, Git workflows, and an + introduction to the core tech stack. +- **Create and maintain a beginner-friendly setup guide**, especially for Windows environments. +- **Communicate early and often with mentors** or sub-leads to get help and unblock technical issues + quickly. +- **Leverage the resources** in the **[User Manual](#user-manual)** section, which contains setup + videos and contribution guides. + +### Lessons Learned + +Throughout the trimester, the OnTrack team gained valuable insights into collaboration, workflow +management, and technical readiness. The following lessons are shared to help future teams adopt +practices that support sustained progress and learning. + +--- + +#### The Importance of Mentorship + +Mentors play a pivotal role in clarifying complex tasks and keeping the team aligned with project +goals. Low attendance in mentor meetings can create knowledge gaps, leading to missed updates and +slower progress. + +- **Key Takeaway**: Prioritize regular engagement with mentors to stay informed and unblock + technical or process-related issues early. + +--- + +#### Effective Task Management + +Consistent use of the Planner board is essential for transparency and progress tracking. + +- When tasks are left un-updated, it can cause confusion around team progress and individual + responsibilities. +- **Key Takeaway**: Familiarity with Planner, clear card ownership, and regular status updates are + crucial for maintaining momentum in collaborative work. + +--- + +#### Technical Readiness and Continuous Learning + +A significant number of contributors can struggle with tasks due to limited experience with GitHub +and the core tech stack. This can impact review cycles and slow down delivery. + +- **Key Takeaway**: Capstone projects require continuous upskilling. Proactively allocate time for + learning core technologies like Git, Angular, and TypeScript, especially when entering unfamiliar + domains. It is highly recommended that new members undergo early training. + +--- + +#### Time Management and Self-Discipline + +Delayed deliverables are often linked to weak time management. Without consistent planning and +progress tracking, it's difficult to meet sprint goals. + +- **Key Takeaway**: Adopt strategies like weekly planning, setting personal deadlines, and using + reminders to stay on track and contribute reliably. + +--- + +#### Final Advice + +New team members may assume deep technical knowledge is required before contributing. However, what +truly matters is **consistency, communication, and a willingness to learn**. Investing time early to +understand the workflow, connect with mentors, and get comfortable with the tools will lead to +strong contributions. + +### Product Development Life Cycle + +We continue to use Agile methodologies to deliver updates and new features for OnTrack. Our approach +includes 2-week sprints focused on completing tasks, and weekly stand-up meetings to assess +progress, share updates, discuss roadblocks, and assign new tasks via Teams Planner cards. + +--- + +#### New Tasks + +- New tasks can be assigned by the project mentor during weekly stand-up meetings or self-selected + by team members. +- Once you select a task, be sure to assign yourself to the corresponding Teams Planner card and + attach your draft or completed pull request when you begin work. +- If you have an idea for a new feature, schedule a meeting with the project mentor to discuss it. + Upon approval, a new card can be created in the Planner backlog. +- For large features, it is recommended to first create a Spike document to research the benefits + and challenges, which can be committed to the documentation repository. + +--- + +#### Definition of Done + +A task is considered complete once it has been fully tested, functions as expected, is documented in +a well-organized pull request, has been peer-reviewed, and is approved by your mentor. The +corresponding Teams Planner card must be updated, and communication with your reviewer and mentor +should continue until your contribution is merged. + +--- + +#### Task Review + +- Each pull request requires a mandatory peer review before a mentor can review it. +- After creating a pull request, contact a teammate to review it and tag them as the reviewer in + both the Planner card and on GitHub. +- As a reviewer, you must test the code by pulling the changes locally and reviewing the syntax, + logic, and output. +- After the peer review is complete, notify the mentor for their final review and approval before + the pull request is submitted to the upstream repository. + +--- + +#### Testing + +- For frontend changes, test the functionality in the browser and run specification tests as needed. +- For backend changes, use browser interactions or tools like Postman to test API functionality. +- In the pull request, include detailed instructions on how others can test your changes, and always + provide before-and-after screenshots to show the outcome. + +--- + +#### Branching Strategy + +- When starting new work, fork all three `thoth-tech` repositories (`deploy`, `web`, and `api`) to + your personal GitHub profile. +- Create a new branch from the `9.x` branch of the relevant repository. +- Follow the **Branch Prefixes and Commit Message Format** in the official Contributing Guide when + naming branches and creating commits. + +### Product Architecture + +OnTrack is developed as a collaborative open-source project built on top of the Doubtfire-LMS +ecosystem. It comprises four key components: + +- **Doubtfire-Web**: The frontend application responsible for user interface and interactions, built + using Angular. +- **Doubtfire-API**: The backend service that handles business logic and communicates with the + database, built using Ruby on Rails. +- **Database**: A structured relational database (e.g., MariaDB) that stores all persistent + application data. +- **Doubtfire-Deploy**: Infrastructure scripts and configuration used to deploy OnTrack in a stable + and maintainable environment, primarily using Docker and associated CI/CD tools. + +OnTrack is maintained and enhanced by **ThothTech**, a student-led capstone development team at +Deakin University. The project is **forked from the official Doubtfire-LMS repository**, which is +managed by Company Directors and Mentors. The LMS environment represents the **production-grade +implementation**, while ThothTech serves as the innovation space where new features and improvements +are developed before potential upstream contribution. + +--- + +#### Tech Stack + +- **Frontend**: Currently being migrated from AngularJS and CoffeeScript to Angular 17 and + TypeScript. The stack also includes HTML, SCSS, and Tailwind CSS. + +- **Backend**: Built on Ruby on Rails with the Grape Framework. It uses MariaDB as the database + engine, and Docker is used for deployment and local development. + +### Source Code + +The following are the relevant GitHub repositories for this project: + +- **Deployment**: [thoth-tech/doubtfire-deploy](https://github.com/thoth-tech/doubtfire-deploy) +- **Frontend**: [thoth-tech/doubtfire-web](https://github.com/thoth-tech/doubtfire-web) +- **Backend**: [thoth-tech/doubtfire-api](https://github.com/thoth-tech/doubtfire-api) +- **OnTrack Documentation Website**: + [thoth-tech/doubtfire-astro](https://github.com/thoth-tech/doubtfire-astro) +- **General Documentation**: + [OnTrack Documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack) + +--- + +### Login Credentials + +Refer to the "Working with Dev Containers" section of the +[Contributing Guide](https://github.com/thoth-tech/doubtfire-deploy/blob/main/CONTRIBUTING.md) for +authentication credentials for a locally deployed instance of OnTrack. + +## Project 2 - SplashKit + +### Overview, Goals, and Objectives + +SplashKit is an open-source software development framework designed to simplify game and application +development for beginners and students. It was primarily coded in C++ but has since offer supports +for addition languages such as C#, Python, Pascal, and JavaScript. + +SplashKit provides users with a set of pre-built libraries for graphics, sound, input handling and +more, making it easier to create interactive applications. It also offers an extensive documentation +and tutorials designed to help students get started quickly and maximize their use of the SDK. This +wealth of resources empowers learners to progress at their own pace and fully explore the +capabilities of SplashKit, making it an invaluable tool for both beginners and more advanced users. + +SplashKit will be running with the following projects during T2 2025: + +#### **SplashKit Website & Tutorials** + +Powered by the Starlight framework, the revamped SplashKit website aims to offer an enriched and +user-friendly experience for developers and learners. The SplashKit Website will also feature +tutorials aimed at helping students learn and explore SplashKit’s functionality. The focus is on +developing smaller, high-quality tutorials across C++, C#, and Python, rather than extensive series. + +#### **SplashKit Expansion** + +The Expansion team is responsible for maintaining and enhancing the SplashKit core. This includes +bug fixes, feature improvements, units testing, and refining installation and usage workflows +through package creation and addressing installation issues. + +#### **SplashKit Online** + +SplashKit Online is developing a web-based IDE that allows students to write and run code directly +in their browsers. Initially launched as a prototype in 2023, the 2025 goal is to mature this tool +into a comprehensive product, including further C# support and refining the embedded version for the +SplashKit website. + +#### **Arcade Machines** + +The university has acquired four arcade machines equipped with Raspberry Pi 3B+ units, designed to +showcase games developed with SplashKit. The short-term goal is to prepare these platforms for +students to display their SplashKit creations. The medium-term goal is to streamline the process for +first-year students to easily upload and test their games. + +### Aims for Trimester + +Trimester Aims for SplashKit Development: + +#### **Expand Project Management Features on SplashKit Online** + +For SplashKit Online, a key objective is to add tools for creating, saving, loading, and managing +multiple projects with version control. Additionally, version control integration will be +implemented to improve project tracking, collaboration, and organization. + +#### **Improvement of Communication and Coordination between Teams** + +This trimester, we aim to enhance communication and coordination between teams by establishing +clearer workflows, improving cross-team collaboration, and streamlining project management +processes. Our focus will be on implementing structured communication channels, ensuring that +development, testing, and documentation teams are aligned and working efficiently. We will continue +regular stand-up meetings, feedback loops, and collaborative tools to facilitate seamless +information sharing and faster issue resolution. + +#### **Develop and Refine Unit Tests for SplashKit** + +To ensure high software quality, we will be looking at developing an array for unit tests for +SplashKit as well as looking into inconsistencies with previous unit tests made to ensure we achieve +the desired outcome and maintain industry standards. + +#### **Improve Project Documentation** + +A key objective this trimester is to enhance project documentation by ensuring all information is +up-to-date and aligned with the current workflow. This will involve regularly reviewing, updating, +and organizing documentation to improve clarity, accessibility, and usability for all team members. + +#### **Expansion of the SplashKit Website Usage Examples and Beyond SplashKit** + +The SplashKit Website team will be attempting to go through the backlogs of Usage Examples to +further enhance the user experience on the site while also creating more resources for Beyond +SplashKit, offering users the opportunity to learn how to code these functions without SplashKit. + +### Priorities + +#### SplashKit Website & Tutorials + +**Trimester Priorities:** + +- **Expand Onboarding Hub**: Continue building the onboarding hub to include information about + learning paths, guides, and tutorial templates to allow for an easier transition. +- **Further Usage Example Expansion**: Create examples for every SplashKit function to improve + accessibility for users. +- **API Documentation Updates**: Further refine the information in the API Documentation page to + improve clarity and accuracy. +- **Advanced Tutorials**: Develop in-depth tutorials on AI and advanced game development topics. + +**Long Term Priorities:** + +- **Tutorials Review and Refinement**: A thorough review of each tutorials to ensure that they are + up-to-date and align with our current standards. +- **Data Analytics Integration**: Integrate data analytics to track the most-viewed pages on the + website, allowing for data-driven decisions. +- **Netlify Build Process Improvement**: Update the configuration of the site deployment so that + each deploys are only built when needed, decreasing build minutes. + +#### SplashKit Expansion + +**Trimester Priorities:** + +- **SplashKit Core Functions**: Create new functions for ray intersection variants. +- **Function Redundancy Analysis**: Investigate the necessity of certain functions to determine + their impact. +- **Unit Test Development**: Design and implement a comprehensive unit test suite to validate the + core functionalities of SplashKit, ensuring reliability across different modules as well as + refining previous unit tests. +- **Bug Indentification and Fixes**: Investigate known and emerging issues within the SplashKit + framework to enhance stability and performance. +- **Improving Raspberry Pi Support**: Enhance GPIO control capabilities and ensure full + compatibility with the latest Raspberry Pi models, expanding SplashKit’s usability in IoT + applications. + +**Long Term Priorities:** + +- **Comprehensive Testing and Bug Fixing**: Develop a thorough test suite covering both procedural + and object-oriented implementations of SplashKit to ensure stability and reliability across the + entire library. +- **Rust Translation**: Translate the SplashKit framework into Rust, expanding its usability for a + wider audience and enabling developers in other ecosystems to leverage SplashKit’s functionality. +- **Enhanced Input Handling:** Implement support for a wider variety of input devices, such as game + controllers, VR headsets, and external sensors. This would make SplashKit even more versatile for + a range of interactive applications beyond just keyboard and mouse input. + +#### SplashKit Online + +**Trimester Priorities:** + +- **C# Support**: Continue to develop C# support for the IDE. +- **C++ Support**: Fix and continue to develop C++ in the IDE. +- **Autocomplete Improvement**: Improve the functionality of the search autocomplete to support C++ + languages result. +- **Continue to Improve Documentation**: Rework the current structure of documentation to make use + easier + +**Long Term Priorities:** + +- **Debugging Features**: Investigate and implement debugging features regarding breakpoints and + variable watch window. +- **Further Features Refinements**: Continue developing SplashKit Online features to improve user + experience and functionality of the platform. +- **Documenation**: Continue to develop documentation of SplashKit Online + +#### Arcade Machines + +_Even though the Arcade Machine is running in T2 2025, it is important to note that the success of +the deliverables are depending on the number of students joining/working on the project._ + +**Short Term Priorities** + +- **Continue Development of Flipper Game Packaging Tool**: Review and advance the development of the + Flipper tool to streamline game packaging, and deployment, +- **Review and Update Arcade Games**: Review the current published games to ensure that there aren't + any issues or whether there need to be updates made. + +**Long Term Priorities:** + +- **Enhance the Arcade Menu and Testing System**: Continue updates to the Emulation Station menu, + focusing on Kiosk Mode (for published games) and Normal Mode (for both test and published games). + Develop a new testing system that simplifies game additions and allows for more flexible testing. +- **Initial Voting System Implementation**: Begin developing a voting system that adds weight to the + star ranking, ensuring a clear path for further iterations. +- **Arcade Game Documentation Updates**: Revise README files for arcade games to include updated + control instructions, compilation processes, and resources folder structure for clarity and + accessibility. +- **Formalise the Game Upload Process**: Establish a streamlined and documented workflow for + students to upload their games, targeting SIT102 and SIT771 students to reduce friction and ensure + consistent game submissions. +- **Develop Local Test Mode**: Design and implement a test mode that allows users to add a new game + build for a limited testing period, automatically deleting the game afterward to maintain system + integrity. +- **Full Voting System Implementation**: Expand the voting system to track user feedback over time, + integrating it into the arcade’s ranking system to highlight popular games. +- **Complete C# Compatibility for ARM**: Resolve compatibility issues for C# in the ARM environment + to fully support .NET on arcade machines, ensuring consistent performance for C++ and C# games. +- **Introduce Version Control for Games**: Establish version control for compiled arcade games to + manage updates and track revisions as new features are added or bugs are fixed. + +### Project Members + +| Member Names | Roles/Responsibilities | Junior/Senior | +| -------------------------- | ---------------------- | ------------- | +| Oliver Quail | Team Leader | Senior | +| Josh Fernandes | Team Leader | Senior | +| Connor Clancy | Team Member | Junior | +| Jayden Minh Duong | Team Member | Junior | +| Stanoja Jovanovic | Team Member | Junior | +| Haoyu Liu | Team Leader | Junior | +| Runqi Liu | Team Leader | Junior | +| Ashen Manamalage Fernado | Team Member | Junior | +| Anandika Rajeev | Team Member | Junior | +| Suylang Sok | Team Member | Junior | +| Matthew Sutrisno | Team Member | Junior | +| Haoxuan Yuan | Team Leader | Junior | +| Wei Zhang | Team Leader | Junior | +| Julian Burton | Team Member | Senior | +| Daniel-Lee Carroll-Leonard | Team Member | Senior | +| Muhammad Danial | Team Member | Senior | +| Dhruv Janghu | Team Member | Senior | +| Paavan Kalra | Team Leader | Senior | +| Anish Sampson | Team Member | Senior | +| Sam Stajnko | Team Member | Senior | +| Vishnu Vengadeswaran | Team Leader | Senior | +| Sana Noureen | Team Member | Senior | +| Ayush Indapure | Team Member | Junior | +| Rabail Aamir | Team Member | Junior | + +### Completed Deliverables + +#### SplashKit Expansion + +- The addition of a new Raspberry Pi function being the addition of remote ADC +- Unit test coverage being a follow up of a project from last trimester +- Five new unit tests for unit testing of the code +- Making 3 different video tutorials to help people get started with RPi coding in SplashKit +- Review of servo/motor functions +- Fixing a bug in C# SplashKit functions relating to missing attributes in header documentation + +#### SplashKit Website + +- 2 Completed usage examples for Geometry and Graphics functions +- 44 new Usage Examples PRs opened for splashkit functions, in review stages. +- 8 existing tutorials on the website page have been reviewed, code tested, and improved. +- 1 new tutorial on creating a Flappy Bird remake game from scratch published. +- Added language switcher and zh-cn localization option to troubleshooting and setup SplashKit + pages. +- Minor bugfixes on .config files +- PRs opened for redesigns of the landing page and the Announcement page using Tailwind CSS, + Preline, and existing libraries. +- Added full Simplified Chinese (zh-CN) localization with an internationalization framework, + language switching, and complete translated content pages for troubleshooting and guides. + +#### SplashKit Online + +- Update README documentation to include instructions for installation and working with C# +- Ported new file structure created last trimester to the current repo +- Fixes that allow C++ code to be run in the browser with new file structure +- Added a simple game C# game to demonstrate the functionaility in the browser +- Added documentation for the addition of demo projects to SplashKit Online +- Added automatic generation of C# bindings based of `api.json` from SK-Translator +- Added documentation for C# implementation +- Added support for and guides for custom themes inside of the editor +- Restructure modal.js to prevent XSS vulnerability + +#### SplashKit Arcade + +- Develop Raspberry Pi 5 test machine, develop Raspberry Pi 3B test machine +- Three arcade game productions: tower defense game, RPG game, Tetris +- Organize warehouse documents and provide explanations for key files. +- Write the Pi3B development manual and write an RPG game development tutorial. + +### Team Members and Contributions + +**Note on Table Generation:** The following table was generated using the `Planner_Pull.ps1` +PowerShell script [PR#51](https://github.com/thoth-tech/doubtfire-astro/pull/51). The script +determines a contributor's role (e.g., Main Contributor, Reviewer) using Planner's metadata about +when a user was assigned to a task. In cases where this cannot be determined reliably, the 'Role' +cell is intentionally left blank to avoid providing inaccurate information. + +| Name | Role | Task | Attachments | +| --------------------------------------- | ---------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ANANDIKA RAJEEV | Reviewer | Random Color - Color - Usage Example Creation | [PR#578](https://github.com/thoth-tech/splashkit.io-starlight/pull/578/files) | +| ANANDIKA RAJEEV | Main Contributor | Update GPIO tutorials to support new Remote GPIO Module | | +| ANANDIKA RAJEEV | Reviewer | Option Part Bmp - Graphics - Usage Example Creation | [PR#599](https://github.com/thoth-tech/splashkit.io-starlight/pull/599) | +| ANANDIKA RAJEEV | | Display Dialog Tutorial - Utilities- Usage Example Creation | [PR#639](https://github.com/thoth-tech/splashkit.io-starlight/pull/639) | +| ANANDIKA RAJEEV | Main Contributor | Distant Point on Circle - Geometry - Usage Example Creation | [PR#626](https://github.com/thoth-tech/splashkit.io-starlight/pull/626) | +| ANANDIKA RAJEEV | Main Contributor | Identify and Move Documentation to Thoth Tech Documentation Site | [PR#147](https://github.com/thoth-tech/ThothTech-Documentation-%20Website/pull/147) | +| ANANDIKA RAJEEV | Reviewer | Option Scale Bmp - Graphics - Usage Example Creation | [PR#604](https://github.com/thoth-tech/splashkit.io-starlight/pull/604) | +| ANISH SAMPSON | Reviewer | Popular Tutorial Suggestions | | +| ANISH SAMPSON | Main Contributor | Option Flip X - Graphics - Usage Example Creation | [PR#600](https://github.com/thoth-tech/splashkit.io-starlight/pull/600) | +| ANISH SAMPSON | Main Contributor | Bitmap Bounding Circle - Graphics - Usage Example Creation | [PR#577](https://github.com/thoth-tech/splashkit.io-starlight/pull/577) | +| ANISH SAMPSON | Main Contributor | Option Rotate Bmp - Graphics - Usage Example Creation | [PR#603](https://github.com/thoth-tech/splashkit.io-starlight/pull/603) | +| ANISH SAMPSON | Main Contributor | Option Flip Y - Graphics - Usage Example Creation | [PR#602](https://github.com/thoth-tech/splashkit.io-starlight/pull/602) | +| ANISH SAMPSON | Main Contributor | Option Flip Xy - Graphics - Usage Example Creation | [PR#601](https://github.com/thoth-tech/splashkit.io-starlight/pull/601) | +| ANISH SAMPSON | Main Contributor | Bitmap Width - Graphics - Usage Example Creation | [PR#592](https://github.com/thoth-tech/splashkit.io-starlight/pull/592) | +| ANISH SAMPSON | Main Contributor | Get Font Style - Graphics - Usage Example Creation | [PR#596](https://github.com/thoth-tech/splashkit.io-starlight/pull/596) | +| ANISH SAMPSON | Main Contributor | Bitmap Height - Graphics - Usage Example Creation | [PR#588](https://github.com/thoth-tech/splashkit.io-starlight/pull/588) | +| ANISH SAMPSON | Main Contributor | Display Width - Graphics - Usage Example Creation | [PR#597](https://github.com/thoth-tech/splashkit.io-starlight/pull/597) | +| ANISH SAMPSON | Main Contributor | Bitmap Name - Graphics - Usage Example Creation | [PR#586](https://github.com/thoth-tech/splashkit.io-starlight/pull/586) | +| ANISH SAMPSON | Main Contributor | Screen Height - Graphics - Usage Example Creation | [PR#595](https://github.com/thoth-tech/splashkit.io-starlight/pull/595) | +| ANISH SAMPSON | Main Contributor | Save Bitmap - Graphics - Usage Example Creation | [PR#610](https://github.com/thoth-tech/splashkit.io-starlight/pull/610) | +| ANISH SAMPSON | Main Contributor | Screen Width - Graphics - Usage Example Creation | [PR#594](https://github.com/thoth-tech/splashkit.io-starlight/pull/594) | +| ANISH SAMPSON | Main Contributor | Mouse Wheel Scroll - Graphics - Usage Example Creation | [PR#632](https://github.com/thoth-tech/splashkit.io-starlight/pull/632) | +| ANISH SAMPSON | Main Contributor | Saturation Of - Graphics - Usage Example Creation | [PR#607](https://github.com/thoth-tech/splashkit.io-starlight/pull/607) | +| ANISH SAMPSON | Main Contributor | Take Screenshot - Graphics - Usage Example Creation | [PR#629](https://github.com/thoth-tech/splashkit.io-starlight/pull/629) | +| ANISH SAMPSON | Main Contributor | Bitmap Bounding Rectangle - Graphics - Usage Example Creation | [PR#584](https://github.com/thoth-tech/splashkit.io-starlight/pull/584) | +| ANISH SAMPSON | Main Contributor | Text Height - Graphics - Usage Example Creation | [PR#625](https://github.com/thoth-tech/splashkit.io-starlight/pull/625) | +| ANISH SAMPSON | Main Contributor | Option Scale Bmp - Graphics - Usage Example Creation | [PR#604](https://github.com/thoth-tech/splashkit.io-starlight/pull/604) | +| ANISH SAMPSON | Main Contributor | Set Font Style - Graphics - Usage Example Creation | [PR#593](https://github.com/thoth-tech/splashkit.io-starlight/pull/593) | +| ANISH SAMPSON | Main Contributor | String To Color - Graphics - Usage Example Creation | [PR#606](https://github.com/thoth-tech/splashkit.io-starlight/pull/606) | +| ANISH SAMPSON | Main Contributor | Bitmap Center - Graphics - Usage Example Creation | [PR#585](https://github.com/thoth-tech/splashkit.io-starlight/pull/585) | +| ANISH SAMPSON | Main Contributor | Option Part Bmp - Graphics - Usage Example Creation | [PR#599](https://github.com/thoth-tech/splashkit.io-starlight/pull/599) | +| ANISH SAMPSON | Main Contributor | Rectangle Around - Geometry - Usage Example Creation | [PR#640](https://github.com/thoth-tech/splashkit.io-starlight/pull/640) | +| ANISH SAMPSON | Main Contributor | Rgba Color - Graphics - Usage Example Creation | [PR#605](https://github.com/thoth-tech/splashkit.io-starlight/pull/605) | +| ANISH SAMPSON | | GA4 Frontend Tracking Implementation | | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Ray Circle Intersect Distance - Geometry - Usage Example Creation | [PR#648](https://github.com/thoth-tech/splashkit.io-starlight/pull/648#issue-3436430045) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Organize terminal write examples into subfolders #12 | [PR#12](https://github.com/222448082Ashen/splashkit.io-starlight/pull/12) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | sprites guide and update scripts for new group #9 | [PR#9](https://github.com/222448082Ashen/splashkit.io-starlight/pull/9) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Rectangle to String - Geometry - Usage Example Creation | [PR#621](https://github.com/thoth-tech/splashkit.io-starlight/pull/621#issue-3380674396) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Add usage examples for SplashKit audio functions: play_music_named and resume_music | [PR#3](https://github.com/222448082Ashen/splashkit.io-starlight/pull/3) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Add button click detection usage examples #7 | [PR#7](https://github.com/222448082Ashen/splashkit.io-starlight/pull/7) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Replace All Tutorial - Utilities- Usage Example Creation | [PR#647](https://github.com/thoth-tech/splashkit.io-starlight/pull/647#issue-3436424515) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | KeyDown usage example and documentation for SplashKit input functions | [PR#8](https://github.com/222448082Ashen/splashkit.io-starlight/pull/8) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Graphics Function Implementation #611 | [PR#611](https://github.com/thoth-tech/splashkit.io-starlight/pull/611) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Usage Example for create_animation Function | [PR#2](https://github.com/222448082Ashen/splashkit.io-starlight/pull/2) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | camera movement usage example and resources | [PR#4](https://github.com/222448082Ashen/splashkit.io-starlight/pull/4) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | create_animation_from_script_named - Animations - Usage Example Creation | [PR#644](https://github.com/thoth-tech/splashkit.io-starlight/pull/644#issue-3433378356) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Add KeyDown usage example and documentation for SplashKit input functions | [PR#645](https://github.com/thoth-tech/splashkit.io-starlight/pull/645) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Add documentation for SplashKit geometry usage examples | [PR#6](https://github.com/222448082Ashen/splashkit.io-starlight/pull/6) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Organize physics usage examples into subfolders | [PR#14](https://github.com/222448082Ashen/splashkit.io-starlight/pull/14) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Update GPIO "Reading Analog Signal" guide to use new ADC functionality | [PR#630](https://github.com/thoth-tech/splashkit.io-starlight/pull/630#issue-3394368538) | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | Reviewer | Modify PWM through button presses Tutorial - C# Language Update | | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | Update GPIO tutorials to support new Remote GPIO Module | | +| ASHEN THARUKA DESAN MANAMALAGE FERNANDO | | usage Example System implementation | | +| AYUSH SHRINIVAS INDAPURE | | Redesigning the Announcement page | | +| AYUSH SHRINIVAS INDAPURE | | Getting Started Creating User Interfaces - Landing Page | | +| AYUSH SHRINIVAS INDAPURE | | Tutorial Review/Update: Styling User Interface of Hero Figma | | +| AYUSH SHRINIVAS INDAPURE | | Trying to Improving Error Message Clarity | | +| AYUSH SHRINIVAS INDAPURE | Main Contributor | Refining Landing Page and Announcement Design for Better Engagement | [PR#583](https://github.com/thoth-tech/splashkit.io-starlight/pull/583) | +| AYUSH SHRINIVAS INDAPURE | | Option Flip Xy - Graphics - Usage Example Creation | [PR#601](https://github.com/thoth-tech/splashkit.io-starlight/pull/601) | +| AYUSH SHRINIVAS INDAPURE | | usage examples | | +| AYUSH SHRINIVAS INDAPURE | Reviewer | Features page | [PR#35](https://github.com/splashkit/splashkit.io-starlight/pull/35) | +| AYUSH SHRINIVAS INDAPURE | | Added a Assistance Center | | +| AYUSH SHRINIVAS INDAPURE | Reviewer | Add "remote" ADC functions | [PR#130](https://github.com/thoth-tech/splashkit-core/pull/130) | +| CONNOR JACOB CLANCY | Main Contributor | Investigate issues with running tests in MSYS2 | [PR#132](https://github.com/thoth-tech/splashkit-core/pull/132) | +| CONNOR JACOB CLANCY | Reviewer | Add Missing HeaderDocs for Miscellaneous Functions | [PR#117](https://github.com/thoth-tech/splashkit-core/pull/117) | +| CONNOR JACOB CLANCY | Main Contributor | Investigate font_load_size and font_has_size use/need | [PR#136](https://github.com/thoth-tech/splashkit-core/pull/136) | +| CONNOR JACOB CLANCY | Main Contributor | Unit tests - json_read_number | [PR#122](https://github.com/thoth-tech/splashkit-core/pull/122) | +| CONNOR JACOB CLANCY | Reviewer | Fix CMake presets not working with versions older than 3.28 | [PR#135](https://github.com/thoth-tech/splashkit-core/pull/135) | +| CONNOR JACOB CLANCY | Reviewer | Fixed a typo in page generation script | [PR#631](https://github.com/thoth-tech/splashkit.io-starlight/pull/631) | +| DANIEL CARROLL-LEONARD | | Draw Line on Window Point-To-Point #659 | [PR#585](https://github.com/thoth-tech/splashkit.io-starlight/pull/585) | +| DANIEL CARROLL-LEONARD | | Bitmap Bounding Circle - Graphics - Usage Example Creation | [PR#577](https://github.com/thoth-tech/splashkit.io-starlight/pull/577) | +| DANIEL CARROLL-LEONARD | Main Contributor | Fix CMake presets not working with versions older than 3.28 | [PR#135](https://github.com/thoth-tech/splashkit-core/pull/135) | +| DANIEL CARROLL-LEONARD | Main Contributor | Unit tests - resource bundles & bug fix | [PR#131](https://github.com/thoth-tech/splashkit-core/pull/131) | +| DANIEL CARROLL-LEONARD | | Unit testing - Identify tests that can be moved to skunit_tests from sktest | https://github.com/thoth-tech/splashkit-core/issues/133#issue-3420481150 | +| DANIEL CARROLL-LEONARD | | Unit tests - hsb_color improvements | [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120); [PR#128](https://github.com/thoth-tech/splashkit-core/pull/128) | +| DANIEL CARROLL-LEONARD | | Unit tests - hsb_color | [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120)/files/d7e6a3ffc8453720cff2ceebb12346b0d54cf277; [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120) | +| DANIEL CARROLL-LEONARD | | Update unit testing guide | | +| DANIEL CARROLL-LEONARD | Main Contributor | Unit tests - Camera | [PR#123](https://github.com/thoth-tech/splashkit-core/pull/123) | +| DANIEL CARROLL-LEONARD | | splashkit-core testing tutorial videos | | +| DANIEL CARROLL-LEONARD | Reviewer | Screen Width - Graphics - Usage Example Creation | [PR#594](https://github.com/thoth-tech/splashkit.io-starlight/pull/594) | +| DANIEL CARROLL-LEONARD | | Investigate functions with repeated suffixes | [PR#121](https://github.com/thoth-tech/splashkit-core/pull/121#pullrequestreview-3091201254); [PR#121](https://github.com/thoth-tech/splashkit-core/pull/121) | +| DANIEL CARROLL-LEONARD | | Unit tests - bitmap_name | [PR#125](https://github.com/thoth-tech/splashkit-core/pull/125) | +| DANIEL CARROLL-LEONARD | Reviewer | Unit tests - json_read_number | [PR#122](https://github.com/thoth-tech/splashkit-core/pull/122) | +| DANIEL CARROLL-LEONARD | | Review new motor and servo GPIO functions | [PR#124](https://github.com/thoth-tech/splashkit-core/pull/124) | +| DANIEL CARROLL-LEONARD | Main Contributor | Add code coverage | [PR#146](https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/146); [PR#116](https://github.com/thoth-tech/splashkit-core/pull/116) | +| DANIEL CARROLL-LEONARD | Reviewer | Screen Height - Graphics - Usage Example Creation | [PR#595](https://github.com/thoth-tech/splashkit.io-starlight/pull/595) | +| DANIEL CARROLL-LEONARD | | Bitmap Center - Graphics - Usage Example Creation | [PR#585](https://github.com/thoth-tech/splashkit.io-starlight/pull/585) | +| DANIEL CARROLL-LEONARD | Reviewer | Bitmap Bounding Rectangle - Graphics - Usage Example Creation | [PR#584](https://github.com/thoth-tech/splashkit.io-starlight/pull/584) | +| DHRUV JANGHU | Reviewer | [SplashKit Website] Games Showcase page | [PR#569](https://github.com/thoth-tech/splashkit.io-starlight/pull/569) | +| DHRUV JANGHU | Reviewer | Update/Continue Getting Started with Sprites Tutorial | [PR#563](https://github.com/thoth-tech/splashkit.io-starlight/pull/563) | +| DHRUV JANGHU | Reviewer | Draw circle - fill toggle #636 | | +| DHRUV JANGHU | Reviewer | Circle Triangle Intersect - Geometry - Usage Example Creation | [PR#638](https://github.com/thoth-tech/splashkit.io-starlight/pull/638) | +| DHRUV JANGHU | Reviewer | Usage Example: Option Scale Bitmap #658 | [PR#584](https://github.com/thoth-tech/splashkit.io-starlight/pull/584) | +| DHRUV JANGHU | Main Contributor | Color Slider - Interface - Usage Example Creation | [PR#641](https://github.com/thoth-tech/splashkit.io-starlight/pull/641) | +| DHRUV JANGHU | Reviewer | Bitmap Name - Graphics - Usage Example Creation | [PR#586](https://github.com/thoth-tech/splashkit.io-starlight/pull/586) | +| DHRUV JANGHU | Reviewer | Bitmap Height - Graphics - Usage Example Creation | [PR#588](https://github.com/thoth-tech/splashkit.io-starlight/pull/588) | +| DHRUV JANGHU | | Unit tests - json_read_number | [PR#122](https://github.com/thoth-tech/splashkit-core/pull/122) | +| DHRUV JANGHU | | Least Common Multiple Tutorial - Utilities- Usage Example Creation | [PR#660](https://github.com/thoth-tech/splashkit.io-starlight/pull/660) | +| DHRUV JANGHU | | Split [Text] Tutorial - Utilities- Usage Example Creation | | +| DHRUV JANGHU | | Greatest Common Divisor Tutorial - Utilities- Usage Example Creation | | +| DHRUV JANGHU | | File As Tutorial Tutorial - Utilities- Usage Example Creation | | +| DHRUV JANGHU | Reviewer | Save Bitmap - Graphics - Usage Example Creation | [PR#610](https://github.com/thoth-tech/splashkit.io-starlight/pull/610) | +| DHRUV JANGHU | Reviewer | Option to world # | | +| DHRUV JANGHU | Reviewer | Usage example is integer #657 | | +| HAOXUAN YUAN | Main Contributor | Tutorial Review/Update: Animation | [PR#598](https://github.com/thoth-tech/splashkit.io-starlight/pull/598); [PR#576](https://github.com/thoth-tech/splashkit.io-starlight/pull/576) | +| HAOXUAN YUAN | Reviewer | Set Font Style - Graphics - Usage Example Creation | [PR#593](https://github.com/thoth-tech/splashkit.io-starlight/pull/593) | +| HAOXUAN YUAN | Main Contributor | Popular Tutorial Suggestions | | +| HAOXUAN YUAN | Main Contributor | Add Language Switcher and Chinese Localization to SplashKit Website | [PR#582](https://github.com/thoth-tech/splashkit.io-starlight/pull/582) | +| HAOYU LIU | | Tutorial Review/Update: Routing With Servers | [PR#622](https://github.com/thoth-tech/documentation/pull/622) | +| HAOYU LIU | | Tower defended games development | | +| HAOYU LIU | | Long-term optimization of the document | | +| HAOYU LIU | | Add Language Switcher and Chinese Localization to SplashKit Website | [PR#582](https://github.com/thoth-tech/splashkit.io-starlight/pull/582) | +| HAOYU LIU | | Optimize the instruction document | | +| HAOYU LIU | Main Contributor | Consolidate Arcade Machine documentation to .md files in repo | [PR#83](https://github.com/thoth-tech/arcade-machine/pull/83) | +| HAOYU LIU | Reviewer | Tutorial Review/Update: How to make a RESTful API call using SplashKit | [PR#624](https://github.com/thoth-tech/documentation/pull/624) | +| HAOYU LIU | | Arcade machines are running very old builds | | +| JAYDEN DUONG | | Bug testing C++ | | +| JAYDEN DUONG | | Add Project Export | | +| JOSH FERNANDES | | Unit tests - json_set_number | [PR#129](https://github.com/thoth-tech/splashkit-core/pull/129) | +| JOSH FERNANDES | Reviewer | Unit tests - Camera | [PR#123](https://github.com/thoth-tech/splashkit-core/pull/123) | +| JOSH FERNANDES | | Unit tests - json_read_number | [PR#122](https://github.com/thoth-tech/splashkit-core/pull/122) | +| JOSH FERNANDES | Reviewer | Investigate font_load_size and font_has_size use/need | [PR#136](https://github.com/thoth-tech/splashkit-core/pull/136) | +| JOSH FERNANDES | | Revise Pigpio to WiringPi Code From Last Trimester | [PR#212](https://github.com/splashkit/splashkit-core/pull/212) | +| JOSH FERNANDES | Reviewer | Unit tests - resource bundles & bug fix | [PR#131](https://github.com/thoth-tech/splashkit-core/pull/131) | +| JOSH FERNANDES | Reviewer | Revise unit tests so that they can be run independently | [PR#594](https://github.com/thoth-tech/documentation/pull/594) | +| JOSH FERNANDES | Reviewer | Investigate issues with running tests in MSYS2 | [PR#132](https://github.com/thoth-tech/splashkit-core/pull/132) | +| JOSH FERNANDES | Reviewer | Refactor Bitmap Unit Tests | [PR#134](https://github.com/thoth-tech/splashkit-core/pull/134) | +| JOSH FERNANDES | Main Contributor | Add "remote" ADC functions | [PR#130](https://github.com/thoth-tech/splashkit-core/pull/130) | +| JULIAN BURTON | Reviewer | Bitmap Width - Graphics - Usage Example Creation | [PR#592](https://github.com/thoth-tech/splashkit.io-starlight/pull/592) | +| JULIAN BURTON | Reviewer | Display Width - Graphics - Usage Example Creation | [PR#597](https://github.com/thoth-tech/splashkit.io-starlight/pull/597) | +| JULIAN BURTON | Main Contributor | Current Window Width - Windows - Usage Example Creation | [PR#635](https://github.com/thoth-tech/splashkit.io-starlight/pull/635) | +| JULIAN BURTON | Reviewer | String To Color - Graphics - Usage Example Creation | [PR#606](https://github.com/thoth-tech/splashkit.io-starlight/pull/606) | +| JULIAN BURTON | Main Contributor | Close Window - Windows - Usage Example Creation | [PR#573](https://github.com/thoth-tech/splashkit.io-starlight/pull/573) | +| JULIAN BURTON | Reviewer | Rectangle Around - Geometry - Usage Example Creation | [PR#640](https://github.com/thoth-tech/splashkit.io-starlight/pull/640) | +| JULIAN BURTON | Main Contributor | Clear Window - Windows - Usage Example Creation | [PR#572](https://github.com/thoth-tech/splashkit.io-starlight/pull/572) | +| JULIAN BURTON | Main Contributor | Current Window Height - Windows - Usage Example Creation | [PR#634](https://github.com/thoth-tech/splashkit.io-starlight/pull/634) | +| JULIAN BURTON | Main Contributor | Move Window To - Windows - Usage Example Creation | [PR#633](https://github.com/thoth-tech/splashkit.io-starlight/pull/633) | +| MATTHEW JONATHAN SUTRISNO | Main Contributor | Unit tests - hsb_color | [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120)/files/d7e6a3ffc8453720cff2ceebb12346b0d54cf277; [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120) | +| MATTHEW JONATHAN SUTRISNO | Reviewer | Unit tests - bitmap_name | [PR#125](https://github.com/thoth-tech/splashkit-core/pull/125) | +| MATTHEW JONATHAN SUTRISNO | Main Contributor | Unit tests - json_set_number | [PR#129](https://github.com/thoth-tech/splashkit-core/pull/129) | +| MATTHEW JONATHAN SUTRISNO | Main Contributor | Unit tests - hsb_color improvements | [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120); [PR#128](https://github.com/thoth-tech/splashkit-core/pull/128) | +| MATTHEW JONATHAN SUTRISNO | | Unit tests - Camera | [PR#123](https://github.com/thoth-tech/splashkit-core/pull/123) | +| MUHAMMAD DANIAL | Reviewer | Rgba Color - Graphics - Usage Example Creation | [PR#605](https://github.com/thoth-tech/splashkit.io-starlight/pull/605) | +| MUHAMMAD DANIAL | | Base64 Encode - Utilities- Usage Example Creation | | +| MUHAMMAD DANIAL | | Random Color - Color - Usage Example Creation | [PR#578](https://github.com/thoth-tech/splashkit.io-starlight/pull/578/files) | +| MUHAMMAD DANIAL | | Base64 Decode - Utilities - Usage Example Creation | | +| MUHAMMAD DANIAL | Reviewer | Take Screenshot - Graphics - Usage Example Creation | [PR#629](https://github.com/thoth-tech/splashkit.io-starlight/pull/629) | +| OLIVER ALEXANDER QUAIL | Reviewer | Add demo C# game | [PR#129](https://github.com/thoth-tech/SplashkitOnline/pull/129) | +| OLIVER ALEXANDER QUAIL | Reviewer | Document Theme creation process | [PR#133](https://github.com/thoth-tech/SplashkitOnline/pull/133) | +| OLIVER ALEXANDER QUAIL | Reviewer | Update/Continue Shape Modelling Tutorial (previously started) | [PR#580](https://github.com/thoth-tech/splashkit.io-starlight/pull/580) | +| OLIVER ALEXANDER QUAIL | | Add Missing HeaderDocs for Miscellaneous Functions | [PR#117](https://github.com/thoth-tech/splashkit-core/pull/117) | +| OLIVER ALEXANDER QUAIL | Main Contributor | Fix CPP in new file structure | [PR#128](https://github.com/thoth-tech/SplashkitOnline/pull/128) | +| OLIVER ALEXANDER QUAIL | Reviewer | Improve C# documentation | [PR#134](https://github.com/thoth-tech/SplashkitOnline/pull/134) | +| OLIVER ALEXANDER QUAIL | Reviewer | Update/Continue Dynamic Camera Control Tutorial | [PR#567](https://github.com/thoth-tech/splashkit.io-starlight/pull/567) | +| OLIVER ALEXANDER QUAIL | Reviewer | Add themes menu | [PR#132](https://github.com/thoth-tech/SplashkitOnline/pull/132) | +| OLIVER ALEXANDER QUAIL | Reviewer | Option Rotate Bmp - Graphics - Usage Example Creation | [PR#603](https://github.com/thoth-tech/splashkit.io-starlight/pull/603) | +| OLIVER ALEXANDER QUAIL | Reviewer | Investigate functions with repeated suffixes | [PR#121](https://github.com/thoth-tech/splashkit-core/pull/121#pullrequestreview-3091201254); [PR#121](https://github.com/thoth-tech/splashkit-core/pull/121) | +| OLIVER ALEXANDER QUAIL | Reviewer | Mouse Wheel Scroll - Graphics - Usage Example Creation | [PR#632](https://github.com/thoth-tech/splashkit.io-starlight/pull/632) | +| OLIVER ALEXANDER QUAIL | | Update README.md to add C# setup instructions | [PR#127](https://github.com/thoth-tech/SplashkitOnline/pull/127) | +| OLIVER ALEXANDER QUAIL | Main Contributor | Add guide for adding demos to SK Online | [PR#131](https://github.com/thoth-tech/SplashkitOnline/pull/131) | +| OLIVER ALEXANDER QUAIL | Reviewer | Draw Line on Window Point-To-Point #659 | [PR#585](https://github.com/thoth-tech/splashkit.io-starlight/pull/585) | +| OLIVER ALEXANDER QUAIL | | Tutorial Review/Update: Routing With Servers | [PR#622](https://github.com/thoth-tech/documentation/pull/622) | +| OLIVER ALEXANDER QUAIL | Reviewer | Consolidate Arcade Machine documentation to .md files in repo | [PR#83](https://github.com/thoth-tech/arcade-machine/pull/83) | +| OLIVER ALEXANDER QUAIL | Reviewer | Add Missing HeaderDocs for Bitmap Functions | [PR#118](https://github.com/thoth-tech/splashkit-core/pull/118) | +| OLIVER ALEXANDER QUAIL | | Update documentation to reflect new file structure | | +| OLIVER ALEXANDER QUAIL | | Automate binding generation for C# | [PR#135](https://github.com/thoth-tech/SplashkitOnline/pull/135) | +| OLIVER ALEXANDER QUAIL | Reviewer | Bitmap Center - Graphics - Usage Example Creation | [PR#585](https://github.com/thoth-tech/splashkit.io-starlight/pull/585) | +| PAAVAN KALRA | | Close Window - Windows - Usage Example Creation | [PR#573](https://github.com/thoth-tech/splashkit.io-starlight/pull/573) | +| PAAVAN KALRA | Main Contributor | Line Intersects Rectangle - Geometery - Usage Example Creation | [PR#579](https://github.com/thoth-tech/splashkit.io-starlight/pull/579) | +| PAAVAN KALRA | Main Contributor | Circle Triangle Intersect - Geometry - Usage Example Creation | [PR#638](https://github.com/thoth-tech/splashkit.io-starlight/pull/638) | +| PAAVAN KALRA | Reviewer | Distant Point on Circle - Geometry - Usage Example Creation | [PR#626](https://github.com/thoth-tech/splashkit.io-starlight/pull/626) | +| PAAVAN KALRA | Main Contributor | Closest Point On Line - Geometry - Usage Example Creation | [PR#565](https://github.com/thoth-tech/splashkit.io-starlight/pull/565/files) | +| PAAVAN KALRA | Reviewer | Usage Example Creation - Set clip drag to select #581 | | +| PAAVAN KALRA | Reviewer | Tutorial Review/Update: Animation | [PR#598](https://github.com/thoth-tech/splashkit.io-starlight/pull/598); [PR#576](https://github.com/thoth-tech/splashkit.io-starlight/pull/576) | +| PAAVAN KALRA | Reviewer | Usage Example Creation - Push Clip | | +| PAAVAN KALRA | Reviewer | Text Height - Graphics - Usage Example Creation | [PR#625](https://github.com/thoth-tech/splashkit.io-starlight/pull/625) | +| PAAVAN KALRA | Reviewer | Option Flip Xy - Graphics - Usage Example Creation | [PR#601](https://github.com/thoth-tech/splashkit.io-starlight/pull/601) | +| PAAVAN KALRA | | Update/Continue Dynamic Camera Control Tutorial | [PR#567](https://github.com/thoth-tech/splashkit.io-starlight/pull/567) | +| PAAVAN KALRA | Reviewer | Move Window To - Windows - Usage Example Creation | [PR#633](https://github.com/thoth-tech/splashkit.io-starlight/pull/633) | +| PAAVAN KALRA | Reviewer | Clear Window - Windows - Usage Example Creation | [PR#572](https://github.com/thoth-tech/splashkit.io-starlight/pull/572) | +| PAAVAN KALRA | Reviewer | Current Window Height - Windows - Usage Example Creation | [PR#634](https://github.com/thoth-tech/splashkit.io-starlight/pull/634) | +| PAAVAN KALRA | Reviewer | Current Window Width - Windows - Usage Example Creation | [PR#635](https://github.com/thoth-tech/splashkit.io-starlight/pull/635) | +| PAAVAN KALRA | | Rectangle Around - Geometry - Usage Example Creation | [PR#640](https://github.com/thoth-tech/splashkit.io-starlight/pull/640) | +| PAAVAN KALRA | Reviewer | Color Slider - Interface - Usage Example Creation | [PR#641](https://github.com/thoth-tech/splashkit.io-starlight/pull/641) | +| PAAVAN KALRA | Main Contributor | Random Color - Color - Usage Example Creation | [PR#578](https://github.com/thoth-tech/splashkit.io-starlight/pull/578/files) | +| PAAVAN KALRA | | Tutorial: Beginner Game Tutorial - Flappy Bird | [PR#642](https://github.com/thoth-tech/splashkit.io-starlight/pull/642) | +| PAAVAN KALRA | Reviewer | Option Flip X - Graphics - Usage Example Creation | [PR#600](https://github.com/thoth-tech/splashkit.io-starlight/pull/600) | +| PAAVAN KALRA | | String To Color - Graphics - Usage Example Creation | [PR#606](https://github.com/thoth-tech/splashkit.io-starlight/pull/606) | +| PAAVAN KALRA | | Update/Continue Shape Modelling Tutorial (previously started) | [PR#580](https://github.com/thoth-tech/splashkit.io-starlight/pull/580) | +| PAAVAN KALRA | Reviewer | Option Flip Y - Graphics - Usage Example Creation | [PR#602](https://github.com/thoth-tech/splashkit.io-starlight/pull/602) | +| RABAIL AAMIR | Reviewer | Identify and Move Documentation to Thoth Tech Documentation Site | [PR#147](https://github.com/thoth-tech/ThothTech-Documentation-%20Website/pull/147) | +| RABAIL AAMIR | Main Contributor | Add demo C# game | [PR#129](https://github.com/thoth-tech/SplashkitOnline/pull/129) | +| RABAIL AAMIR | Reviewer | Update GPIO tutorials to support new Remote GPIO Module | | +| RABAIL AAMIR | Main Contributor | Document Theme creation process | [PR#133](https://github.com/thoth-tech/SplashkitOnline/pull/133) | +| RABAIL AAMIR | Main Contributor | Improve C# documentation | [PR#134](https://github.com/thoth-tech/SplashkitOnline/pull/134) | +| RABAIL AAMIR | Reviewer | Add guide for adding demos to SK Online | [PR#131](https://github.com/thoth-tech/SplashkitOnline/pull/131) | +| RABAIL AAMIR | | Refactor modal.js | [PR#138](https://github.com/thoth-tech/SplashkitOnline/pull/138) | +| RABAIL AAMIR | Main Contributor | Add themes menu | [PR#132](https://github.com/thoth-tech/SplashkitOnline/pull/132) | +| RABAIL AAMIR | Main Contributor | Features page | [PR#35](https://github.com/splashkit/splashkit.io-starlight/pull/35) | +| RUNQI LIU | Main Contributor | Tutorial Review/Update: How to make a RESTful API call using SplashKit | [PR#624](https://github.com/thoth-tech/documentation/pull/624) | +| RUNQI LIU | Main Contributor | Tutorial Review/Update: Getting Started With Servers | [PR#627](https://github.com/thoth-tech/documentation/pull/627) | +| RUNQI LIU | | 2D RPG games development | [PR#246](https://github.com/thoth-tech/arcade-games/pull/246) | +| RUNQI LIU | | Add Language Switcher and Chinese Localization to SplashKit Website | [PR#582](https://github.com/thoth-tech/splashkit.io-starlight/pull/582) | +| RUNQI LIU | Reviewer | Arcade machines are running very old builds | | +| RUNQI LIU | | Tutorial Review/Update: Animation | [PR#598](https://github.com/thoth-tech/splashkit.io-starlight/pull/598); [PR#576](https://github.com/thoth-tech/splashkit.io-starlight/pull/576) | +| RUNQI LIU | Main Contributor | Tutorial Review/Update: Routing With Servers | [PR#622](https://github.com/thoth-tech/documentation/pull/622) | +| RUNQI LIU | | Consolidate Arcade Machine documentation to .md files in repo | [PR#83](https://github.com/thoth-tech/arcade-machine/pull/83) | +| SAM STAJNKO | Reviewer | Unit tests - hsb_color improvements | [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120); [PR#128](https://github.com/thoth-tech/splashkit-core/pull/128) | +| SAM STAJNKO | Main Contributor | Investigate functions with repeated suffixes | [PR#121](https://github.com/thoth-tech/splashkit-core/pull/121#pullrequestreview-3091201254); [PR#121](https://github.com/thoth-tech/splashkit-core/pull/121) | +| SAM STAJNKO | Reviewer | Unit tests - hsb_color | [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120)/files/d7e6a3ffc8453720cff2ceebb12346b0d54cf277; [PR#120](https://github.com/thoth-tech/splashkit-core/pull/120) | +| SAM STAJNKO | Reviewer | Fix CPP in new file structure | [PR#128](https://github.com/thoth-tech/SplashkitOnline/pull/128) | +| SAM STAJNKO | Main Contributor | Unit tests - bitmap_name | [PR#125](https://github.com/thoth-tech/splashkit-core/pull/125) | +| SAM STAJNKO | Reviewer | Unit tests - json_set_number | [PR#129](https://github.com/thoth-tech/splashkit-core/pull/129) | +| SAM STAJNKO | Reviewer | Add code coverage | [PR#146](https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/146); [PR#116](https://github.com/thoth-tech/splashkit-core/pull/116) | +| SAM STAJNKO | Main Contributor | Refactor Bitmap Unit Tests | [PR#134](https://github.com/thoth-tech/splashkit-core/pull/134) | +| SAM STAJNKO | Main Contributor | Add Missing HeaderDocs for Bitmap Functions | [PR#118](https://github.com/thoth-tech/splashkit-core/pull/118) | +| SAM STAJNKO | Main Contributor | Add Missing HeaderDocs for Miscellaneous Functions | [PR#117](https://github.com/thoth-tech/splashkit-core/pull/117) | +| SANA NOUREEN | | Closest Point On Line - Geometry - Usage Example Creation | [PR#565](https://github.com/thoth-tech/splashkit.io-starlight/pull/565/files) | +| SANA NOUREEN | Main Contributor | Draw Line on Window Point-To-Point #659 | [PR#585](https://github.com/thoth-tech/splashkit.io-starlight/pull/585) | +| SANA NOUREEN | | Clean up existing documentation | | +| SANA NOUREEN | Main Contributor | Usage Example Creation - Push Clip | | +| SANA NOUREEN | Main Contributor | Modify PWM through button presses Tutorial - C# Language Update | | +| SANA NOUREEN | Reviewer | Tutorial: Beginner Game Tutorial - Flappy Bird | [PR#642](https://github.com/thoth-tech/splashkit.io-starlight/pull/642) | +| SANA NOUREEN | Reviewer | Get Font Style - Graphics - Usage Example Creation | [PR#596](https://github.com/thoth-tech/splashkit.io-starlight/pull/596) | +| SANA NOUREEN | Main Contributor | Usage Example: Option Scale Bitmap #658 | [PR#584](https://github.com/thoth-tech/splashkit.io-starlight/pull/584) | +| SANA NOUREEN | Main Contributor | Draw circle - fill toggle #636 | | +| SANA NOUREEN | Main Contributor | Usage Example Creation - Set clip drag to select #581 | | +| SANA NOUREEN | Main Contributor | Usage example is integer #657 | | +| SANA NOUREEN | Main Contributor | Option to world # | | +| SANA NOUREEN | Reviewer | Line Intersects Rectangle - Geometery - Usage Example Creation | [PR#579](https://github.com/thoth-tech/splashkit.io-starlight/pull/579) | +| SANA NOUREEN | | Is Prime Number Tutorial - Utilities- Usage Example Creation | | +| SANA NOUREEN | | Free Bitmap #656 | [PR#585](https://github.com/thoth-tech/splashkit.io-starlight/pull/585) | +| STAN JOVANOVIC | | [TEMPLATE] Tutorial Review/Update: [Tutorial Name] | | +| SUYLANG SOK | | Tutorial Review/Update: How to make a RESTful API call using SplashKit | [PR#624](https://github.com/thoth-tech/documentation/pull/624) | +| SUYLANG SOK | | Fixed a typo in page generation script | [PR#631](https://github.com/thoth-tech/splashkit.io-starlight/pull/631) | +| VISHNU VENGADESWARAN | | Mouse Wheel Scroll - Graphics - Usage Example Creation | [PR#632](https://github.com/thoth-tech/splashkit.io-starlight/pull/632) | +| VISHNU VENGADESWARAN | Reviewer | Saturation Of - Graphics - Usage Example Creation | [PR#607](https://github.com/thoth-tech/splashkit.io-starlight/pull/607) | +| VISHNU VENGADESWARAN | Main Contributor | Fixed a typo in page generation script | [PR#631](https://github.com/thoth-tech/splashkit.io-starlight/pull/631) | +| VISHNU VENGADESWARAN | Main Contributor | Tutorial: Beginner Game Tutorial - Flappy Bird | [PR#642](https://github.com/thoth-tech/splashkit.io-starlight/pull/642) | +| VISHNU VENGADESWARAN | | Get Font Style - Graphics - Usage Example Creation | [PR#596](https://github.com/thoth-tech/splashkit.io-starlight/pull/596) | +| VISHNU VENGADESWARAN | | Line Intersects Rectangle - Geometery - Usage Example Creation | [PR#579](https://github.com/thoth-tech/splashkit.io-starlight/pull/579) | +| VISHNU VENGADESWARAN | | Tutorial Review/Update: How to make a RESTful API call using SplashKit | [PR#624](https://github.com/thoth-tech/documentation/pull/624) | +| VISHNU VENGADESWARAN | | Option Rotate Bmp - Graphics - Usage Example Creation | [PR#603](https://github.com/thoth-tech/splashkit.io-starlight/pull/603) | +| VISHNU VENGADESWARAN | Reviewer | Close Window - Windows - Usage Example Creation | [PR#573](https://github.com/thoth-tech/splashkit.io-starlight/pull/573) | +| VISHNU VENGADESWARAN | Reviewer | Refining Landing Page and Announcement Design for Better Engagement | [PR#583](https://github.com/thoth-tech/splashkit.io-starlight/pull/583) | +| VISHNU VENGADESWARAN | Main Contributor | Update/Continue Dynamic Camera Control Tutorial | [PR#567](https://github.com/thoth-tech/splashkit.io-starlight/pull/567) | +| VISHNU VENGADESWARAN | | Popular Tutorial Suggestions | | +| VISHNU VENGADESWARAN | Main Contributor | Update/Continue Getting Started with Sprites Tutorial | [PR#563](https://github.com/thoth-tech/splashkit.io-starlight/pull/563) | +| VISHNU VENGADESWARAN | Main Contributor | [SplashKit Website] Games Showcase page | [PR#569](https://github.com/thoth-tech/splashkit.io-starlight/pull/569) | +| VISHNU VENGADESWARAN | Reviewer | Closest Point On Line - Geometry - Usage Example Creation | [PR#565](https://github.com/thoth-tech/splashkit.io-starlight/pull/565/files) | +| VISHNU VENGADESWARAN | Reviewer | Add Language Switcher and Chinese Localization to SplashKit Website | [PR#582](https://github.com/thoth-tech/splashkit.io-starlight/pull/582) | +| VISHNU VENGADESWARAN | | Text Height - Graphics - Usage Example Creation | [PR#625](https://github.com/thoth-tech/splashkit.io-starlight/pull/625) | +| VISHNU VENGADESWARAN | Main Contributor | Update/Continue Shape Modelling Tutorial (previously started) | [PR#580](https://github.com/thoth-tech/splashkit.io-starlight/pull/580) | +| VISHNU VENGADESWARAN | Reviewer | Bitmap Bounding Circle - Graphics - Usage Example Creation | [PR#577](https://github.com/thoth-tech/splashkit.io-starlight/pull/577) | +| WEI ZHANG | Reviewer | Tutorial Review/Update: Getting Started With Servers | [PR#627](https://github.com/thoth-tech/documentation/pull/627) | +| WEI ZHANG | | Consolidate Arcade Machine documentation to .md files in repo | [PR#83](https://github.com/thoth-tech/arcade-machine/pull/83) | +| WEI ZHANG | Main Contributor | Arcade machines are running very old builds | | +| WEI ZHANG | Reviewer | Tutorial Review/Update: Routing With Servers | [PR#622](https://github.com/thoth-tech/documentation/pull/622) | +| WEI ZHANG | | Tetriz game development | [PR#243](https://github.com/thoth-tech/arcade-games/pull/243) | +| WEI ZHANG | | Tetriz game development | [PR#243](https://github.com/thoth-tech/arcade-games/pull/243) | +| WEI ZHANG | | Add Language Switcher and Chinese Localization to SplashKit Website | [PR#582](https://github.com/thoth-tech/splashkit.io-starlight/pull/582) | + +### Roadmap + +#### SplashKit Expansion + +- **Unit Testing Expansion**: Add more unit tests for functions that do not have them yet +- **Add SplashKit to Nuget Packages**: Add the required SplashKit libraries to the existing NuGet + package with a proper icon, description, and documentation of the packaging process. +- **Port SplashKit to Rust**: Port the SplashKit framework to Rust, expanding its accessibility and + allowing developers using Rust to take advantage of SplashKit’s features and capabilities. +- **Investigate Pascal Memory Issues**: Investigate and fix the issues with Pascal programs memory + leaks after compilation with FPC. +- **Invetsigate Unit Testing with Graphics Library**: Investigate different strategies to allow for + unit testing specifically with graphics functionality +- **Update Raspberry Pi Code**: Revise and fix issues with Raspberry Pi code ensuring things are + fixed and the RPi suite is expanded +- **Continue Fixing Suffix Issues**: The fix to the repeated suffixes issue found in some of the + SplashKit functions + +#### SplashKit Website + +- **UI Enhancements**: Continue improving the user interface based on redesign PRs, leveraging + Tailwind CSS, Preline, and existing component libraries for consistency and maintainability. +- **Usage Examples**: Expand coverage of usage examples for the most commonly used SplashKit + functions. +- **Tutorial Development**: Create additional tutorials for the SplashKit website and improve the + clarity and structure of existing tutorials to better support new learners. +- **Netlify Build Process Improvement**: Update the deployment configuration so that builds are only + triggered when necessary, reducing unnecessary build minutes and improving deployment efficiency. +- + +#### SplashKit Online + +- **Pipeline Upgrades**: One of the initivates started this trimester was the reworking of the file + structure to support C# and the new file strcure. Work should be continued to optimise this and + add support for a code checker. +- **Code Checker**: One of the initivates discussed with Hard Hat was a code checker to check code + prior to deployment of games to SK online or to the arcade machine. This should be pursued so that + students in future can more easily deploy games to the site. +- **Improve C++ Support**: C++ has seen improvements this trimester, though more work needs to be + done to find minor issues that are present such as missing header guards ect. Also consider + updating the version of SplashKit used. +- **Imporove C# Support**: While C# support has improved this trimester, more work needs to be done + to implement classes such as Window that will allow for rendering of graphics. +- **Game Upload**: Work should start on adding a easier way for students to add games to the project + without having to rebuild the site. + +#### SplashKit Arcade + +- **Refine SK Arcade Experience**: Focus on the maintenance of the arcade machines, ensuring that + the games on them increase, function correctly, and are free of bugs. + +### Open Issues + +--- diff --git a/src/content/docs/Teams and Contributions/2025 Trimester 2/company-report.mdx b/src/content/docs/Teams and Contributions/2025 Trimester 2/company-report.mdx deleted file mode 100644 index 3e5f24b1..00000000 --- a/src/content/docs/Teams and Contributions/2025 Trimester 2/company-report.mdx +++ /dev/null @@ -1,490 +0,0 @@ ---- -title: Company Structure and Objectives T2 2025 -sidebar: - label: Company Structure and Objectives T2 2025 ---- - -## Executive Summary - -Thoth Tech is an education-focused technology company located in Melbourne, Australia. Thoth Tech’s -mission is to build, operate, and deploy tools that enhance education outcomes by empowering -students, connecting them with tutors, and facilitating personalised learning experiences. - -We value excellence and collaboration. We strive to deliver all our products in exceptional quality, -making sure it is sustainable in the long run. We continuously meet this goal while empowering our -people through established frameworks and a safe and supportive learning environment. - -This report will outline the company structure, objectives, and projects for Trimester 2, 2025. This -trimester, Thoth Tech will be running the two main products: OnTrack and SplashKit. - -## Table of Contents - -## Leadership Team - -### Company Board - -- Josh Kilnic - Company Director -- Andrew Cain - Product Owner (OnTrack & SplashKit) - -### Product Mentors - -- OnTrack: Brian Dang -- SplashKit: Monica Tasmin - -### Student Leadership - -- Ibitope Ebenezer Fatoki - Senior Leader (OnTrack) -- Samindi Situmya Ratnayake Mudiyanselage - Senior Leader (OnTrack) -- Martin John Dolores- Senior Leader (OnTrack) -- Mostafa Nouri - Senior Leader (OnTrack) -- Joseph Kalayathankal Saji - Junior Leader (OnTrack) -- Wael Alahmadi - Junior Leader (OnTrack) -- Brendan Huynh - Junior Leader (OnTrack) -- Joshua Peyton Fernandes - Senior Leader (SplashKit) -- Oliver Alexander Quail - Senior Leader (SplashKit) -- Vishnu Vengadewaran - Senior Leader (SplashKit) -- Paavan Kalra - Senior Leader (SplashKit) -- Haoyu Liu - Junior Leader (SplashKit) -- Runqi Liu - Junior Leader (SplashKit) -- Wei Zhang - Junior Leader (SplashKit) - -## Trimester Goals and Objectives - -This trimester, Thoth Tech aims to achieve the following: - -### Goal 1: Foster Professional Growth and a Collaborative Team Culture - -- **Encourage Lifelong Learning and Skill Development**: Provide a supportive environment where team - members can enhance their technical and interpersonal skills, building a strong foundation for - their careers beyond graduation. -- **Promote Initiative and Teamwork**: Empower team members to take ownership of their work while - fostering a collaborative culture built on shared responsibility and collective success. -- **Establish Consistent Team Processes**: Implement standardized workflows and standards for tools - like Planner and GitHub, along with clear peer review protocols, to improve efficiency and - high-quality across all teams. -- **Develop Clear and Accessible Documentation**: Build comprehensive documentation across all - project areas to support learning, onboarding, and smooth knowledge transfer within and between - teams. -- **Champion Diversity and Inclusivity**: Create an environment where all team members feel valued, - supported, and empowered to reach their full potential, regardless of their background. - -### Goal 2: Strengthen levate and Expand Thoth Tech’s Product Portfolio - -- **Enhance Existing Features and Introduce New Capabilities**: Continuously refine core - functionalities and expand product offerings to align with user needs and Thoth Tech’s vision. -- **Address Critical Bugs and Improve User Experience**: Prioritise key bug fixes and usability - enhancements to maintain a high standard of quality and reliability in all products. -- **Uphold Strong Security and Industry Standards**: Adhere to rigorous security protocols and best - practices to ensure that Thoth Tech’s products are safe, secure, and trustworthy. -- **Promote Research-Informed Innovation**: Encourage well-researched, forward-thinking ideas that - keep Thoth Tech at the forefront of emerging technologies and evolving user needs. - -## Project 1 - OnTrack - -### Overview, Goals, and Objectives - -OnTrack, also known as Doubtfire, is an innovative Learning Management System (LMS) designed -specifically for skill-based course delivery. This platform enhances the connection between tutors -and students, with a primary focus on Deakin University and other global educational institutions. -OnTrack aims to elevate the educational experience by offering a structured, efficient, and -interactive learning environment. The system is crafted to improve student engagement, boost -learning outcomes, and streamline the teaching and learning process, benefiting both students and -educators. - -The OnTrack team is dedicated to continuously improving the platform by working on all planned -deliverables each trimester. While the team strives to complete all objectives, any remaining -deliverables are carried forward, encouraging the next generation of leaders to take ownership and -drive the project forward. This approach ensures the long-term sustainability and evolution of -OnTrack, fostering a culture of responsibility, innovation, and continuous enhancement for the -benefit of future users. - -Additionally, our team aims to maintain the quality of our work and improve the usability of -OnTrack. This includes fixing bugs, improving workflows, and making the platform more accessible for -all users. For example, we worked on adding colour themes to support students with colour blindness, -reducing barriers for those users. We also prioritize documentation and transparency. By keeping -clear records of what’s done, what’s in progress, and what’s next, we make sure new teams can pick -up where we left off without guessing. We understand that documentation saves time, prevents -repeated mistakes, and helps the project grow faster. - -Other key goals include: - -- Responding to feedback – We have a strict peer review process that allows us to learn from each - other. - -- Prompoting sustainability – By writing clean, maintainable code and clear handover notes, we keep - OnTrack stable and ready for future development. - -Our objective is simple: leave OnTrack better than we found it and make the next team’s start -easier. - -### Aims for Trimester - -This trimester, the OnTrack team at Thoth Tech will build upon the foundational work of T2 2025 to -continue modernizing and expanding platform functionality, accessibility, and performance. Our focus -will be on completing high-priority migrations, implementing user-focused features, and reinforcing -system security and documentation standards. The following areas are targeted for completion or -significant progress: - -#### 1. Frontend Migration: AngularJS → Angular 17 - -- **Complete the migration** of remaining legacy components from AngularJS + CoffeeScript to Angular - 17 + TypeScript. -- **Refactor UI components** to match updated design language and improve accessibility (in - conjunction with colour theme work). -- **Test and optimize** performance for responsiveness and maintainability across devices and user - roles. - -#### 2. Accessibility: Colour Themes - -- **Introduce customizable colour themes** with specific presets for various types of colour vision - deficiencies (e.g. deuteranopia, protanopia). -- **Integrate theme selector** into user settings and ensure WCAG 2.1 AA compliance across themes. -- Conduct **user testing** to validate effectiveness and usability of new themes. - -#### 3. Security and Authentication - -- Implement **modular authentication logic** that separates concerns and strengthens isolation of - login/session flows. -- Continue applying **cybersecurity improvements** based on outcomes of the T1 2025 audit and any - new findings. -- Begin formalizing **SSO and mTLS integration** prototypes for future scalability. - -#### 4. Organisational Structure Support - -- **Introduce the concept of Organisations** into OnTrack: allow multiple institutions or units to - operate under a single instance. -- Develop and deploy the **Observer Role** to support administrative oversight without direct - intervention privileges. -- Finalize RBAC mappings and permission sets to ensure scalability and maintain security. - -#### 5. Tutor Activity Tracking - -- Deliver the **Tutor Time Tracking module**: Stopwatch + Manual Input + Analytics dashboard. -- Enable **notifications for time limits** and allow Unit Chairs to access reports via a central - interface. -- Securely store and expose tracking data via authenticated APIs for internal analytics. - -#### 6. Self-Enrolment & Capstone Enhancements - -- Roll out **Student Self-Enrolment** for units and projects. -- Enhance the **Capstone Project Selection tool** with input validation, improved form UI/UX, and - backend CSV export support. - -#### 7. OnTrack Documentation Website - -- Finalize **API reference pages** for frontend and backend endpoints. -- Fill documentation gaps from T1 and begin **“Getting Started” onboarding guide** series. -- Host tutorials and videos to support student and developer use cases. - -#### 8. New Feature Explorations - -- Identify and scope **next-generation feature ideas** (e.g. Panopto integration phase 2, mobile - optimization, AI tutor suggestions). -- Conduct **internal design sprints** and feasibility studies for selected innovations. - -### Deliverables – T2 2025 - -The following deliverables are expected to be completed or reach significant milestones during -Trimester 2, 2025: - -#### 1. Frontend Migration - -- Migration of all legacy AngularJS and CoffeeScript components to Angular 17 and TypeScript. -- Improved UI consistency and accessibility across updated components. -- Performance benchmarking and optimization of migrated views. - -#### 2. Accessibility Enhancements - -- Deployment of configurable colour themes, including presets for various colour blindness types. -- Theme selector integrated into user profile settings. -- Accessibility compliance testing completed and passed (WCAG 2.1 AA baseline). - -#### 3. Security and Authentication Upgrades - -- Modular authentication system developed and integrated. -- Security enhancements implemented based on T1 2025 audit outcomes. -- Baseline groundwork completed for SSO/mTLS experimentation and prototyping. - -#### 4. Multi-Organisation Support - -- Backend schema updated to support multiple organisations. -- Observer Role created and assigned appropriate RBAC permissions. -- Initial organisation switching UI available to admins and superusers. - -#### 5. Tutor Activity Tracking Module - -- Stopwatch and manual time entry system deployed for tutors. -- Alerts implemented for tutors exceeding marking time limits. -- Tutor analytics dashboard available to staff with data pulled from secured API endpoints. - -#### 6. Student Self-Enrolment - -- Self-enrolment UI deployed for units and project-based tasks (e.g. Capstone). -- Improved form validation and CSV export integration for administrative tasks. -- End-to-end testing completed for enrolment workflows. - -#### 7. Staff Grant Extension System - -- Functional staff UI for manually processing extension requests. -- Full CRUD capability for managing extensions stored in the database. -- API endpoints secured and unit-tested. - -#### 8. Documentation Website - -- API reference fully updated with new and refactored endpoints. -- Backend and frontend architecture docs finalized. -- New “Getting Started” guide and walkthroughs published for onboarding. - -#### 9. Exploratory Features (R&D Stage) - -- Capstone Feature 2.0 ideation workshops completed. -- Design sprint prototypes for Panopto Phase 2. -- Internal technical review of feasibility and resource impact for long-term planning. - -### Project Members - -| Member Names | Roles/Responsibilities | Junior/Senior | -| ----------------------- | ---------------------- | ------------- | -| Ibitope Fatoki | Team Leader | Senior | -| Ekamjot Singh | Team Member | Senior | -| Alex Brown | Team Member | Senior | -| Jiaying Chen | Team Member | Senior | -| Martin Dolores | Team Leader | Senior | -| Minh Lam | Team Member | Senior | -| Duy Nguyen | Team Member | Senior | -| Huu Nguyen | Team Member | Senior | -| Mostafa Nouri | Team Leader | Senior | -| Samindi Ratnayake | Team Leader | Senior | -| Lachlan Robinson | Team Member | Senior | -| Jason Vellucci | Team Member | Senior | -| Sahiru Withanage | Team Member | Senior | -| Joshua Bevan | Team Member | Senior | -| Pasindu Fernando | Team Member | Senior | -| Disuru Rathnayake | Team Member | Senior | -| Hasindu Welarathne | Team Member | Senior | -| Rachith Chandrathilake | Team Member | Junior | -| Brendan Huynh | Team Leader | Junior | -| Joshua Talev | Team Leader | Junior | -| Rashi Agrawal | Team Member | Junior | -| Wael Alahmadi | Team Leader | Junior | -| Millicent Amolo | Team Member | Junior | -| Gaurav Myana | Team Member | Junior | -| Samuel Nunes Dos Santos | Team Member | Junior | -| Joseph Saji | Team Leader | Junior | -| Syeda Tabassum | Team Member | Junior | -| Parth Vaghela | Team Member | Junior | - -## Project 2 - SplashKit - -### Overview, Goals, and Objectives - -SplashKit is an open-source software development framework designed to simplify game and application -developement for beginners and students. It was primarily coded in C++ but has since offer supports -for addition languages such as C#, Python, Pascal, and JavaScript. - -SplashKit provides users with a set of pre-built libraries for graphics, sound, input handlindg and -more, making it easier to create interactive applications. It also offers an extensive documentation -and tutorials designed to help students get started quickly and maximise their use of the SDK. This -wealth of resources empowers learners to progress at their own pace and fully explore the -capabilities of SplashKit, making it an invaluable tool for both beginners and more advanced users. - -SplashKit will be running with the following projects during T2 2025: - -#### **SplashKit Website & Tutorials** - -Powered by the Starlight framework, the revamped SplashKit website aims to offer an enriched and -user-friendly experience for developers and learners. The SplashKit Website will also feature -tutorials aimed at helping students learn and explore SplashKit’s functionality. The focus is on -developing smaller, high-quality tutorials across C++, C#, and Python, rather than extensive series. - -#### **SplashKit Expansion** - -The Expansion team is responsible for maintaining and enhancing the SplashKit core. This includes -bug fixes, feature improvements, units testing, and refining installation and usage workflows -through package creation and addressing installation issues. - -#### **SplashKit Online** - -SplashKit Online is developing a web-based IDE that allows students to write and run code directly -in their browsers. Initially launched as a prototype in 2023, the 2025 goal is to mature this tool -into a comprehensive product, including further C# support and refining the embedded version for the -SplashKit website. - -#### **Arcade Machines** - -The university has acquired four arcade machines equipped with Raspberry Pi 3B+ units, designed to -showcase games developed with SplashKit. The short-term goal is to prepare these platforms for -students to display their SplashKit creations. The medium-term goal is to streamline the process for -first-year students to easily upload and test their games. - -### Aims for Trimester - -Trimester Aims for SplashKit Development: - -#### **Expand Project Management Features on SplashKit Online** - -For SplashKit Online, a key objective is to add tools for creating, saving, laoding, and managing -multiple projects with version control. Additionally, version control integration will be -implemented to improve project tracking, collaboration, and organization. - -#### **Improvement of Communication and Coordination between Teams** - -This trimester, we aim to enhance communication and coordination between teams by establishing -clearer workflows, improving cross-team collaboration, and streamlining project management -processes. Our focus will be on implementing structured communication channels, ensuring that -development, testing, and documentation teams are aligned and working efficiently. We will continue -regular stand up meetings, feedback loops, and collaborative tools to facilitate seamless -information sharing and faster issue resolution. - -#### **Develop and Refine Unit Tests for SplashKit** - -To ensure high software quality, we will be looking at developing an array for unit tests for -SplashKit as well as looking into inconsistencies with previous unit tests made to ensure we achieve -the desired outcome and maintain industry standards. - -#### **Improve Project Documentation** - -A key objective this trimester is to enhance project documentation by ensuring all information is -up-to-date and aligned with the current workflow. This will involve regularly reviewing, updating, -and organizing documentation to improve clarity, accessibility, and usability for all team members. - -#### **Expansion of the SplashKit Website Usage Examples and Beyond SplashKit** - -The SplashKit Website team will be attempting to go through the backlogs of Usage Examples to -further enhance the user experience on the site while also creating more resources for Beyond -SplashKit, offering users the opportunity to learn how to code these functions without SplashKit. - -### Priorities - -#### SplashKit Website & Tutorials - -**Trimester Priorities:** - -- **Expand Onboarding Hub**: Continue building the onboarding hub to include information about - learning paths, guides, and tutorial templates to allow for an easier transition. -- **Further Usage Example Expansion**: Create examples for every SplashKit function to improve - accessibility for users. -- **API Documentation Updates**: Further refine the information in the API Documentation page to - improve clarity and accuracy. -- **Advanced Tutorials**: Develop in-depth tutorials on AI and advanced game development topics. - -**Long Term Priorities:** - -- **Tutorials Review and Refinement**: A thorough review of each tutorials to ensure that they are - up-to-date and align with our current standards. -- **Data Analytics Integration**: Integrate data analytics to track the most-viewed pages on the - website, allowing for data-driven decisions. -- **Netlify Build Process Improvement**: Update the configuration of the site deployment so that - each deploys are only built when needed, decreasing build minutes. - -#### SplashKit Expansion - -**Trimester Priorities:** - -- **SplashKit Core Functions**: Create new functions for ray intersection variants. -- **Function Redundancy Analysis**: Investigate the necessity of certain functions to determine - their impact. -- **Unit Test Development**: Design and implement a comprehensive unit test suite to validate the - core functionalities of SplashKit, ensuring reliability across different modules as well as - refining previous unit tests. -- **Bug Indefication and Fixes**: Investigate known and emerging issues within the SplashKit - framework to enhance stability and performance. -- **Improving Raspberry Pi Support**: Enhance GPIO control capabilities and ensure full - compatibility with the latest Raspberry Pi models, expanding SplashKit’s usability in IoT - applications. - -**Long Term Priorities:** - -- **Comprehensive Testing and Bug Fixing**: Develop a thorough test suite covering both procedural - and object-oriented implementations of SplashKit to ensure stability and reliability across the - entire library. -- **Rust Translation**: Translate the SplashKit framework into Rust, expanding its usability for a - wider audience and enabling developers in other ecosystems to leverage SplashKit’s functionality. -- **Enhanced Input Handling:** Implement support for a wider variety of input devices, such as game - controllers, VR headsets, and external sensors. This would make SplashKit even more versatile for - a range of interactive applications beyond just keyboard and mouse input. - -#### SplashKit Online - -**Trimester Priorities:** - -- **C# Support**: Contine to develop C# support for the IDE. -- **C++ Support**: Fix and continue to develop C++ in the IDE. -- **Autocomplete Improvement**: Improve the functionality of the search autocomplete to support C++ - languages result. -- **Continue to Improve Documentation**: Rework the current structure of documenation to make use - easier - -**Long Term Priorities:** - -- **Debugging Features**: Investigate and implement debugging features regarding breakpoints and - variable watch window. -- **Further Features Refinements**: Continue developing SplashKit Online features to improve user - experience and functionality of the platform. -- **Documenation**: Continue to develop documenation of SplashKit Online - -#### Arcade Machines - -_Even though the Arcade Machine is running in T2 2025, it is important to note that the success of -the deliverables are depending on the number of students joining/working on the project._ - -**Short Term Priorities** - -- **Continue Development of Flipper Game Packaging Tool**: Review and advance the development of the - Flipper tool to streamline game packaging, and deployment, -- **Review and Update Arcade Games**: Review the current published games to ensure that there aren't - any issues or whether there need to be updates made. - -**Long Term Priorities:** - -- **Enhance the Arcade Menu and Testing System**: Continue updates to the Emulation Station menu, - focusing on Kiosk Mode (for published games) and Normal Mode (for both test and published games). - Develop a new testing system that simplifies game additions and allows for more flexible testing. -- **Initial Voting System Implementation**: Begin developing a voting system that adds weight to the - star ranking, ensuring a clear path for further iterations. -- **Arcade Game Documentation Updates**: Revise README files for arcade games to include updated - control instructions, compilation processes, and resources folder structure for clarity and - accessibility. -- **Formalise the Game Upload Process**: Establish a streamlined and documented workflow for - students to upload their games, targeting SIT102 and SIT771 students to reduce friction and ensure - consistent game submissions. -- **Develop Local Test Mode**: Design and implement a test mode that allows users to add a new game - build for a limited testing period, automatically deleting the game afterward to maintain system - integrity. -- **Full Voting System Implementation**: Expand the voting system to track user feedback over time, - integrating it into the arcade’s ranking system to highlight popular games. -- **Complete C# Compatibility for ARM**: Resolve compatibility issues for C# in the ARM environment - to fully support .NET on arcade machines, ensuring consistent performance for C++ and C# games. -- **Introduce Version Control for Games**: Establish version control for compiled arcade games to - manage updates and track revisions as new features are added or bugs are fixed. - -### Project Members - -| Member Names | Roles/Responsibilities | Junior/Senior | -| -------------------------- | ---------------------- | ------------- | -| Oliver Quail | Team Leader | Senior | -| Josh Fernandes | Team Leader | Senior | -| Connor Clancy | Team Member | Junior | -| Jayden Minh Duong | Team Member | Junior | -| Stanoja Jovanovic | Team Member | Junior | -| Haoyu Liu | Team Leader | Junior | -| Runqi Liu | Team Leader | Junior | -| Ashen Manamalage Fernado | Team Member | Junior | -| Anandika Rajeev | Team Member | Junior | -| Suylang Sok | Team Member | Junior | -| Matthew Sutrisno | Team Member | Junior | -| Haoxuan Yuan | Team Member | Junior | -| Wei Zhang | Team Leader | Junior | -| Julian Burton | Team Member | Senior | -| Daniel-Lee Carroll-Leonard | Team Member | Senior | -| Muhammad Danial | Team Member | Senior | -| Dhruv Janghu | Team Member | Senior | -| Paavan Kalra | Team Leader | Senior | -| Anish Sampson | Team Member | Senior | -| Sam Stajnko | Team Member | Senior | -| Vishnu Vengadeswaran | Team Leader | Senior | -| Sana Noureen | Team Member | Senior | -| Ayush Indapure | Team Member | Junior | -| Rabail Aamir | Team Member | Junior | - ---- diff --git a/src/content/docs/Teams and Contributions/2025 Trimester 2/team-members-t2-2025.mdx b/src/content/docs/Teams and Contributions/2025 Trimester 2/team-members-t2-2025.mdx index 5eabf514..f75ee409 100644 --- a/src/content/docs/Teams and Contributions/2025 Trimester 2/team-members-t2-2025.mdx +++ b/src/content/docs/Teams and Contributions/2025 Trimester 2/team-members-t2-2025.mdx @@ -24,7 +24,6 @@ title: Team Members T2 2025 | Disuru Rathnayake | Team Member | Senior | | Hasindu Welarathne | Team Member | Senior | | Rachith Chandrathilake | Team Member | Junior | -| Brendan Huynh | Team Leader | Junior | | Joshua Talev | Team Leader | Junior | | Rashi Agrawal | Team Member | Junior | | Wael Alahmadi | Team Leader | Junior |