Thoth Tech (est. 2022) is a new software development company currently building from the ground up in Melbourne Australia. Thoth Tech’s mission is to build, operate, and deploy education technologies, creating tools that enhance education outcomes by empowering students, connecting them with tutors, and facilitating personalised learning experiences. We value our people, and we value excellence: We are people-focused, aim to produce sustainable products of excellent quality, and provide frameworks that provide a safe environment for learning and support of our team.
This report is for stakeholders, investors, and employees, and will outline the company structure, charter, objectives – both short and long term, and explore each product’s goals in depth.
Within the first third of 2022, Thoth Tech has recruited approximately 92 employees including four area leads, three product leads and eleven delivery leads. There will be another recruitment phase during the other two thirds of the year and an expected exit rate of 50 percent, with the potential for internships throughout the company.
Along with recruitment, Thoth Tech has taken onboard three external products, two live and well-established products – OnTrack and SplashKit – and DreamBig a in development product which will leverage the OnTrack technology stack. Thoth Tech will also be creating our internal architecture and platform for employees throughout this third of the year, referred to as the Internal Systems project.
Both the OnTrack and SplashKit products have been identified as requiring extensions and additional features to improve the quality and usability of the product. OnTrack is a platform designed to facilitate student learning and reducing the pressure of achieving unrealistic grades. The focus is on providing a tailored learning experience, using tasks and a portfolio assessment. This product is live and is currently being upgraded to newer technology stacks and improving security and documentation. SplashKit is currently a 2D game development Software Development Kit used to teach coding to beginners. It has been identified that SplashKit can be expanded to explore other areas and languages. The DreamBig product is in response to a need identified by Deakin, to provide a personalised development roadmaps to enhance students’ employability.
Due to a partnership with the School of IT at Deakin University, Thoth Tech and the subsequent products are funded, supported, and leveraged by Deakin. However, all contributions by Thoth Tech members are acknowledged due to the Open-Source nature of the company. Deakin provides ground zero end-user testing and focus groups for product improvements.
____________________
Andrew Cain,
Managing Director
____________________
Glory Lee,
Managing Director
Role | Responsibilities | Skills | |
---|---|---|---|
Managing Director | The role of the managing director is to oversee the Thoth Tech company executive leadership team to ensure they are running the company effectively and value is being added to the Thoth Tech products by the projects they are supporting. |
|
|
Area Lead | The role of the Area lead is to drive their area focus across all products and projects of their area. They also organise, lead, guide, and support Product and Delivery leads achieve their project goals. |
|
|
Product Lead | The role of the Product lead is to lead and support delivery leads in projects related to their product to ensure ongoing success. |
|
|
Delivery Lead | The role of the Delivery lead is to lead, organise and support their project teams to ensure ongoing success. |
|
|
This trimester, Thoth Tech has set out to achieve the following objectives:
Objective 1: Establish Thoth Tech as a company in line with our mission and values.
Objective 2: Create a safe, supportive, and collaborative company culture that empowers our employees to learn and develop their skills.
Objective 3: Add value to the SplashKit Product by extending functionality and languages
Objective 4: Add value to the OnTrack Product by adding and enhancing features
Objective 5: Create the DreamBig prototype as a new product that adds value to the Thoth Tech company
The Thoth Tech charter is a crucial tool for guiding our team, navigating decisions, establishing boundaries, and aligning the team on how we work together. It defines how as a company we work together to achieve success.
Our charter comprises of the following:
Our mission is to build, operate and deploy world class education technologies. This is achieved by creating accessible tools that enhance education outcomes by empowering students, connecting them with tutors and facilitating personalised learning experiences.
Our values describe how we work, what we represent, and guide us to be the kind of company and team members we want to be. When we live up to these values we will:
Be people-focused
We expect the best from each other, give each other the benefit of the doubt, encourage each other to take initiative to improve ourselves and the company, and provide direct and constructive help to each other. We collaborate with kindness while being respectful of each other.
Uphold sustainable excellence
We create working, maintainable, and understandable software that is enjoyable and easy to use. We strive to do it in a way that is sustainable for our team members and for our environment.
Be inclusive and supportive
We celebrate diverse perspectives and embrace uncomfortable ideas and conversations. We facilitate an environment in which all team members feel psychologically safe enough to make requests for what they need to do their job. We learn through failures while continually working to make things better.
The Company is broken up based on product, with the area leads spread company wide. There is a tier system built into the company structure – directors, area leads, product leads, delivery leads, then team members. This structure is primarily about support, guidance, and feedback, rather than authority.
Each employee has chosen their own role title based on their interests, skills, experience and what they want to develop.
The company structure is linked here and available on the next page.
The Thoth-Tech Senior Leadership Team Project’s main objective is to ensure that all project teams are set up with systems, processes, training, and support to achieve their project deliverables, and therefore the company objectives and goals. This means that the Thoth Tech company needs to be established and grown in line with a strong company vision and values, it requires the guidance of a committed leadership team.
The Senior Leadership Team’s goal is to provide overarching support, structure and processes to drive the fulfillment of the company’s goals and objectives as described earlier in this report. This includes establishing a company mission statement, charter, and culture through communication and establishing foundational frameworks and guidance to support company member engagement and project delivery in line with company values. In the short-term, the leadership team aims to establish a culture and processes that promote people-focus, inclusion, and sustainable excellence. Long-term, the aim is for further evolution and refinements to provide even better support of members and processes and resourced to support increasingly quality, maintainable, and sustainable products. Our goal is to be one of the best companies to be a member of, providing some of the best products for stakeholders.
Aims for the trimester include establishing a supportive and inclusive company culture, establishing the Thoth-Tech company mission, values, structure, roles and responsibilities, onboarding, handover and offboarding processes, quality assurance and documentation guidelines.
The Senior Leadership Team project is healthily and is progressing at a sufficient pace to complete all planned T1 deliverables.
Each lead has been championing the direction and vision of each area; however, the whole leadership team has been responsible for collaboratively executing tasks identified by all area leads. This approach has enabled the leadership project team to have delivered a significant portion of the Short-term by the mid-trimester break.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
The primary blocker that we have consistently needed to mitigate has been communication, and engagement. The Thoth Tech company has approximately 100 team members
The focus of the next half of trimester will be establishing and documenting an Offboarding and handover process, detailing the T2 Roadmap, building confidence in skills the Thoth Tech company members have been learning, developing talent to establish the core T2 leadership team, and setting them up for success.
There have been some areas of flux regarding project teams. We had a few team members request early on to change from their allocated projects, however this was minimal and utilising the onboarding form responses to create project teams was deemed highly successful. The leadership team project has also had to manage some company members arriving four weeks late into the company, and this required late changes to company structure and high-level project guidance.
The leadership team project has also updated the role names for each area lead, to better reflect the value that each lead is adding to the project, and to the company. This was expected, as there were many unknowns when the project was established, and iteration and decisions based on evidence was key – as outlined by the company charter.
All deliverables complete, with a new leadership team set up for success to continue the work and vision of Thoth Tech objectives. Refer to forecast below.
This project is healthy.
The area leads have achieved all short-term aims, building upon the strong company foundation established earlier in the trimester. Continuing to document and evolve QA, documentation, and data strategy, and continuing to support each other in running company operations. Work has been completed for the offboarding and handover processes, detailing the T2 Roadmap, establishing a core T2 leadership team, and preparing the company for T2 to ensure the company culture and progress on company objectives can be successfully carried forward into future trimesters.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
The Area Leads have successfully completed the aims for Trimester 1, including establishing a supportive and inclusive company culture, company mission, values, structure, roles and responsibilities, completing onboarding, handover and offboarding processes, creating quality assurance, and documentation guidelines.
Area Leads have successfully completed all Short-term, and since the last company report have achieved the following:
Achievement | Contributor |
---|---|
Company creation and structuring:
|
Liz Lynch, Talia Zidar, Katrina Steen, Tan Le |
Thoth Tech Handbook Repo established, and processes and artifacts documented. | Tan Le (established), contributed to by Liz Lynch, Talia Zidar, Katrina Steen |
Quality Assurance policy and process:
|
Katrina Steen |
Data Strategy:
|
Tan Le |
Communication guidelines:
|
Talia Zidar |
Training and mentoring sessions:
|
Liz Lynch, Talia Zidar, Katrina Steen, Tan Le (led as specified) |
Training guide creation and feedback collection
|
Liz Lynch, Talia Zidar, Katrina Steen, Tan Le (as specified) |
Capstone Cohort Guest Presentations and sessions arranged:
|
Liz Lynch, Talia Zidar, Katrina Steen (as specified) |
Handover and Offboarding completed:
|
Liz Lynch, Talia Zidar, Katrina Steen, Tan Le |
The main next steps for the future area leads are to familiarise themselves with across the handbook, consider the pitch for T2 to attract new junior talent to the company, and consider team structure and allocation. The guidance provided by the current leads and T2 recommendations may assist with this. Ultimately, in consultation with the managing directors, the new area leads are in control of any evolutions.
In addition, the following recommendations:
It is expected there will be some challenges for new leads taking over the reins, as all senior leads will be new to the role – hopefully, the established documentation will assist; however, there is a great volume of material to be familiar with.
Communication and non-engaging/late students are anticipated and a challenge. As well as discussed recommendations for clear and early messaging around expectations with members, it may benefit leaders to ensure expectations are clarified with unit chairs early to prevent difficulties involved in managing members joining the trimester late.
Thoth Tech currently has two existing products, OnTrack and SplashKit, which are open source and live to users. Thoth Tech also has two products in development, a third external product called DreamBig, and an Internal Systems product for Thoth Tech employees. Each product is being developed during this trimester.
OnTrack is a platform to facilitate portfolio base assessment by providing an opportunity for students to get feedback as a formative assessment reflecting their learning and to formulate a deeper understanding of the concepts that students are learning time to time to showcase in their final portfolio. One of the key features of it is to provide interactions in tailored learning experience.
This approach provides students with a simple but effective way to demonstrate their achievements and learning outcomes with the assistance of teaching staff feedback throughout the unit. OnTrack is based on Doubtfire LMS and Thoth Tech is working towards creating new and enhanced features that improve the teaching and learning experience.
Product Lead: Jordan Cameron Trainor
The Front-end migration project aims to modernise the existing components that use CoffeeScript and Bootstrap, towards the cutting-edge framework, Angular with Typescript. CoffeeScript has become dated and lacks the functionality, security, and support that more modern frameworks provide. Angular, which is supported by Google, allows developers to leverage its component-based architecture to quickly create dynamic single-page applications. It is built using TypeScript, which ensures greater security as the language supports types and allows for early bug detection. Other features include templating, two-way binding, dependency injection, and extending HTML syntax without relying on third-party libraries. Moving to Angular will continue to uphold the integrity of OnTrack. TypeScript is accepted by a larger community base and includes more advanced and scalable features. Once migrations are completed, it’s possible to add more advanced and quicker features to OnTrack.
The aim for the trimester is for each of the eight teams within the project to migrate at least one existing component and build experience to enable accelerated progress in future trimesters by supporting future team members.
The Front-End migration team has taken a divide and conquer approach by allocating two people into a sub-team to ensure the amount of work is well distributed. This will allow for easier communication, teamwork, and workflow for more efficient progress.
Based on existing documentation, there are 183 components remaining to migrate, however this may not be accurately updated. An analysis will be completed to ensure this is updated.
The trimester deliverables will be developing and delivering at least eight migrated components. However, the long-term project deliverables are to ensure all future teams are supported and set up for success to migrate all remaining components prior to CoffeeScript support being removed.
The functionality of the migrated components will be identical to the old ones, with a user interface design that fits in with the new OnTrack theme. Testing of these components must also be considered and implemented to ensure that the components will function as expected for students and faculty.
The Front-end migration team project is currently on track to exceed the deliverable goal of eight migrated components by the end of trimester.
Currently the Front-End migration team has successfully completed multiple migrations to Typescript & Angular. The team is ramping up production output on a week-by-week basis as the team is becoming increasingly confident with the skills required for migrations. Which such figures and increased performance, the team can state with confidence that expected deliverables will be exceeded.
The front-end migration team has found that communication and support is a key factor in making progress within team tasks such as this project, without communication and assisting each other the team would be unable to function so autonomously together and harmoniously. The key take away is that a high level of teamwork provides a positive and productive environment.
In Progress | Completed | PR | |
---|---|---|---|
Group 1 | ./src/app/visualisations/alignment-bar-chart.coffee | ||
./src/app/visualisations/summary-task-status-scatter.coffee | |||
./src/app/admin/modals/user-notification-settings-modal/user-notification-settings-modal.coffee | |||
Group 2 | ./src/app/visualisations/achievement-box-plot.coffee | ||
./src/app/visualisations/target-grade-pie-chart.coffee | |||
./src/app/visualisations/task-completion-box-plot.coffee | |||
Group 3 | ./src/app/visualisations/achievement-custom-bar-chart.coffee | ||
./src/app/tasks/project-tasks-list/project-tasks-list.coffee | |||
./src/app/admin/modals/user-settings-modal/user-settings-modal.coffee | PR #11 | ||
Group 4 | ./src/app/tasks/modals/grade-task-modal/grade-task-modal.coffee | PR #1 | |
./src/app/tasks/modals/plagiarism-report-modal/plagiarism-report-modal.coffee | PR #5 | ||
./src/app/common/grade-icon/grade-icon.coffee | PR #8 | ||
Group 5 | ./src/app/tasks/task-status-selector/task-status-selector.coffee | PR #12 | |
./src/app/projects/states/dashboard/directives/task-dashboard/directives/task-outcomes-card/task-outcomes-card.coffee | PR #12 | ||
./src/app/projects/states/dashboard/directives/task-dashboard/directives/task-submission-card/task-submission-card.coffee | PR #12 | ||
./src/app/projects/states/dashboard/directives/task-dashboard/directives/task-status-card/task-status-card.coffee | PR #12 | ||
Group 6 | ./src/app/tasks/task-submission-viewer/task-submission-viewer.coffee | PR #4 | |
./src/app/tasks/tasks.coffee | PR #4 | ||
./src/app/tasks/modals/modals.coffee | PR #4 | ||
./src/app/tasks/modals/upload-submission-modal/upload-submission-modal.coffee | PR #13 | ||
Group 7 | ./src/app/projects/states/dashboard/directives/task-dashboard/directives/task-due-card/task-due-card.coffee | ||
./src/app/projects/states/portfolio/directives/portfolio-review-step/portfolio-review-step.coffee | |||
./src/app/common/alert-list/alert-list.coffee | PR #2 | ||
./src/app/errors/states/unauthorised/unauthorised.coffee | PR #2 | ||
./src/app/errors/states/not-found/not-found.coffee | PR #2 | ||
./src/app/errors/states/timeout/timeout.coffee | PR #2 | ||
Group 8 | ./src/app/visualisations/visualisations.coffee | ||
./src/app/projects/states/portfolio/directives/portfolio-welcome-step/portfolio-welcome-step.coffee |
The most current issues faced is availability during collaboration sessions as it is often found that everyone’s timetables are different and cannot all always attend meetings and sessions together. The team has been addressing these issues by providing recordings of all meetings and collaborations together.
Another issue is the large number of public holidays and long weekends within this trimester, the team has found that often people go for holidays and take time off to relax and this erodes production output.
Our team is forecasted to complete anywhere from 15-30% of the modules required for the migration. Refer to the product forecast.
This project is healthy.
The front-end migration team was able to successfully migrate components of the OnTrack front end to a newer and updated code base. This provides easier expansion of the platform in the future. The team spent a considerable proportion of their time learning the old and new code bases and then collaboratively complied update functions and section of the OnTrack front end.
Progress | Completed | PR | |
---|---|---|---|
Group 1 | migrate/admin-notification | PR #22 | |
Group 2 | ./src/app/visualisations/progress-burndown-chart.coffee | PR #36 | |
./src/app/visualisations/student-task-status-pie-chart.coffee | PR #36 | ||
./src/app/admin/modals/rollover-teaching-period-modal/rollover-teaching-period-modal.coffee | PR #42 | ||
./src/app/common/modals/confirmation-modal/confirmation-modal.coffee | PR #41 | ||
./src/app/common/modals/progress-modal/progress-modal.coffee | PR #40 | ||
Group 3 | ./src/app/tasks/project-tasks-list/project-tasks-list.coffee | PR #34 | |
./src/app/admin/modals/user-settings-modal/user-settings-modal.coffee | PR #11 | ||
Group 4 | plagiarism-report-modal.coffee | ||
grade-icon | PR #18 | ||
grade-task-modal | PR #1 | ||
fix: scroll into view error | PR #37 | ||
refactor: remove task-sheet-viewer component | PR #9 | ||
docs: update contributing.md doc | PR #2 | ||
fix: update urls in .gitmodules | PR #1 | ||
Group 5 | ./src/app/projects/states/dashboard/directives/task-dashboard/directives/task-outcomes-card/task-outcomes-card.coffee | PR #12 | |
./src/app/projects/states/dashboard/directives/task-dashboard/directives/task-status-card/task-status-card.coffee | PR #29 | ||
Group 6 | ./src/app/groups/group-member-contribution-assigner | PR #38 | |
./src/app/tasks/modals/upload-submission-modal-coffee | PR #13 | ||
./src/app/common/file-uploader/file-uploader.coffee | PR #30 | ||
./src/app/tasks/task-submission-viewer/task- submission-viewer.coffee. | PR #4 | ||
./src/app/tasks/tasks.coffee | PR #4 | ||
Group 7 | ./src/app/admin/modals/create-unit-modal/create-unit-modal.coffee | PR #24 | |
./src/app/common/alert-list/alert-list.coffee | PR #2 | ||
./src/app/errors/states/unauthorised/unauthorised.coffee | PR #2 | ||
./src/app/errors/states/not-found/not-found.coffee | PR #2 | ||
./src/app/errors/states/timeout/timeout.coffee | PR #2 | ||
app/states/teaching-period-breaks | PR #544 | ||
Group 8 | ./src/app/projects/states/portfolio/directives/portfolio-welcome-step/portfolio-welcome-step.coffee | PR #33 |
The migration process has been successful with many CoffeeScript and Angular.js components being updated to Typescript and Angular. However, there is still a considerable number left to migrate.
The migrated components are being finalised and approved through Pull Requests. They are awaiting review from Andrew Cain to be pushed to the live version of the project.
There are still over 150 components yet to be completed, the migration is slowly proceeding. These components should be cautiously progressed and then submitted as Pull Requests for the OnTrack team to approve and released for use on the live version.
This trimester, 12 components were migrated and 16 are still in progress. Every team was able to migrate at least one component. Perry Rose was a significant contributor and assisted with other teams’ migration as well as completing the most components.
It is recommended that training be emphasised and provide access to previous resources. Make use of the senior students as resources. In team pairs make best effort attempts to partner one senior with one junior.
The environment set up is extensive, time must be set aside for this.
Learning the required languages and skills for migration will be time-consuming but is imperative for progress to begin. Documentation has been provided and it is recommended to be read during the on-boarding process.
https://trello.com/b/pFPgCaIo/front-end-migration
The Deployment project aim is to create an employee-run deployment of OnTrack separated from the existing Deakin version and hosted on Google Cloud. Due to the scale of the project, there are three subgroups within the project which will focus on Google Cloud deployment, CI/CD pipeline, and enhanced authentication. The objective of the Thoth Tech hosted version of OnTrack is to allow the company to own the deployment cadence, conduct end-to-end testing, reduce risks leaking bugs upstream an innovate on new features. In addition, stakeholders will have a much more efficient setup, as well an improved process for future employees contributing to the project. The pipeline will be focused on improving software delivery with a CI/CD approach to speed up development and provide a level of quality assurance, whilst the authentication system will ensure security and privacy.
Short term deliverables will be to Design and document the architecture overview and overall deployment, work collaboratively with relevant teams to automate the build, test, and deployment of OnTrack using a CI/CD pipeline, work collaboratively with relevant teams to allow for secure authentication for users of OnTrack and build a secure platform for the OnTrack deployment to be hosted on Google Cloud
Long term deliverables will be to host multiple environments (such as Production, Development, and potentially Test/Staging) of the OnTrack deployment in Google Cloud, as well as review further expansion to run multi-tenanted environments for Deakin University and other organisations within Google Cloud.
The short-term deliverable is that there will be an automated build CI/CD pipeline in production building and deploying OnTrack on to the Google Cloud platform and ensuring it is documented for long term usage and maintenance.
Short term deliverables will be focusing on the empathise, define, and ideate stages - by giving more time to designing the possible solution, the team can produce a better answer. When the blueprint is out, the team will use the rest of the time to work on making the prototypes. Creating LDAP (Lightweight Directory Access Protocol) servers and testing them. Long term deliverables will be continuous maintenance, improvement, and testing of the solution.
The Google Cloud deliverable is progressing as expected and will be completed by the end of the trimester.
The two technologies we have decided that we will be using for the completion of the deliverable are Google Cloud Platform (GCP) and Docker. The Google cloud team are currently working on creating a high-level diagram of how GCP will be used as this will support the pipeline team to complete their deliverable. Communication is crucial to the success of this project, and both teams are working closely with each other, to best assist with implementing all dependant components that will be needed for the completion of the Deployment team deliverables.
Project progress is satisfactory and as per initial plan. Team completed all the upskill tasks and now started working on preparing Docker images for deployment on google platform.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
The Google Cloud project team does not have existing practical experience with the GCP and services, therefore must refer to documentation and quick start guides. Though this is not a blocker, but it slows the overall progress.
The team is aiming to deploy separate instance of doubtfire-api and doubtfire-web on GCP. The same be will accessible via URL from anywhere. Refer to the product forecast.
There is no change in the plan. Team will review the scope and project state again before 2 prior to project end date.
Currently, there is no risk in the progression of the pipeline build project and it is on track to have a working and finished deliverable by the end of the trimester.
All necessary upskilling involved with the creation of the pipeline build has been completed, and have created a list within the Trello, which contains of all the tasks that will needed to be finished to complete the pipeline build.
The status of the deliverable is as planned, as the team have finished upskilling and breaking down each task. It has also been agreed upon that the Pipeline project will be using Jenkins to help build and deploy the Ontrack pipeline. This tool will allow for a maintainable pipeline, so that when any future iterations/features need to be added, it will be easy to update.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
The team has faced issues with authentication. This has stopped the team from accessing necessary tools needed for developing the pipeline. The team is currently working through this issue with Justin Rough, to gain authentication.
Although the project team expect to run into a few hurdles whilst developing the pipeline, it is expected that the pipeline will be fully functional by the end of the trimester, in which Jenkins will be used to both help build and deploy the pipeline. Refer to the product forecast.
The Enhance Authentication deliverable is progressing as expected and the Short-term are expected to be finished by the end of trimester.
Importantly, the team recently had a meeting with Andrew Cain, the Thoth-Tech Product Owner, to assist in our understanding of deliverable requirements and the workings of the OnTrack Architecture.
So far, the project is staying on track, research has been conducted into relevant topics, and significant upskilling has taken place. After mid-trimester break, delivery of components will begin. Additionally, methods of testing will be developed and conducted regularly as part of the development of the API user management system and the Devise LDAP server solution. This testing will not only ensure that these solutions are functioning as expected but will also validate the security of these elements. In the coming weeks, the team will also work towards collating more documentation to formalise the tasks we have completed so far, and to establish documentation conventions to evidence the work which we will undertake in future.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
A challenge has been the requirement of migrating a CoffeeScript component into TypeScript to apply the Devise for authentication. To overcome this challenge, the team is partnering with the front-end migration team to get this component migrated as they are skilled in this area.
In future, there may be a need to increase meeting frequency to give us a better view of the work. As suggested by Andrew, the team may also work with other teams within the larger Thoth-Tech company to assist them with authentication solutions.
Intention to finish the front and the back ends. Including password completed and running on the website. Refer to the product forecast.
This project is healthy.
Google Cloud
The most important takeaways from the status report of the Google Cloud team are that we:
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
The aim for the trimester for Google Cloud team was to deploy a Thoth Tech OnTrack instance on google cloud which is independent from the Deakin version. Google cloud team is successfully able to deploy frontend and backend Docker containers on google cloud. To achieve this aim, extensive research and upskilling was required. During the project, two level test setups were made before pushing change to production environment. Issues identified during the testing has been fixed before deploying to production. Documentation has been updated to reflect necessary changes.
Based on the research, a basic architecture to deploy OnTrack onto GCP was diagrammed. As the latest deliverables are not available, the decision was made to deploy the Docker images from last trimester. The main deliverables from the google cloud team is deployed OnTrack onto the google cloud, updated docker-compose.yml, and documentation to help the teams in the coming trimester to achieve the Long-term.
Key achievements: the team successfully deployed a functional instance of OnTrack running on GCP.
Achievements | Contributor |
---|---|
Documentation
|
Joyce Cruz and Sultan Hindi A Albishri |
Updated docker-compose.yml | Sultan Hindi A Albishri |
Functional Google Cloud deployment:
|
Joyce Cruz and Sultan Hindi A Albishri |
**Pipeline build **
The most important takeaways from the status report of the Pipeline team were that we:
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
http://34.129.4.185:50000/login?from=%2F |
The Pipeline Build team successfully built and deployed Jenkins into the Google Cloud Platform. However, work is still required before Jenkins is production ready – needs refined IAM policies and a secure HTTPS connection and domain. Ideally, the project team would have liked to get at least 1 pipeline built but were unable to achieve this goal. Some Documentation has been created that will help onboard and upskill new members to the team quickly.
The Pipeline team spent considerable time exploring the diverse options available for CI/CD platforms, accessing the different strengths and weaknesses. Jenkins was decided and has been configured and set up in test pipelines. The team works closely with Google Cloud team to automate the deployment of their GCP compatible Ontrack image. Documentation has been created to assist new members to contribute to the project with ease and confidence.
Key achievement: Successfully built Google Kubernetes Engine cluster on the Google Cloud Platform
Achievements | Contributor | ||
---|---|---|---|
Research into Pipelines to make informed choice
|
Mathew Perkin and Lachlan Cayzer | ||
Successfully built Google Kubernetes Engine cluster on the Google
Cloud Platform
|
Mathew Perkin and Lachlan Cayzer | ||
Domain name
|
Mathew Perkin and Lachlan Cayzer |
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
Although the aim of this trimester was not achieved, progress was made. The team has laid the foundation for future development teams. Enhanced security topics were researched, including what tools to use and how to implement them. Limited code was updated and more to be deployed next trimester.
Documentation has been developed regarding the testing strategies which will be undertaken by the team as the new features and deliverables are continued to be developed throughout the next trimester. A comparison of the current state of the OnTrack authentication system and the proposed authentication solutions to be developed has also been completed and documented.
This solution has progressed through the design phase and the team has a thorough understanding of what is required of the project. It is confirmed that the project will use a Lightweight Directory Access Protocol (LDAP) server and Devise framework. However, due to delays, the project did not achieve the anticipated progress. Limited code has been developed and updated for the needed prototypes. Documentation is up to date and will assist future development teams.
Key Achievement: Solution defined with development in progress and solution analysis and comparison created
Achievements | Contributor |
---|---|
Added new functionality to the code
|
Nathan Sukamto and Linden Hutchinson *Nathan Sukamto |
Documentation
|
Sarah Nicole Dyson |
In progress: LDAP docker
|
XueTing Jing |
Recommendations for the following trimester include - Upskilling early, making use of and updating Trello regularly, publish all documentation to the relevant GitHub repository, and make use of the documentation that has already been created within the deployment documentation repository.
There are no blockers or challenges that are anticipated for Trimester two
In the current version of the OnTrack product there is no support for submitting Jupyter Notebook ‘.ipynb’ files directly to OnTrack. As a result of this limitation, student users must export their Jupyter Notebook file as an HTML document, and then use a PDF converter to create a PDF suitable for uploading to OnTrack. This results in an inefficient, poor, and frustrating user experience.
The goal of this project is to solve this issue by allowing students to upload .ipynb files directly to OnTrack and utilise OnTrack’s PDF conversion pipeline to handle automatically converting the file to PDF format for the faculty staff to view.
The objective of this project is to help make using OnTrack a more efficient process and improve ease of use for students and staff involved in tasks that use Jupyter Notebook.
For this trimester the Jupyter Notebook Support project team will review the existing work on this feature and create a plan to fully deliver the Jupyter Notebook file to PDF conversion feature.
The deliverables for this project will be the introduction of PDF conversion functionality for
.ipynb
files into OnTrack, as well as documentation on the feature and a user guide on how to
utilise the feature.
.ipynb
files directly..ipynb
to PDF conversion support integrated to Ontrack.Long term deliverables beyond this trimester will be the maintenance and improvement of this feature.
After some initial challenges resulting in a change of Delivery Lead from Matt Clark to Ethan G Keirs, all of which resulted in the project being delayed, the project has since caught up and would be considered on track.
The project status is as planned; the team has completed all required upskilling and have begun main components of the project with every team member being assigned their specific roles. Thanks to advice given by Andrew Cain, each team member knows what is expected of them and how their contributions will be implemented into the finished product.
The time available due to the delay allowed the team to complete all necessary upskilling, fork repositories, have a meeting and discussion with Andrew Cain, created a Trello board and wrote the user stories. Over the next few weeks, the project team will be completing the code for converting a Jupyter Notebook and a Word document into a pdf, documentation, and the creation of a prototype.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
The main challenge that the Jupyter notebook team faces is that none of the team members have experience with RubyOnRails or Docker. This has been mostly resolved through upskilling, but there are still issues that arise from lack of knowledge and experience that lead to loss of time.
The expected state of the project is to have all the code finished and working for the conversion of Jupyter Notebook and word to pdf before the end of the trimester. The prototype is also expected to be finished and will allow these conversions to be tested/shown. Refer to the product forecast.
There has been one change to the plans of the project and that is to expand the workload by making a prototype. The aim for the prototype is to create an application with a similar structure to OnTrack. The proposed prototype will consist of a barebones Ruby-on-Rails application running in a Docker stack, holding containers with the required dependencies to function. The prototype will convert a Jupyter Notebook and a Word document into PDF format. The prototypes front-end interface will have two buttons that will trigger their respective functionalities, which will be implemented through back-end command line commands. It is the hope that this prototype will aid the team in their later completion of the assigned project scope, giving valuable insight into both how far the team has come, but also how far there is to go.
This project is healthy.
The Jupyter Notebook Support team prioritised the creation of the conversion prototype and the accompanying documentation.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
The Jupyter Notebook Support project team has completed the aim creating a working Jupyter Notebook (.ipynb) to PDF conversion prototype and also expanded with a working Microsoft word (.docx) to PDF conversion prototype. Both prototypes run in a docker container. It is assumed to be compatible with existing Ontrack code.
The prototypes need to be extended into the existing OnTrack code. Further polishing to existing code may also be needed. The epic may need to be rescoped in later trimesters.
Key achievements: Working conversions to pdf, the docker environments, and the documentation.
Achievements | Contributor |
---|---|
|
Lachlan Foy, Jordan John Litsas |
|
Chetan Nagar |
|
Matt Clark and Ethan Keirs |
|
Ethan Keirs |
|
Lachlan Foy |
The recommendation is that the Jupyter Notebook Project team for next trimester be a smaller team, of 2-3 students. Plan and allow time for software installation.
The epic may need to be rescoped in later trimesters.
NA
Currently, the OnTrack product has the functionality to accept audio submissions, but no verification system. Voice Verification for the online audio submissions will help mitigate cheating attempts and plagiarism.
In the past there have been teams who have worked on a Speaker Verification Library to validate audio files, a Speaker Verification API to wrap the library, and a Ruby app to integrate Doubtfire LMS and the Speaker Verification API. The objective of this project is to finalise a proof of concept for the Voice Verification system, deploy it to the Thoth Tech OnTrack environment, and deliver technical documentation.
The aim for this trimester is to work on understanding the work completed by previous teams, finish the voice verification feature, test the functionality, and create accurate documentation for the entirety of the Voice Verification system; architecture, deployment and how to user it.
The Short-term for this project will be upskilling, understanding, improving, integrating, testing, deploying, and developing any gaps identified in the existing pieces of work completed for the Voice Verification feature. This includes:
There will also be the deliverable of creating documentation to ensure that the architecture, deployment, and user guides for recording voice samples for enrolment and verification.
The Long-term for this project will be maintenance and improvements of this feature.
The project is delayed by lack of documentation from previous development. Likely to increase in next half of Trimester.
The Project Status is proceeding as planned; upskilling has been completed to an adequate level, and the beginning stages of documentation and deployment have taken place. The Team members have a good understanding of their responsibilities, and tasks have been planned for the rest of the Trimester.
From here, the documentation of the architecture of the system, user guides, and deployment of the system will be further edited and finalised, along with the deployment of the voice verification system to the local OnTrack instance. This will be dependent on the deployment team's progress.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
At this stage, the main challenges have revolved around learning the technology and the system that is being deployed. This has been difficult for the team, but are building confidence with the system, and are progressing with the deliverables. Further, time management has been difficult across the whole team due to various commitments and responsibilities, however the team is increasing comfort with the pace, and clarity around the project has helped the group members plan more effectively.
The main next steps for the project are the creation of the documentation, as well as the deployment of the system to Doubtfire. This will require the verification and enrolment systems to be developed, so this may take some time, however the Team feels a bit more comfortable with Ruby and with the Python Container.
The expected state of the project is to have the system documented with Architecture and Deployment Documents. The plan is to have the project deployed to a local Doubtfire Instance and deployed to the Thoth Tech OnTrack deployment. Refer to the product forecast.
This project is healthy.
This trimester prioritised the documentation of the pre-existing system. The existing system had little documentation and it was difficult for the team to progress without written understanding. This trimester has set up the foundation for future development teams.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
The team aimed to understand and build upon previous work for documenting and deploying the Voice Verification system. For this trimester, the team was able to analyse and understand the current system, as well as make a start on documenting the current state.
Future development teams will be able to build upon the current project to develop and deploy the voice verification system to the student OnTrack instance.
Deployment of Speaker Verification system: At this stage, the system has not been implemented to a local Doubtfire instance or deployed to OnTrack.
Documentation of system: At this stage, the documentation for the base architecture has been completed. The Software Requirements and Specifications document has also been completed
The team should continue on the documentation and deployment of the Voice Verification System, as described in the Voice Verification Epic, Software Requirements and Specifications Document, and in the teams Trello board Voice Verification | Trello
More specifically, tasks to be completed include:
Achievements | Contributor |
---|---|
SRS Document | Shaine Christmas, Devin Jayasinghe, Ha Nguyen |
Deployment of the system to the local Doubtfire instance should be prioritised.
Following this, the deployment documentation, in addition to the user documentation should be completed at each stage of deployment.
After testing, deployment to the Thoth Tech OnTrack Project, as well as ongoing maintenance of the project is important.
NA
Software Requirements and Specifications Document
The Documentation project objective is to create documentation for the Thoth Tech company and its products, including OnTrack. The current state of documentation of Thoth Tech’s products’ is poor; with previous design decisions, updates and feature implementations not accurately documented or maintained. By clearly documenting the products Thoth Tech’s employees will be set up for success to hit the ground running when joining the company and a team. Additionally, the products’ end users, which include university students and educators, will find it easy to learn and use the products with simple and accessible documentation at hand.
The objective of the team is to create a smooth onboarding process and simplify the process of creating and managing documentation across the Thoth Tech products, for all teams. Having good documentation for the future trimesters will result in higher productivity and increasing progress.
The goals of the documentation project are to:
The documentation team’s aim for the trimester is to ensure everything related to Thoth Tech is efficiently and accurately documented moving forward. By collating existing documentation, analysing gaps, collaborating with development teams’, and creating new documentation, the contributions made by the documentation team will set up future team leaders and members who decide to join Thoth Tech for success.
The first short-term deliverable for this project is to establish documentation guidelines and processes for all teams within the company to create and organise documentation for use, operation, maintenance, design, test, and access. This will ensure accountability and compliance to documentation standards and that documentation is highly accessible. The second deliverable for this project is to analyse the Ontrack repository for relevant documentation that needs to be updated, improved, or created if none exists already. This includes design documentation, requirement documentation, user documentation for development and user guides.
The Long-term are to ensure that all documentation is kept up to date with changes made to the products, and to perform the same analysis and work on the SplashKit product.
The Documentation project is currently behind the planned schedule, although work has commenced on analysing existing repositories and producing reports.
The team is prioritising the deliverables as outlined in our epic. There has been timely progress on setting up a documentation repository and the pieces are starting to fall in place as team member confidence improves. The scope has expanded from OnTrack alone, to all of Thoth Tech’s product’s documentation. Work currently underway includes:
Next steps are to complete the repository analysis and produce the report of recommendations.
Backlog | In Progress | Completed |
---|---|---|
Future work will focus on producing a report of recommendations
and expectations for current project teams to implement for
documentation of their projects. Along with this, the project team will
produce templates for:
|
All Thoth Tech repositories are currently being analysed for
existing documentation. The various repositories have been distributed
as Trello cards amongst the team. Together, the team is producing an
analysis document with comments on each document. There is checklist of
attributes to be checked and commented on for each document which
includes:
|
A documentation repository has been created, and communications have been distributed to the project teams on its use. This provides a single point of reference for teams to store and manage documents related to their projects. Current and future Thoth Tech employees will find this resource useful when seeking to understand decisions, plans and designs. |
There has been issues with capacity and engagement levels for some team members. Strategies adopted to address this include:
The project team expects that delivery of the key outcomes in the Documentation epic are still within reach by the end of the trimester. Refer to the product forecast.
This project is healthy; however, productivity was lower than expected.
The team produced foundational processes and analysis for Thoth Tech’s company and product documentation for the future. Key takeaways from this status report include:
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
The team aimed to ensure Thoth Tech and OnTrack information was efficiently and accurately documented. Our aim was to collate existing documentation, analyse gaps, collaborate with development teams, and create documentation.
In this regard, the team was able to partially achieve our aims. Namely, collated, and analysed gaps through the repository analysis. Collaboration with other teams, through awareness activities for the documentation repository.
Analysis of existing documentation in all Thoth Tech repositories – The analysis is close to complete. The information recorded at this stage is sufficient to begin creating a report of recommendations for the Documentation Team to implement.
Documentation repository – This has been created as per the last company report.
The team should continue work on achieving the deliverables as described in the Documentation Epic.
Specifically, tasks to be completed:
The focus should be on ensuring previous decisions, design, and requirements are easily accessible to all future users, developers, and other stakeholders so relevant context is provided for all work in the future.
Achievements | Contributor |
---|---|
Created the documentation repository in Thoth Tech GitHub | Shivam Singh and Talia Zidar |
Repository Analysis | James Micallef, Shivam Singh, Manisha Jyoti, Faqi Rehman, Kosta Constantinou, Md Fahim Mizi, Parth Aneja |
Completion of project analysis and preparation of both reports should be prioritised.
Documentation team members should ensure templates are existing or developed for all document types and team activities.
Once this has been completed, collaboration with other project teams should take place to ensure the documentation repository is being utilised for all company and project information. This team will should also be responsible for upholding the expectations of documentation across the company.
There are no blockers anticipated for T2.
Documentation GitHub repository
SplashKit is an open-source Software Development Kit (SDK), created with the purpose of reducing the overhead required for truly technical coding and allowing students new to coding to create satisfying programs in a short period of time. SplashKit enables beginning coders to quickly learn to construct fun and functional programs which they can be proud to showcase. SplashKit is an open-source Software Development Kit (SDK), created with the purpose of reducing the overhead required for truly technical coding which enables students new to coding to create satisfying programs in a short period of time. SplashKit enables novice coders to quickly learn to construct fun and functional programs which they can be proud to showcase. It includes a large library of functions which can be utilized by the user to experiment and apply for their own application or game. This product is currently used by the students at Deakin University and aims to become a global educational toolkit. Currently the language used for development is C++ and the direction of the product is to improve and expand the capabilities to increase SplashKit accessibility.
Product Lead: Yash Kondlekar
The Programming Arcana is an open-source friendly programming textbook that teaches introductory programming concepts to those new to programming. From the programming Arcana’s GitHub, the guiding principles are:
The programming Arcana currently has two versions, 1.0.x and 2.0.x. Version 1.0.x uses Tex as its typesetting system. Version 2.0.x uses Markdown as its typesetting system. This version also uses NodeJS and React to deploy a website. Version 2.0.x is still in progress; therefore, goals include finishing the documents, creating different programming language examples, and migrating the programming Arcana into SplashKit which would allow the SplashKit users to view the programming Arcana as they are developing resulting in an enhanced learning experience.
The Migration of Arcana to SplashKit project development is completed, the documentation is being completed retrospectively.
Migration of Arcana to SplashKit project consisted of converting 20 code snippets from the SwinGame library into SplashKit. All 20 code snippets have since been converted and undergone testing based on the requirements outlined in the Programming Arcana, e.g., rocket_launch.c fails as intended. The project collaborated with Andrew Cain to achieve the desired outcome and feel for the Programming Arcana
Backlog | In Progress | Completed |
---|---|---|
|
|
|
NA
This project will be completed by week eight. In the interim team members will be sent to assist on other projects. Ray Guo is consulting with the Front-End Migration Team (OnTrack) and Devesh Juggiah will continue working in Operations. Refer to the product forecast.
This project is complete.
This migrating Arcana to Splashkit task is to find all the code examples/snippets then migrate the code from SDK SwinGame to SDK SplashKit. The currently stage is completed. All the files are converted and most of them are merged into the head branch, there is one pending pull request.
Complete the translation of existing SwinGame code to Splashkit. Apply a code formatter ‘clang-format’ to ensure consistency across all code snippets.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
programming-arcana/tree/master/topics |
All the migration was completed prior to week 6. Thus, there was a pivot in focus toward collaboration and merging the code. This was done by creating pull request on GitHub and reviewing feedback from the team to improve the quality of work.
At this time the project is classified as complete, so Long-term are unknown.
Achievement | Contributor |
---|---|
Merge code to the head branch | Ray Guo, Lachlan Morgan, Devesh Juggiah, Ray Guo Richard Douglas-Denton (reviewer) |
Implement code formatter to the project |
|
The project is completed. The project has been rescoped and a new epic has been created for next trimester.
As the tasks are completed, the challenges are all about applying the code formatter to the project. The first challenge would be to apply the consistent style for Linux, macOS and windows. The second challenge would be the native ‘clang-format’ package is not easy to use so we had to find a wrapper script to addon additional features like coloured difference.
SplashKit is a product that has been developed to abstract away the complexities of programming languages for novice programmers. However, the toolchains and development environments required to use SplashKit can be difficult and confusing to see tup for inexperienced users. Some aspects of these issues have already been eased using SplashKit’s current install script, but it’s been observed that the initial installation process for “skm" could be further simplified.
The Distribution Channel Team intends to improve the installation process of SplashKit for new users across all three major operating systems; Windows, Linux and macOS.
The result of these improvements aims to be a single command or executable installation process that yields a working development environment for SplashKit on Windows, Linux or macOS ready for the user to start using SplashKit as quickly as possible. Decreasing the friction of the installation process aims to streamline the setup process for new users, potentially adding both product value to SplashKit – and confidence to new users.
The main aims for the Distribution Channel Team this trimester:
Currently the deliverables planned for Sprint 1 will be to investigate the user and customer requirements in installing splash kit on Linux, Windows, and Mac OS (including the recent M1 chip). These deliverables are critical to the scoping of future deliverables and direction for our team as once completed, potential solutions can be determined, and tasks delegated accordingly.
The current deliverables intended for completion prior to the conclusion of sprint 1 are as follows:
Our expectation is that the information gathered will to turn these into Long-term and break those down into deliverables for the upcoming Sprint 2 and 3.
The One-command installer project is approximately one-third complete and is on track to be complete by the end of trimester.
An updated macOS installation script has been written, reviewed, and merged into the Thoth Tech skm repository. The Linux installation script is a work in progress and expect completion, review, and merge within second sprint. The Windows installation script is still in the research and investigation phase with expect development to begin within second sprint. The project team consider the project to be on-time, slightly ahead of schedule.
The research and review process for a one-command macOS installation script for SplashKit has been an important milestone in the project’s development. It has highlighted the path forward for the remaining two operating systems. Due to similarities between macOS and Linux (both support the BASH scripting language) Linux development is expected to follow a similar path.
The new macOS installation script has created changes to the installation instructions on the splashkit.io website – these will be updated accordingly. Namely that the single-command installation message will need to be updated to invoke bash in differently, as well as having a PowerShell specific command for Windows users.
A solution for Windows is significantly different since Windows does not natively support BASH or a Unix-like development environment. This reframes the problem from being just install SplashKit to install a Unix-like development environment AND SplashKit. One solution is to use the software package manager Chocolatey to install the Msys2 virtual Unix environment, then execute a SplashKit installation script. Chocolatey can be installed using a PowerShell script which then can call other scripts after installation has been completed. Alternatively, the team is considering writing a single PowerShell script that installs Msys2 before then executing a SplashKit installer directly inside Msys2 (all in one-command). This solution could be distributed in a zip file of scripts with readme documentation. However, this would not achieve the goal of a single-click executable.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
References
Deciding on a solution specific to Windows installation with approval from key stakeholders.
The expectation is that the project will be completed by the end of trimester, excluding changes required to the splashkit.io website installation instructions. Refer to the product forecast.
The project is healthy, currently 75% completed.
The team is happy with the progress made during the trimester with respect to research, documentation, and the presented solutions of one-command installation scripts on macOS and Linux. The team has identified that the installation of SplashKit on Microsoft Windows is a more complicated installation process. There is no single clear or standard solution for implementing a single-command installation of the SplashKit development environment.
Research into appropriate software testing strategies, in such contexts, have indicated that the testing of one-command installation scripts needs to be a tool-supported manual process – making testing difficult due to varying access to hardware.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
thoth-tech/skm: CLI and GUI app for SplashKit thoth-tech/splashkit-core: Core code for SplashKit—beginner's all-purpose SDK |
The aims of the trimester were to create a one-step install process for SplashKit for each Operating System. This has been completed for Linux and MacOS.
The windows one-click solution has not had the same success with a late change of direction into documenting the installation of applications using Chocolaty via PowerShell script to then have commands sent to the newly installed Msys2 terminal. The problem so far has been invoking the Msys2 terminal with a command within the PS1 script. Once this has been completed, this prototype in the form of documentation is to be provided to product owners to decide whether this solution suits all requirements.
Since the last report Linux and MacOS installers have been refined and made into one step installers. Windows install methods have been researched and continue to be worked on to create a solution.
Deliverables required next semester are to confirm with product owners as to what direction they prefer regarding package managers. Once decided the incumbents are to review the prototype documentation and confirm whether the current implementation meets the requirements from the product owners. Additionally, development of instructions which can be delivered to end users on how to interact with the script and appropriate follow through of GitHub protocols to submit the pull request are required.
Achievement | Contributor |
---|---|
Initial research documentation | Richard Douglas-Denton (author), Talia Zidar (reviewer) |
Complete macOS one-command installation solution | Richard Douglas-Denton (author), Tan Le and Lachlan Morgan (reviewer) |
Complete Linux one-command installation solution | Richard Douglas-Denton (author), Tan Le and Lachlan Morgan (reviewer) |
Complete Apple Silicon compatibility fix for SplashKit-core
|
Richard Douglas-Denton (author), Tan Le and Lachlan Morgan (reviewer) |
Development of testing strategy documentation | Richard Douglas-Denton (author), Talia Zidar (reviewer) |
The installation process on Microsoft Windows still needs a solution to be written, tested, and implemented based on the research conducted by the team during the Trimester.
Some refactoring and generalisation of the one-command installation scripts should take place to tidy up the installation scripts, reducing the complexity of the overall source code structure.
The team received feedback later in the Trimester from stakeholders indicating they would like to perform research into the viability of using existing software package managers on different operating systems (such as homebrew on macOS, apt on Linux and Chocolately on Windows). Future iterations of the project could address wrapping the existing installation scripts in different software package formats suited to these package managers.
Current blockers are to append commands to the current PowerShell script to invoke Msys2. The commands to append can be found in the installation guide for windows. Blockers that could occur in the future could be if the product owners decide to go in a different direction altogether, this could mean that any research regarding Windows up to now is made redundant.
The SplashKit translator is a Ruby application that translates the original CPP library into a target language. Currently, the translator enables the translation of the SplashKit library into Python (< 3.8), Pascal, Rust, and C#. The SplashKit Extensions project’s aim is to provide the SplashKit library interface in additional languages.
Translating the SplashKit library into other languages provides the flexibility to teach other languages using SplashKit as well as increase the adoption of SplashKit. The project also ensures SplashKit’s continued relevance in a changing field.
The Language Extensions project is at risk.
The language extensions project be able to get the SplashKit translator project working on Windows (using WSL) and Linux systems. The team had considerable issues with attempting to set up the translator and no macOS systems available for testing. After repeated attempts using multiple OSs via virtual machines, the issue was escalated to the leadership team. Tan Le assisted with updating and modifying an old docker container to run the translator.
The initial weeks were spent developing and updating issues with the translator. The current setup instructions and solutions are well documented and to prevent impediments for future developers. Written instructions on how to setup the SplashKit translator on both systems, as well as development instructions have been produced and currently awaiting review in pull requests.
The team has several tasks in progress, including investigating the Python compatibility issue, researching alternative libraries, and completing the Rust extension.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
The headerdoc library that SplashKit translator is built is no longer supported or updated
Previous version of the Docker file utilised DNF (Dandified YUM) which means it was built to work on Fedora Linux
There are currently no active blockers, all have been resolved prior to Mid Trimester update.
The team has a limited understanding of how the translator operates. This creates difficulty to understand what is required in developing a new language and debugging existing issues.
Research will be documented, and progress delivered in handover for future teams. Despite the risk, there is an intention to resolve the Python issues and deliver at least one working language extension by the end of the trimester. Refer to the product forecast.
The focus of this project shifted has shifted since the beginning report due to unforeseen issues. These have since been addressed and the project is now back on course. However, it is unlikely to move beyond the design, research and planning phase this trimester.
The project experienced significant barriers.
The Language Extensions project is off-track, with neither the Python compatibility nor Language extensions projects meeting their goals. The project was challenging due to a lack of information, and significant upskilling requirements. The team worked to understand the existing code base, investigated how to develop on multiple operating systems, updated Docker files and documented the findings. This has provided a significant base of knowledge to pass on to later development teams.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
This trimester the team started with the following aims:
Aim | Status |
---|---|
Understand how the language translator works | The team investigated many aspects of the project, including running it on different OS, the contents of the existing repository, how the files work together, the libraries utilised in the exist code base, how to setup an environment to work on the project, and how to operate the project. This aim was broad and generated considerable amount of knowledge which enabled to team to complete other tasks. There is still a considerable amount of knowledge about this project that has not been investigated/learnt. |
Prepare team members for future semesters. | The team documented how to setup a development environment and document commands to run the translator, as well as created scripts and docker files to make the process easier for future team members. |
Investigate changes in Python between 3.8x versions and identify which of these changes have cause the current incompatibilities | Work was attempted across the trimester for investigating what happened to cause Python 3.8+ to not work with the SplashKit Translator. Unfortunately, with versions prior to 3.8, they would translate correctly but it was impossible to execute due to all translated python files unable to find the SplashKit Library. Work was done to attempt to fix this issue but to no avail. |
Get SplashKit Successfully working on the latest Python (3.10.x) | The team was unable to meet this aim, as they were still trying to get Python 3.8+ working with the SplashKit Translator. |
Develop a new language translation for the translator | Work was done to complete the Rust translator. However, this was not completed. The team managed to get the translator to generate an output file. Unfortunately, when compiled into a Rust program the file still generates numerous compiler errors. The team was in the process of understanding and working through the errors. |
Deliverable | Status |
---|---|
Document running SplashKit translator in Ubuntu | Complete. The Ubuntu instructions have been completed and merged into the head branch. |
Document running SplashKit translator in Windows via Docker | Complete. The team investigated how to get the translator running from on windows via Docker. After successfully running the translator in Windows, the instructions were documented. |
Documentation of the C# language extension translator | Incomplete. The team investigate the C# translator and compiled documentation about using it. However, the documentation still needs to be expanded. |
Python compatibility 3.8/3.10 | Incomplete. Progress was made on testing Python compatibility for versions prior to 3.8 but docker error occurred whenever executing a translated python file. Lacking understanding of the cause of incompatibility, investigation into changes from 3.7 to 3.8 was undertaken and a short report of those changes compiled and submitted to provide a better starting point for future teams. |
Rust language extension | Incomplete. Progress was made on the Rust language extension. However, it was not completed. |
Research alternative documentation generators to replace HeaderDoc | Complete. Investigation found that HeaderDoc was outdated, and all documentation retired. Alternatives were found to be more compatible, providing additional platform and language support. A software change request form was completed and submitted. |
Task | Information |
---|---|
Test SplashKit Python translator with Python versions prior to v3.8 | The team need to successfully use the translated Python file and import it into a Python project. Currently the Python project throws an error when trying to run that it cannot find the SplashKit library. https://trello.com/c/ukKKR2mt/12-test-splashkit-python-translator-with-python-versions-prior-to-v38
|
Test SplashKit Python translator with Python 3.10 | The team need first get SplashKit working for Python v3.8 as this is supposed to be working to help understand what has changed and is now preventing the translator from working with v3.10. https://trello.com/c/2TKSoxGt/13-test-splashkit-python-translator-with-python-310 |
Complete Rust Language Extension | The Rust Language is a modern general programming language that is being utilised in many modern settings, including Linux development. The Rust translator currently outputs a Rust file that when compile gives numerous errors. The Rust.rb file needs to be updated to ensure that the correct syntax is being written for the output file. https://trello.com/c/2d8COBUg/27-complete-rust-language-extension |
Backlog Tasks
Task | Trello link |
---|---|
Fix symlinks for Windows | The symlink files used by the SplashKit translator do not work correctly in Windows after pulling from GitHub. This issue needs to be investigated and fixed. |
Provide progress/status updates to terminal when running the translator | The translator appears idle for some time when operating and can take a significant amount of time. A progress indicator would help users understand that the application is still processing. |
Create Ruby language extension | Ruby is a functional programming language that the team need to learn as the translator project is written in Ruby. This makes is a great candidate for translating SplashKit into. https://trello.com/c/Xw8pfXD2/29-create-ruby-language-extension |
Create Go language extension | The Go programming language is a feature rich, easily readable language and is very rarely updated or changed. https://trello.com/c/tYqxZ40k/28-create-go-language-extension |
Achievement | Contributor |
---|---|
SplashKit Translator
|
Dylan Medlin, Ben Thomas, Allan Farrell, Tan Le, Jack Sievers |
Docker Compose configuration simplifies developing and using the translator | Tan Le, Dylan Medlin, Allan Farrell |
Documentation of setup and usage of the translator will make it easier for future teams to work on this project | Jack Sievers, Allan Farrell, Ben Thomas, Timothy Wilbert, Dylan Medlin |
Given the challenges faced by the team this semester, it is recommended that students are advised to upskill in Ruby immediately.
Any additional information, from Andrew Cain, about the project would beneficial. An overview of the purpose of the translator and how it is intended to function. Additionally, a technical overview of the translator’s source code, what each of the components is for, and how they work together.
Project documentation was included in the SplashKit Translator repository, while other documentation was added to the Thoth-tech/documentation repository.
The goal of this project is to create a physical arcade machine with accompanying software to showcase student games, developed with the SplashKit SDK. The machine will perform similarly to a Multi-Game Arcade Machine, allowing users to select a game from a local library of games. Our system ideally will instead have access to a growing library of SplashKit games publicly hosted on the internet. Objectives include:
Additional features which may be considered later in the lifecycle of the project include the development and deployment of a website which:
The primary aim of this trimester is to develop a platform which supports the uploading, storage, and access to a growing library of games developed using the SplashKit SDK. Access to the game library will be offered through the platform where the user can configure settings and select and play their desired game. If time permits, a physical Arcade Machine will be designed and manufactured however the software platform is the primary focus for the trimester.
The Arcade Machine project is healthy. Progress is being made at a consistent speed and the team is currently on track to have deliverables completed by the end of the Trimester.
The Arcade team has a working prototype for the software. The current work is focused on refining the software and documentation for delivery for the end of the trimester.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
The Applications project had encountered communication issues. The Delivery lead had personal issues that limited their ability to communicate with the team setting back some tasks and documentation. This is being addressed, and other team members stepping up to assist. The Arcade Team had issues regarding cursors and locking screens. Since solved and the arcade machine has a working prototype. It is capable of reading JSON files, using the SplashKit SDK, located outside of the directory.
The next steps include planning hardware on the arcade machine as a draft copy, working on project documentation and beginning work on a handover document.
The highlights of the Applications team include a working prototype of an arcade machine created from the base up that the Arcade Machine team has worked on which applies all Thoth Tech values.
On Start Up of arcade machine the games are cloned from GitHub, these are displayed on a menu page and when selected open the game in a new window on top of the arcade machine, when escape key is hit, user is taken back to games menu. There is a working grid layout and button class.
The Arcade Machine team will have the software side mostly completed. Refer to the product forecast.
This project is healthy.
The Windows-based software application of this project is almost finalised. This includes a prototype desktop executable and sufficient testing. The next stages of development will involve porting the Windows targeted codebase over to a Linux environment, in preparation for the building of a physical arcade machine with Raspberry Pi hardware.
The preparation process will require some software redesign, research into porting to a Linux environment, and creating an enclosure, purchasing components, and linking them all together for a final product. Future development includes a filtering process and documentation for the machine as it is a complex project.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
The goals originally set for this project and included in GitHub. This includes a server for the games (this is the thoth-tech/arcade-games repository), the arcade machine software codebase, and an expanding library of games to be included into the final product. A fundamentally foundational software application has been created for the eventual creation of a physical machine. The software was the fundamental piece of architecture, thus, it has been a priority to finish by the end of the trimester, and that goal has been completed.
The deliverables are considered complete as the arcade machine is working, and the games can be uploaded to the server to be played on the machine.
Achievement | Contributor |
---|---|
Creation of an automated git clone process to access newly added games | Anthony George |
Creation of foundational grid/menu/button asset drawing and function classes | Riley Nicholas Dellios, Sarah Gosling, Anthony |
Creation of selector and action functional classes | Sarah Gosling |
Creation of configuration data file and parser | Anthony George |
Creation of repositories to store games and code | Anthony, Sarah Gosling |
Creation of user guide documentation | Anthony, Sarah Gosling, Riley |
Contribution of assets and design | Anthony, Sarah Gosling, Riley Nicholas Dellios, Nguyen Quoc Huy Pham |
Working Windows based software application | Anthony, Sarah Gosling, Riley Nicholas Dellios, Nguyen Quoc Huy Pham |
Future development teams should focus on porting the application codebase over to a Linux environment before proceeding to build a physical machine, as the hardware intended for use will house a Linux OS.
To gain an understanding of the project, it is recommended to reviewing meeting minutes, Trello board tasks, and git contributions. There are many features to be added to the software listed in the ‘to-do’ list on Trello.
There are no blockers anticipated for T2.
The next main steps include researching the parts needed and the type of machine we are building. This will be the focus on next trimester as the software is mostly completed and in the refining stage.
The project that the Build a Cool Game team has is to make games that can be showcased and played on the Arcade machine that is going to be virtually built. The goal is to make a game that uses all functions that SplashKit has to offer within game creation. The long-term goal will showcase that SplashKit can be extended upon as a game engine and can create games that can be played on different platforms. As SplashKit is widely used to create 2D games, it will be a good opportunity to showcase how SplashKit games can be extended and shown on a physical arcade machine.
The aim for this trimester is to work on game creation using SplashKit. This must incorporate all the functions that SplashKit has to make the games. This will showcase the creation tools that game developers can use to create a game from scratch so that it can be played on the arcade machine.
The Build a Cool Game project is healthy. Progress is being made at a consistent speed and the team is currently on track to have deliverables completed by the end of the Trimester.
The Cool Games team has progressed with each team member’s respective deliverable being developed and documented. Although delayed in the first weeks, each respective member has been working and completing parts of their project at great speed.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
Backlog | In Progress | Completed |
---|---|---|
|
|
|
Backlog | In Progress | Completed |
---|---|---|
|
|
|
The Applications project had encountered communication issues. The Delivery lead had personal issues that limited their ability to communicate with the team setting back some tasks and documentation. This is being addressed, and other team members stepping up to assist. The Cool Games team have faced technical issues, with a member not having access to a workstation to contribute to their game. Since resolved, the member has made considerable progress to the deliverable.
The next steps include working on project documentation and beginning work on a handover document.
The highlights of the Applications team include:
The games team are expecting to be completing the game structure and at least halfway through programming the games.
User Guide Article Series is likely to be started but remain incomplete for the Trimester. Refer to the product forecast.
The project is health, however, delayed.
The most important takeaways would include managing time and communication within the team and organisation skills. When it came to creating games, research and time management had to be considered and the structure mattered. Overall, the team took many notes from this semester and are looking forward to addressing this most next semester.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
The planning stage has been addressed and will move forward into trimester two. This trimester had many unforeseen delays, which has pushed the aims into the following trimester. However, the games being created are compliant with the aims established this trimester.
For next semester we will be working on refining the created games and completing the How-to Article series retrospectively.
Achievement | Contributor |
---|---|
Dicey Combat game, team organisation and fostering ideas. | Bella Chhour (lead), and Lily Lan |
Jump game concept, pseudocode and development. | Morgaine Barter |
Tanks game development. | Nick Agiazis |
Fight game development. | Lachlan Morgan |
The project requires user feedback for the testing strategy. One example is a scale rating of ‘coolness’ (from 1-10) at end of playing a game.
Teams should begin work on the How-to Article series outlining how to replicate this game. This will be uploaded to the splashkit.io website, including:
All current games still require further development. Currently there is no functionality, level design, or difficulty increase. The games are in the following status:
Upskilling is a current and likely a future challenge. Due to the niche audience of SplashKit many students have little SplashKit knowledge of the SDK. Producing some starter/example code could be useful to help refamiliarize the developers with SplashKit.
Data was lost due to a computer malfunction, as such the development of two games was restarted
Across three modules, Physics, Data Analytics and Machine Learning, SplashKit aims to enrich and expand its functionality, to improve current features and extend its user base beyond game development. In the next two years, SplashKit aims to develop a full 2D physics engine that can be used by game developers, requiring the addition of a realistic and easy to use physics library. New capabilities to interact with, visualise, and analyse data are aiming to attract new users and provide data analytics functionalities for the existing user base.
SplashKit’s current objective for Machine Learning is to develop an Artificial Intelligence framework that allows the inclusion of artificial co-op or opposition characters into SplashKit games, with a long-term goal to integrate with the Data Analytics module and to create a complete Machine Learning framework.
This trimester, the team are aiming to finalise and publish the existing work completed for all three modules. The Physics and Data Analytics team are aiming to review and publish the existing elastic collision, impulse effect, and data frame code from past developers, whilst the Machine Learning team is expecting to use the example code from past developers as reference to build a brand-new system.
The team aims to produce new functionality this trimester to the existing code, including extending the physics API to complete the handing of 2D sprite and object collisions, and implementing gravity. Data Analytics team plan to extend data frames to allow instance selection, standardisation, transformation, and feature selection. Machine Learning team aims to design a reinforcement learning algorithm that is capable of co-op or opposition AI in SplashKit games.
All Modules Projects are healthy, conducting QA and testing.
All teams have finalised research and upskilling in C++ and SplashKit. The modules have received the T3 created code and are developing and conducting testing and QA checks to ensure high quality standards of both code and documentation.
Physics
Backlog | In Progress | Completed |
---|---|---|
|
|
|
Data Analytics
Backlog | In Progress | Completed |
---|---|---|
|
|
|
Machine Learning
Backlog | In Progress | Completed |
---|---|---|
|
|
|
Ricky Dodd (Machine Learning, Software Developer) is no longer a member of Thoth Tech. This position has been backfilled by Linden Hutchinson (OnTrack Deployment, Full Stack Developer) and Yash Kondlekar (SplashKit Product Lead).
All modules will have completed review of the previous trimester code and documentation will be created as required. If necessary, bug fixes and improvements will be addressed. Refer to the product forecast.
New development has been delayed in favour of Quality Assurance and Testing checks for previously developed code. The data analytics team have pushed the Data Transformation and Feature Selection to T2 due to current state of testing, which will require a lot more work than first anticipated.
Within the Machine Learning project, focus is on implementing a generalisable and scalable API and documentation has been pushed back to T2 due to an evolving API to prevent it from becoming outdated.
This project is healthy; however, progress was momentarily blocked.
Machine Learning
All Machine Learning deliverables for trimester one has been met, including producing a working Q-Learning agent. Goals for next trimester and long term include publishing this work, enhancing performance, and adding neural networks.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
The design, implementation and documentation of a Q-Learning agent that can be used in SplashKit games has begun, inspired by previous code, with a working agent compiling for games such as tic-tac-toe. Preparation for extensions has begun, including performance enhancements, neural network capabilities, saving, loading, and benchmarking.
The Q-Learning agent has been improved with parameter tuning and minimax benchmarks have been developed. Documentation has been prepared for new team members in trimester two. Machine Inputs (how the system “sees” the game) has been made dynamic and users can now make inputs for many more elements such as player health and current player.
Trimester two goals include implementing neural networks (basic dense network), testing the robustness of the system in more scenarios, implementation of additional models, and save/load functionality.
Achievement | Contributor |
---|---|
Design and development of reinforcement learning agent | Harry Dentry |
Design and development of API to allow agent to be used in users’ games | Harry Dentry |
Testing should be done by implementing test cases on more games that cover a variety of game features such as:
Neural Networks can improve performance on complex games and allow the system to learn how to play in a variety of circumstances.
Neural Networks, may be hard to implement due to lack of knowledge and differing programming language than expected (as NNs are learnt in languages such as python)
An in-depth Quality Assurance check has been completed and most functionality is not performing as expected. Data Frames will require a complete redesign in trimester two, with additional Data Frame and plotting functionality required in the longer term.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
Documentation of Data Analytics |
The Quality Assurance checks identified that the Data Analytics work from previous trimesters is neither compiling nor performing their expected tasks. There are severe issues with cross-platform compatibility, dependencies, and scalability. The Data Frames will need to be redesigned and implemented before progressing to data standardisation, transformation, and feature selection.
Extensive debugging has taken place in attempt salvage last trimesters code. Due to cross-platform compatibility issues and inaccurate implementations, the team has identified that a complete redesign is required.
A redesign of the Data Frames is required in trimester two, including visualising, loading, and saving data. Other features such as instance selection, standardisation, transformation, features selection and plotting are longer term objectives.
Achievement | Contributor |
---|---|
Extensive Quality Assurance check on Data Frames Code | Ryan Allan Lawrence, Timothy Moore, and Kai Tao |
Documentation | Ryan Allan Lawrence and Timothy Moore |
Trello, Git and GitHub usage guides | Ryan Allan Lawrence and Timothy Moore |
The redesign of the Data Frames can be inspired by Python’s implementation of Pandas. Creating a UML diagram and documentation would prevent the same issues faced by the team in trimester one.
There is no anticipated blockers for T2.
Code compilation and Quality Assurance has been performed on the current code. Test case development has begun, but a significant dependency on Box2D will require many methods needing to be redesigned.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
Comparison of Daniel's work |
A working port of the trimester 3 Physics code has been created. Documentation and test development has begun as part of the Quality Assurance checks. Extensions to enhance collisions between sprites and objects as well as gravity have been delayed due to many methods from previous code not executing in relation to their expected API. The Quality Assurance process will continue in trimester two.
A public API has been developed, along with test cases for the recently developed physics code. Quality Assurance has identified unsuitable dependencies and inconsistent documentation in need or repairing.
Much of the previously completed physics code relied on Box2d physics. As part of trimester two, the code will need to be refactored and redesigned to remove this dependency, as well as to finish the Quality Assurance check.
Achievement | Contributor |
---|---|
Assessed and compiled Physics code from recent trimesters. | Daniel Robert Haysham and Kanna Srilakshmanan |
Test cases for Physics code methods | Daniel Robert Haysham |
Physics API document | Daniel Robert Haysham |
The trimester two Physics team could use the Box2D implementation as inspiration for a redesign. Enhancing documentation will also aid in code readability.
Incomplete documentation of additional dependencies for Physics code may slow quality assurance progress.
DreamBig is a new product innovation driven by the School of IT at Deakin. DreamBig aims to provide a personalised roadmap integrated with Ontrack to support students to develop their professional identity across their course and improve their employability after graduation. In addition, it aims to provide a platform to help set realistic expectations for students graduating into the real world. In line with this vision, it is proposed to build a prototype that can help achieve the following goals:
Product Lead: Abigail Howe
DreamBig is at its early inception. The customer needs and product requirements are still yet discovered and refined. The Prototype project is an attempt to explore the product-market fit. The process includes determining our target customer, identifying underserved customer needs, defining the product value proposition, specifying the MVP feature set, building, and testing the prototype with the customers.
Research will be conducted to investigate customer needs and prioritise high-value features. These will form the minimum viable product (MVP). As part of this work, the following will be established:
Project is on-track: some changes in requirements have occurred due to board feedback, but these have been incorporated and project is progressing.
The team has worked their best on wireframes and getting themselves ready for the prototyping phase. There have been some changes to scope and development requirements in response to feedback given by the board. These have now been reworked into requirements, with the UI prototype estimated to be completed by sprint two.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
NA
The project should have a full UI prototype and minimum viable product by completion of the trimester. Refer to the product forecast.
The team initially planned to only produce a UI prototype, leaving a technical model for trimester two. After discussion with the board, the project team has made changes to our deliverables. The team will be completing their work on the UI prototype by sprint two and the back-end team will be developing a simple technical prototype throughout sprint 3 and 4.
The project team has dedicated time for user evaluation during sprint 3 and 4.
The project is going great keeping track of the planned schedule.
The most important takeaways from our project status report here are firstly communication. This was one of the most important hurdles that we managed to overcome as a team, because we had to incorporate everyone’s availability. Another important takeaway we had was managing deadlines, as a team starting the project from scratch, we had many tasks that went over the expected date or had to extend due to changing tutor requirements.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
The planning part of this project for trimester 2 has been taken care of, as we transition into T2, the team will be assigned their roles with regards to either front-end dev or back-end dev. By the end of the trimester, we will be able to demonstrate a fully working UI prototype of the application and a coded prototype with MVP. For this on the team we currently have 2 developers and looking forward to onboarding 4 more team members.
Achievement | Contributor |
---|---|
|
Zac Brydon, Munatsi Matipana, and George Gkoumas. |
|
Guanyu Chen, Harry Lui, and Harrison Paul Allwood |
|
Guanyu Chen, Harry Lui, Harrison Paul Allwood, and Neha Makineni (lead) |
|
Neha Makineni |
No new blockers have been identified.
The internal systems product is a new initiative driven mitigating the challenge of the Thoth Tech company turning over half its employees every four months. The aim of this is to provide an accessible centralized location to display key company information and documentation which is sourced from the Thoth Tech repo.
Product Lead: Abigail Howe
The goal for the Internal systems team is to research, scope, plan and prototype a web page that will house all necessary information for Thoth Tech. To achieve this the main objectives across the Internal Systems team will be to research different tools, technologies and processes and decide on what will best serve requirements and given team member skills whilst also allowing for expansion and adaptability in the future. The web page will create a centralised location for all the company’s information needed for its internal audience. This in turn will simplify the onboarding and resource sharing amongst the company and its everchanging audiences.
The aim this trimester is to plan out the architecture needed, design the page, and create documentation that will serve as a solid base for the progressive development of the web page.
An understanding will be built of components required and the privacy and privileges needed by different users. A prototype will also be built that will showcase the design and functionality.
Git will be used to manage team contributions to the development of the web page and guidelines will be created for the testing structure utilised.
Internal Systems project is tracking well, but progress is slow.
Progress is tracking along in the Internal systems team. Currently spike testing both Jekyll as well as Gatsby, working on design draft for the website and drafting of the SRS document is underway. In addition to this, the team is working on migrating project research into Markdown format so that this can be housed in the GitHub repository and used as content for the static site. At the conclusion of the current sprint, the team will decide upon or choose technology and will be heading into full development. This is where the team will get a good feel for the difficulty of the development and working through additional tools to supplement Jekyll or Gatsby.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
An identified blocker is the limited workforce. There is an extensive backlog of tasks planned to complete and the remote work environment has posed a challenge to the team. Moving forward, the team will work more asynchronously, which should increase the workflow and efficiency of the tasks.
The project team aims to have a working static site developed. Scope of data will be limited; however, proof of concept data sources will be created or utilised. Refer to product forecast.
The only change to the project is the decision to perform spike testing on both Jekyll and Gatsby, rather than a single solution.
The project is healthy, having completed planning and research.
Internal systems have been able to research and document different technologies and has made key decisions for the tools and practices of the project. We have created a repository containing our basic Gatsby project and have collated research on design concepts as well as getting started documents. We have collated all our teams research into the Toth Tech Documentation Repository for easy access, we have also drafted an SRS Document as well as User Stories that will aid in the development next trimester.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
The key aspects of the project were planned; however, hosting and Git action implementation is still outstanding. The team have documented the basic understanding of Gatsby with a User guide to Gatsby. This explains the contents of the GitHub repository for future developers to understands.
Achievement | Contributor |
---|---|
Spike Testing for Jekyll – The Spike testing included to download Jekyll, upskilling in Jekyll, and successfully creating a static site. The testing also included the advantages and disadvantages of Jekyll and comparison with other services to choose what would be the best platform to create a static site. | Tushar |
Google Cloud Hosting – Choosing the right platform for hosting a website can also be confusing. GCP research included the cons and pros of Google cloud hosting. And comparison with GitHub to get the idea on which would be best for our project. | Tushar |
Back-end Technologies – The initial research regarding whether the website should be static or dynamic, some research was done on some back-end technologies just in case if the website must be dynamic. | Tushar |
Gatsby starter codebase for the repo – Created Gatsby starter project, installed markdown plugins to be used later and moved all the code to internal system repository | Areeb Ijaz |
Front-end Technologies – Did some research on some set front-end technologies for the development of user interface of website. | Manveen Kaur Bhullar |
Spike Testing Gatsby – Created a simple documentation site including docs plugin to test Gatsby. Like Jekyll testing, created documentation to include why we should be using Gatsby instead of other technologies | Areeb Ijaz |
Gatsby starter guide – Created a guide for future students to understand Gatsby and get up to speed with it. | Areeb Ijaz |
UI/UX Documentation – Created to act as a point of reference, providing context for the product's progress from concept to current version. | Matthew Fletcher |
General webpage management | Matthew Fletcher |
Webpage development/integration, both front-end and back-end | Areeb Ijaz |
Hosting services | Areeb Ijaz |
Website design prototype – created a document highlighting few designs and structure of static website | Manveen Kaur Bhullar |
GitHub Hosting and GitHub Actions | Manveen Kaur Bhullar |
Code Base Creation | Areeb Ijaz |
Update Gatsby Framework | Areeb Ijaz |
The focus in next trimester is developing the app. We would need the students get used to using GatsbyJS early on.
This project is designed to build security facets across all Thoth Tech products and the company itself. This project aims to improve the governance and compliance of our company based on other open-source companies. The risks associated with open-source software will also be addressed through this project, to protect Thoth Tech from reputational damage.
This project aims to develop privacy policies for all company products, to inform users of their rights regarding the data collected. It is the team’s intention to respect their users’ privacy and ensure the protection of their data through the development of risk mitigation strategies and procedures.
This trimester, the project team will be researching and producing privacy policies for Thoth Tech products:
In the long-term, this project is aiming to enhance security across the business and will expand to:
Project is at risk. Little progress has been made since the formulation of the group in week 5.
The project team has faced many issues in their engagement; however, some progress has been made. Basic research on all products has begun. The intention is to learn about the type of data that is collected when using each product and its importance. Further external research is being conducted to understand the expectations of companies and how they approach risks, handling users’ personal data, cookies and how to communicate with a user.
Backlog | In Progress | Completed |
---|---|---|
|
|
|
Risk & Compliance Trello Board
All progress so far has been undertaken by Harshpreet Kaur. Although there have been many attempts to coordinate the group, a full group meeting has not occurred and will be conducted on Tuesday 26th April – with the Area Leads overseeing.
It is likely that some progress will be made toward the Short-term by the end of trimester. The team will be reaching out to learn more about the data collected by each product. Refer to product Forecast.
Student | Contribution |
---|---|
Project Lead: Harshpreet Kaur | 80 |
Shiv Bhanu | 5 |
Charanjeet Singh | 5 |
(Proposed member) Ali Saeed | 0 |
Area Leads | 10 |
Total | 100% |
*This table has been added to demonstrate the engagement of each student within this team. For further explanation of the justifications, please consult Area Leads.
This project has been rescoped and is now healthy.
The team has ensured that all rescoped project deliverables have been completed by the end of trimester. This project has developed the beginning of Governance, Compliance and Risk (GCR) processes and understanding moving forward in development.
Backlog | In Progress | Completed | PR/Relevant documentation links |
---|---|---|---|
|
|
|
This project, despite delays, has achieved the trimester aims through collaboration with various delivery leads. The scope of this project was changed after the mid-trimester progress report. The aim of this trimester is now to develop privacy policies and identify compliance requirements and framework.
Through discussions with leadership, product risks were identified and correlated into a report. This report outlines the various requirements of software to comply with legislation and best practice. The report is in its first draft stage and will require editing in the following trimester.
Each product now has a generic privacy policy, which will outline the data usage practices and the rights of the users.
None of the Long-term were considered this trimester due to the delayed start.
Achievement | Contributor |
---|---|
Risk and Compliance Report draft: lead and OnTrack | Harshpreet Kaur |
Privacy Policies: lead and OnTrack | Harshpreet Kaur |
Risk and Compliance Report: SplashKit | Charanjeet Singh |
Privacy Policy: SplashKit | Charanjeet Singh |
Risk and Compliance report: DreamBig | Shiv Bhanu |
Privacy Policy: DreamBig | Shiv Bhanu |
No new blockers this progress report.
All these show case videos can be found in Thoth Tech General Files Company OnTrack Tasks Showcase Videos.
Extended Showcases