-### About Us
+## SplashKit Overview
-SplashKit is a C++ Software Development Kit. It is a beginner-friendly abstraction over SDL and many
-other libraries to assist in introductory programming education, and can be used to create 2D games.
+As a new contributor to SplashKit, you’ll be working on a versatile and beginner-friendly software
+development toolkit focused on simplifying 2D game development and interactive applications.
+SplashKit already supports cross-platform development for Windows, macOS, and Linux, allowing
+developers to use a single codebase for multiple platforms.
-Through this project, this team hopes to allow students to create and publish their own interactive
-experiences to share with other students and advance their own creative and professional
-capabilities.
+This document aims to provide a brief overview of the SplashKit ecosystem and highlight the core
+areas where you’ll contribute to SplashKit’s growth. The focus of future growth will be on extending
+its functionality, improving existing features, and supporting the developer community through
+improved tutorials and documentation.
-### Main GitHub Repos
+### SplashKit Documentation
-Here are our main github repositories:
+#### SplashKit.io
+
+
-
+
+
+
+
+SplashKit.io is the primary public-facing website for the SplashKit community. It contains guides,
+tutorials, and comprehensive API documentation. This platform is designed to help users, especially
+beginners, learn how to use SplashKit effectively in their projects. As a contributor, your
+responsibilities might include writing new guides, updating existing tutorials, and ensuring the API
+documentation is clear and up-to-date.
+
+#### Thoth-Tech Documentation Website
+
+
+
+
+
+
+
+
+
+The Thoth-Tech Documentation Website is an internal platform focused on providing detailed
+explanations of features and guides targeted at the Thoth-Tech team. It serves as a valuable
+resource for team members to reference when contributing to SplashKit or collaborating on projects.
+Contributors may need to update or write internal-facing documentation, particularly as new features
+or internal tools are developed.
+
+#### Documentation
+
+
+
+
+
+
+
+
+The documentation repository is a 'miscellaneous' collection where all documents that do not fit
+into other repositories are stored. This might include research reports, documentation on incomplete
+or experimental features, or other internal records. Contributors might add new documentation here
+or help organize and maintain existing records to ensure they are accessible and up-to-date.
+
+### SplashKit Development
+
+#### SplashKit Core
+
+
+
+
+
+
+
+
+Contributing to SplashKit Core means working directly on the foundation of the SDK. This involves
+core functionalities like rendering, audio management, input handling, and more. As a team member,
+you’ll focus on adding new features, fixing bugs, and ensuring the overall performance of the SDK
+remains high.
+
+While the core is primarily built in C++, you’ll be contributing to a codebase that supports
+translation into other languages like C#, Python, and Pascal. Although the translation process is
+largely automated, maintaining the quality and performance of the core features will be your main
+responsibility. Cross-platform development is central to SplashKit, so you'll be handling different
+OS nuances as you work on features that need to run smoothly on Windows, macOS, and Linux.
+
+#### SplashKit Manager (SKM)
+
+
+
+
+
+
+
+The SplashKit Manager (SKM) is a command-line interface (CLI) and application tool designed to
+simplify the development workflow with SplashKit. It automates tasks such as project setup,
+dependency management, compilation, and running code across different platforms. Contributions to
+SKM will primary be to ensure it stays aligned with updates and new features in SplashKit Core. For
+example, you’ll ensure that new dependencies or libraries introduced in the core SDK are correctly
+included and managed across all supported platforms.
+
+Beyond core synchronisation, there may also be opportunities to improve the overall user experience
+by streamlining project initialization, refining dependency management, or adding tools that make
+the workflow more efficient for developers. However, your primary focus will be ensuring SKM
+seamlessly integrates with the evolving features and requirements of the core SplashKit SDK.
+
+#### SplashKit Translator
+
+
+
+
+
+
+
+The SplashKit Translator automates the process of translating SplashKit’s core C++ functionality
+into other supported languages like C#, Python, and Pascal. Since this process is largely automated
+using ERB templating, there’s minimal need for direct contributions here.
+
+Your focus will remain on maintaining and enhancing the core SDK, as changes there will naturally
+propagate through the automated translation process. Ensuring that core features are implemented
+cleanly and efficiently in C++ will help maintain consistency across languages.
+
+#### SplashKit Online
+
+
+
+
+
+
+
+SplashKit Online is a web-based IDE designed to help beginner programmers quickly start building 2D
+games directly in the browser. While it currently supports JavaScript (with experimental C++
+functionality) and leverages WebAssembly (Wasm) to execute SplashKit code, the goal is to expand
+this support to include all languages that SplashKit supports: C#, Python, and Pascal.
+
+As a contributor to SplashKit Online, your primary responsibility will be developing and integrating
+full support for these languages, allowing users to write and run code in C#, Python, and Pascal
+seamlessly within the browser-based environment. This will involve extending the IDE's functionality
+to handle language-specific nuances and ensuring that WebAssembly can execute code from these
+languages efficiently.
+
+Your work will also include improving the user experience, making the platform more intuitive and
+accessible for users, and ensuring that the transition between languages is smooth. This could
+involve building better language selection interfaces, optimizing performance for different
+languages, and adding language-specific tools or debugging features.
+
+#### Arcade Machines
+
+
+
-
-
-
-
-
+
+
+
+The Arcade Machines on Deakin Campuses use emulationstation, retropie, and a custom SplashKit
+application to run games built using the SplashKit SDK. These machines offer students the
+opportunity to upload their games and test them in a real-world arcade environment. The machines are
+designed to help students see their creations in action on physical hardware, making for a hands-on
+experience that bridges the gap between development and arcade-style game deployment.
+
+#### Game Development
+
+
+
+
+
+
+
+
+The Game Development team is a small, focused group that produces games designed to highlight the
+capabilities of SplashKit. These games follow industry-standard design patterns and practices to
+ensure they are polished and well-structured. The goal is to showcase what can be achieved using
+SplashKit while maintaining professional standards in game design and development. These projects
+serve as both a demonstration of SplashKit’s features and an inspiration for developers using the
+SDK to build their own games.
diff --git a/src/content/docs/products/splashkit/SplashKit Expansion/Documentation/peer-review-guide.mdx b/src/content/docs/products/splashkit/SplashKit Expansion/Documentation/peer-review-guide.mdx
new file mode 100644
index 00000000..00699438
--- /dev/null
+++ b/src/content/docs/products/splashkit/SplashKit Expansion/Documentation/peer-review-guide.mdx
@@ -0,0 +1,122 @@
+---
+title: Peer Review Guide
+sidebar:
+ label: Peer Review Guide
+ order: 1
+---
+
+import { Aside } from "@astrojs/starlight/components";
+
+## Introduction
+
+
+
+In SplashKit, peer reviews are an essential part of maintaining high-quality code. The Peer-Review
+Checklist provided below is required for every pull request and ensures that all contributions meet
+a consistent standard across the project. This checklist covers essential aspects like code quality,
+functionality, and testing.
+
+However, we recognize that every feature or task is different, and it’s difficult to capture all
+potential review points in a single checklist. That’s why we’ve also included a set of Peer-Review
+Prompts. These prompts are not mandatory but serve as a resource to guide the peer-review
+discussion. Since peer reviews should always be collaborative, these prompts help ensure that the
+review process is conversational and thorough, encouraging reviewers to think critically and explore
+areas that may not be immediately obvious.
+
+Remember, the goal of peer reviews is not only to verify the quality of the code but also to foster
+a collaborative environment where we improve together.
+
+
+
+### Splashkit Peer-Review Checklist
+
+```md
+## General Information
+
+- [ ] Type of Change: Clearly indicate the type of change (choose one):
+ - [ ] Bug fix
+ - [ ] New feature
+ - [ ] Breaking change
+ - [ ] Documentation update
+
+## Code Quality
+
+- [ ] Repository: Is this Pull Request is made to the correct repository? (Thoth-Tech NOT SplashKit)
+- [ ] Readability: Is the code easy to read and follow? If not are there comments to help understand
+ the code?
+- [ ] Maintainability: Can this code be easily maintained or extended in the future?
+
+## Functionality
+
+- [ ] Correctness: Does the code meet the requirements of the task?
+- [ ] Impact on Existing Functionality: Has the impact on existing functionality been considered and
+ tested?
+
+## Testing
+
+- [ ] Test Coverage: Are unit tests provided for new or modified code?
+- [ ] Test Results: Have all tests passed?
+
+## Documentation
+
+- [ ] Documentation: Are both inline and applicable external documentation updated and clear?
+
+## Pull Request Details
+
+- [ ] PR Description: Is the problem being solved clearly described?
+- [ ] Checklist Completion: Have all relevant checklist items been reviewed and completed?
+```
+
+### Splashkit Review Prompts
+
+- **Type of Change**: Does this Pull Request correctly identify the type of change (bug fix, new
+ feature, breaking change, or documentation update)? Is it aligned with the stated issue or task?
+
+- **Code Readability**: Is the code structure clean and easy to follow? Could it benefit from
+ clearer variable names, additional comments, or better organization? Would this code be
+ understandable for a new developer joining the project?
+
+- **Maintainability**: How maintainable is the code? Is it modular and easy to extend in the future?
+ Does it avoid creating technical debt? Is the codebase as simple as possible while still
+ accomplishing the task?
+
+- **Code Simplicity**: Are there any overly complex or redundant sections in the code? Could they be
+ refactored for better simplicity or clarity? Does the code follow established design patterns and
+ best practices?
+
+- **Edge Cases**: Does the implementation consider potential edge cases? What could go wrong with
+ this code in unusual or unexpected scenarios? Are there any cases that haven’t been fully
+ addressed?
+
+- **Test Thoroughness**: Are all key scenarios (including edge cases and failure paths) covered by
+ tests? Could additional tests help ensure the reliability of the code? Has the code been tested
+ across different environments (e.g., multiple browsers or platforms)?
+
+- **Backward Compatibility**: Does this change break any existing functionality? If so, has backward
+ compatibility been handled or documented appropriately? Are there any warnings or notes in the
+ documentation regarding compatibility?
+
+- **Performance Considerations**: Could this code have a negative impact on performance? Have any
+ performance concerns been documented and tested? Could the code be optimized for better efficiency
+ without sacrificing readability?
+
+- **Security Concerns**: Could this change introduce security vulnerabilities, especially in terms
+ of input validation or sensitive data handling? Have security best practices been followed? Does
+ this code ensure proper user data handling?
+
+- **Dependencies**: Are the new dependencies truly necessary? Could they create conflicts or issues
+ down the line, particularly during upgrades or with other libraries in the project? Is there a
+ simpler way to achieve the same functionality without adding new dependencies?
+
+- **Documentation**: Is the documentation clear and complete for both internal developers and
+ external users? Could a new developer understand how to use or modify this feature from the
+ documentation provided? Does it cover any API or external interface changes?
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/2-Tutorial-Style-Guide.mdx b/src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/2-Tutorial-Style-Guide.mdx
deleted file mode 100644
index 6378a1b8..00000000
--- a/src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/2-Tutorial-Style-Guide.mdx
+++ /dev/null
@@ -1,263 +0,0 @@
----
-title: Tutorial Style Guide
-sidebar:
- label: Tutorial Style Guide
- order: 2
----
-
-import { Tabs, TabItem } from "@astrojs/starlight/components";
-
-## General
-
-Create tutorial in an `.mdx` file.
-
-Make sure your tutorials follow the **markdownlint** extension's formatting.
-
-Correct any yellow squiggly lines.
-
-## Headings
-
-Make sure to use the following **title** format:
-
-```mdx
----
-title: Tutorial Heading
----
-```
-
-Then use `## Heading` for the highest heading level.
-
-Always keep a blank line between headings and other text.
-
-### Subheadings
-
-For subheadings that you want to see in the RHS sidebar/panel on splashkit.io, use `### Subheading`.
-Subheadings lower than this will not be shown.
-
-Do not use bolded lines for headings/subheadings.
-
-## Links
-
-Do not use any "raw" links. Links must always use the following format:
-
-```mdx
-[Text to show for link](URL link)
-```
-
-Make sure to link your headings within the same file if these are mentioned, using the following
-format:
-
-```mdx
-[Heading text](#link-to-heading)
-```
-
-## Images
-
-Always keep a blank line between images and other text.
-
-Use the following format for all images:
-
-```mdx
-![Alt text](link to image)
-```
-
-For the **Alt text** part above: Briefly explain what the image is showing. This is important for
-accessibility.
-
-For the **link to image** part above: If you are linking an image resource that you have downloaded,
-this will need to be put into an **images** folder in the same place as the tutorial.
-For example, with the **skbox.png** image in the images folder here, you would use:
-
-```mdx
-![Image of SplashKit box logo](./images/skbox.png)
-```
-
-Which would produce:
-
-![Image of SplashKit box logo](./images/skbox.png)
-
-## Lists
-
-Always keep a blank line between lists and other text.
-
-## Code Blocks
-
-Use fenced code blocks for any code snippets or terminal commands, to make it easier for the reader
-to copy.
-
-Always include a language with the fenced code blocks.
-
-### C# Code
-
-For example, if using C#, you would use the following format:
-
-````md
-```csharp
-using static SplashKitSDK.SplashKit;
-
-OpenWindow("SplashKit!", 800, 600);
-ClearScreen();
-RefreshScreen();
-Delay(5000);
-
-CloseAllWindows();
-```
-````
-
-Which would produce:
-
-```csharp
-using static SplashKitSDK.SplashKit;
-
-OpenWindow("SplashKit!", 800, 600);
-ClearScreen();
-RefreshScreen();
-Delay(5000);
-
-CloseAllWindows();
-```
-
-### C++ Code
-
-For C++, you would use the following format:
-
-````md
-```cpp
-#include "splashkit.h"
-
-int main()
-{
- open_window("SplashKit!", 800, 600);
- clear_screen();
- refresh_screen();
- delay(5000);
-
- close_all_windows();
-
- return 0;
-}
-```
-````
-
-Which would produce:
-
-```cpp
-#include "splashkit.h"
-
-int main()
-{
- open_window("SplashKit!", 800, 600);
- clear_screen();
- refresh_screen();
- delay(5000);
-
- close_all_windows();
-
- return 0;
-}
-```
-
-For any blocks that are not code, you can use `plaintext` for the language. For terminal commands,
-use `shell` for the language.
-
-If your guide is only using 1 language (and not using at least both C# and C++), make sure to
-include the language used in the title.
-
-### Multiple Code Languages
-
-To show the same code in different languages, you will need to use
-[Tabs](https://starlight.astro.build/guides/components/#tabs).
-
-Make sure to add the following line to your file underneath the title:
-
-```mdx
-import { Tabs, TabItem } from "@astrojs/starlight/components";
-
-;
-```
-
-And then using the examples from above, you would have:
-
-````md
-
-
-
-```csharp
-using static SplashKitSDK.SplashKit;
-
-OpenWindow("SplashKit!", 800, 600);
-ClearScreen();
-RefreshScreen();
-Delay(5000);
-
-CloseAllWindows();
-```
-
-
-
-
-```cpp
-#include "splashkit.h"
-
-int main()
-{
- open_window("SplashKit!", 800, 600);
- clear_screen();
- refresh_screen();
- delay(5000);
-
- close_all_windows();
-
- return 0;
-}
-```
-
-
-
-````
-
-Which would produce the following:
-
-
-
-
-```csharp
-using static SplashKitSDK.SplashKit;
-
-OpenWindow("SplashKit!", 800, 600);
-ClearScreen();
-RefreshScreen();
-Delay(5000);
-
-CloseAllWindows();
-```
-
-
-
-
-```cpp
-#include "splashkit.h"
-
-int main()
-{
- open_window("SplashKit!", 800, 600);
- clear_screen();
- refresh_screen();
- delay(5000);
-
- close_all_windows();
-
- return 0;
-}
-```
-
-
-
-
-## Callouts (Asides)
-
-Use callouts (also known as [Asides](https://starlight.astro.build/guides/components/#asides)) to
-highlight tips or important notes.
-
-:::tip[Make the page interesting] These can help to direct the reader to any extra info, and help to
-add more colour to your tutorial guide. :::
diff --git a/src/content/docs/products/splashkit/Splashkit Online/0-overview.mdx b/src/content/docs/products/splashkit/Splashkit Online/0-overview.mdx
deleted file mode 100644
index e6661dbf..00000000
--- a/src/content/docs/products/splashkit/Splashkit Online/0-overview.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Overview
----
-
-import { Card, LinkCard, CardGrid, Icon } from "@astrojs/starlight/components";
-
-Placeholder page.
diff --git a/src/content/docs/products/splashkit/Arcade Machine/0-overview.mdx b/src/content/docs/products/splashkit/arcade-machine/0-overview.mdx
similarity index 100%
rename from src/content/docs/products/splashkit/Arcade Machine/0-overview.mdx
rename to src/content/docs/products/splashkit/arcade-machine/0-overview.mdx
diff --git a/src/content/docs/products/splashkit/Games Development/0-overview.mdx b/src/content/docs/products/splashkit/games-development/0-overview.mdx
similarity index 100%
rename from src/content/docs/products/splashkit/Games Development/0-overview.mdx
rename to src/content/docs/products/splashkit/games-development/0-overview.mdx
diff --git a/src/content/docs/products/splashkit/SplashKit Expansion/0-overview.mdx b/src/content/docs/products/splashkit/splashkit-expansion/0-overview.mdx
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Expansion/0-overview.mdx
rename to src/content/docs/products/splashkit/splashkit-expansion/0-overview.mdx
diff --git a/src/content/docs/products/splashkit/SplashKit Website/0-overview.mdx b/src/content/docs/products/splashkit/splashkit-online/0-overview.mdx
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Website/0-overview.mdx
rename to src/content/docs/products/splashkit/splashkit-online/0-overview.mdx
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Classes/ExecutionEnvironment.md b/src/content/docs/products/splashkit/splashkit-online/Code Documentation/Classes/ExecutionEnvironment.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Classes/ExecutionEnvironment.md
rename to src/content/docs/products/splashkit/splashkit-online/Code Documentation/Classes/ExecutionEnvironment.md
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Classes/IDBStoredProject.md b/src/content/docs/products/splashkit/splashkit-online/Code Documentation/Classes/IDBStoredProject.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Classes/IDBStoredProject.md
rename to src/content/docs/products/splashkit/splashkit-online/Code Documentation/Classes/IDBStoredProject.md
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Classes/TreeView.md b/src/content/docs/products/splashkit/splashkit-online/Code Documentation/Classes/TreeView.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Classes/TreeView.md
rename to src/content/docs/products/splashkit/splashkit-online/Code Documentation/Classes/TreeView.md
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Other/FolderStructureOverview.md b/src/content/docs/products/splashkit/splashkit-online/Code Documentation/Other/FolderStructureOverview.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Other/FolderStructureOverview.md
rename to src/content/docs/products/splashkit/splashkit-online/Code Documentation/Other/FolderStructureOverview.md
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Processes/CPPJSBindingGenerationOverview.md b/src/content/docs/products/splashkit/splashkit-online/Code Documentation/Processes/CPPJSBindingGenerationOverview.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Processes/CPPJSBindingGenerationOverview.md
rename to src/content/docs/products/splashkit/splashkit-online/Code Documentation/Processes/CPPJSBindingGenerationOverview.md
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Processes/HowSplashKitOnlineRunsCode.md b/src/content/docs/products/splashkit/splashkit-online/Code Documentation/Processes/HowSplashKitOnlineRunsCode.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Code Documentation/Processes/HowSplashKitOnlineRunsCode.md
rename to src/content/docs/products/splashkit/splashkit-online/Code Documentation/Processes/HowSplashKitOnlineRunsCode.md
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Research and Findings/APISupportTests.md b/src/content/docs/products/splashkit/splashkit-online/Research and Findings/APISupportTests.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Research and Findings/APISupportTests.md
rename to src/content/docs/products/splashkit/splashkit-online/Research and Findings/APISupportTests.md
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Research and Findings/splashkit-online-research-outcome.md b/src/content/docs/products/splashkit/splashkit-online/Research and Findings/splashkit-online-research-outcome.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Research and Findings/splashkit-online-research-outcome.md
rename to src/content/docs/products/splashkit/splashkit-online/Research and Findings/splashkit-online-research-outcome.md
diff --git a/src/content/docs/products/splashkit/Splashkit Online/Research and Findings/splashkit-online-research-plan.md b/src/content/docs/products/splashkit/splashkit-online/Research and Findings/splashkit-online-research-plan.md
similarity index 100%
rename from src/content/docs/products/splashkit/Splashkit Online/Research and Findings/splashkit-online-research-plan.md
rename to src/content/docs/products/splashkit/splashkit-online/Research and Findings/splashkit-online-research-plan.md
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/2-SplashKitTutorials.md b/src/content/docs/products/splashkit/splashkit-tutorials/2-SplashKitTutorials.md
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/2-SplashKitTutorials.md
rename to src/content/docs/products/splashkit/splashkit-tutorials/2-SplashKitTutorials.md
diff --git a/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/adding-oop.mdx b/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/adding-oop.mdx
new file mode 100644
index 00000000..011809a4
--- /dev/null
+++ b/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/adding-oop.mdx
@@ -0,0 +1,200 @@
+---
+title: Guide to adding OOP to SplashKit tutorials
+sidebar:
+ label: Adding OOP to Guides
+ order: 4
+---
+
+import { Tabs, TabItem } from "@astrojs/starlight/components";
+
+## Adding OOP and Top Level C# to Splashkit Tutorials
+
+One of the current goals of the SplashKit team is to enhance the tutorials by including both
+top-level statement and object-oriented (OOP) versions of C# programs. This guide outlines how to
+effectively integrate OOP into the existing tutorials, providing both options for users to choose
+from.
+
+### The Full Code Block Structure
+
+The full code block structure for C++, C# in top level and OOP, and Python is as follows:
+
+````md
+
+
+
+```cpp
+
+Add C++ code here
+
+```
+
+
+
+
+
+
+```csharp
+
+Add top-level statement version of C# code here
+
+```
+
+
+
+
+```csharp
+
+Add OOP version of C# code here
+
+```
+
+
+
+
+
+
+```python
+
+Add Python code here
+
+```
+
+
+
+````
+
+This is the new standard structure for all Splashkit tutorials. The C# code block has been replaced
+with a tabs component that contains two tabs, one for top-level statements and one for
+object-oriented programming. The C# code block has been replaced with a tabs component that contains
+two tabs, one for top-level statements and one for object-oriented programming.
+
+### Adding OOP to the Splashkit tutorials
+
+If you are adding OOP to the Splashkit tutorials, you will need to replace the C# section with the
+following code block in order to have both top-level statements and object-oriented programming
+options:
+
+````md
+
+
+
+```csharp
+
+Add top-level statement version of C# code here
+
+```
+
+
+
+
+```csharp
+
+Add OOP version of C# code here
+
+```
+
+
+
+````
+
+## Example
+
+Once done, the view of the code blocks will remain the same on the Splashkit site. However, once
+clicking on the C# tab, the user will be able to see both the top-level statements and
+object-oriented programming versions of the code.
+
+
+
+
+```cpp
+#include "splashkit.h"
+
+int main()
+{
+ string name; // declare a variable to store the name
+ string quest; // and another to store a quest
+
+ write("What is your name: "); // prompt the user for input
+ name = read_line(); // read user input
+
+ // read in another value
+ write("And what is your quest? ");
+ quest = read_line();
+
+ write_line(name + "'s quest is: " + quest); // output quest to the terminal
+
+ return 0;
+}
+```
+
+
+
+
+
+
+
+```csharp
+using static SplashKitSDK.SplashKit;
+
+string name; // declare a variable to store the name
+string quest; // and another to store a quest
+
+Write("What is your name: "); // prompt the user for input
+name = ReadLine(); // read user input
+
+// Read in another value
+Write("And what is your quest? ");
+quest = ReadLine();
+
+WriteLine(name + "'s quest is: " + quest); // output quest to the terminal
+```
+
+
+
+
+```csharp
+using SplashKitSDK;
+
+namespace ReadingText
+{
+ public class Program
+ {
+ public static void Main()
+ {
+ string name; // declare a variable to store the name
+ string quest; // and another to store a quest
+
+ SplashKit.Write("What is your name: "); // prompt the user for input
+ name = SplashKit.ReadLine(); // read user input
+
+ // Read in another value
+ SplashKit.Write("And what is your quest? ");
+ quest = SplashKit.ReadLine();
+
+ SplashKit.WriteLine(name + "'s quest is: " + quest); // output quest to the terminal
+ }
+ }
+}
+```
+
+
+
+
+
+
+
+```python
+from splashkit import *
+
+write("What is your name: ") # prompt the user for input
+name = read_line() # read user input and store in a variable
+
+# Read in another value
+write("And what is your quest? ")
+quest = read_line()
+
+write_line(name + "'s quest is: " + quest)
+```
+
+
+
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/images/skbox.png b/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/images/skbox.png
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/images/skbox.png
rename to src/content/docs/products/splashkit/splashkit-tutorials/Documentation/images/skbox.png
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/1-Tutorial-Proposal-Template.md b/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/tutorial-proposal-template.md
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/1-Tutorial-Proposal-Template.md
rename to src/content/docs/products/splashkit/splashkit-tutorials/Documentation/tutorial-proposal-template.md
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/3-Tutorial-Reviews.md b/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/tutorial-reviews.md
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/Documentation/3-Tutorial-Reviews.md
rename to src/content/docs/products/splashkit/splashkit-tutorials/Documentation/tutorial-reviews.md
diff --git a/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/tutorial-styling-guide.mdx b/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/tutorial-styling-guide.mdx
new file mode 100644
index 00000000..03add92e
--- /dev/null
+++ b/src/content/docs/products/splashkit/splashkit-tutorials/Documentation/tutorial-styling-guide.mdx
@@ -0,0 +1,393 @@
+---
+title: Tutorial Style Guide
+sidebar:
+ label: Tutorial Style Guide
+ order: 2
+---
+
+import { Tabs, TabItem } from "@astrojs/starlight/components";
+
+## General
+
+Create tutorial in an `.mdx` file.
+
+Make sure your tutorials follow the **markdownlint** extension's formatting.
+
+Correct any yellow squiggly lines.
+
+## Headings
+
+Make sure to use the following **title** format:
+
+```mdx
+---
+title: Tutorial Heading
+---
+```
+
+Then use `## Heading` for the highest heading level.
+
+Always keep a blank line between headings and other text.
+
+### Subheadings
+
+For subheadings that you want to see in the RHS sidebar/panel on splashkit.io, use `### Subheading`.
+Subheadings lower than this will not be shown.
+
+Do not use bolded lines for headings/subheadings.
+
+## Links
+
+Do not use any "raw" links. Links must always use the following format:
+
+```mdx
+[Text to show for link](URL link)
+```
+
+Make sure to link your headings within the same file if these are mentioned, using the following
+format:
+
+```mdx
+[Heading text](#link-to-heading)
+```
+
+## Images
+
+Always keep a blank line between images and other text.
+
+Use the following format for all images:
+
+```mdx
+![Alt text](link to image)
+```
+
+For the **Alt text** part above: Briefly explain what the image is showing. This is important for
+accessibility.
+
+For the **link to image** part above: If you are linking an image resource that you have downloaded,
+this will need to be put into an **images** folder in the same place as the tutorial.
+For example, with the **skbox.png** image in the images folder here, you would use:
+
+```mdx
+![Image of SplashKit box logo](./images/skbox.png)
+```
+
+Which would produce:
+
+![Image of SplashKit box logo](./images/skbox.png)
+
+## Lists
+
+Always keep a blank line between lists and other text.
+
+## Code Blocks
+
+Use fenced code blocks for any code snippets or terminal commands, to make it easier for the reader
+to copy.
+
+Always include a language with the fenced code blocks.
+
+### C++ Code
+
+For C++, you would use the following format:
+
+````md
+```cpp
+#include "splashkit.h"
+
+int main()
+{
+ open_window("Window Title... to change", 800, 600);
+ delay(5000);
+ close_all_windows();
+ return 0;
+}
+```
+````
+
+Which would produce:
+
+```cpp
+#include "splashkit.h"
+
+int main()
+{
+ open_window("Window Title... to change", 800, 600);
+ delay(5000);
+ close_all_windows();
+ return 0;
+}
+```
+
+### C# Code
+
+For example, if using C#, you would use the following format:
+
+````md
+```csharp
+using static SplashKitSDK.SplashKit;
+
+OpenWindow("Window Title... to change", 800, 600);
+Delay(5000);
+CloseAllWindows();
+```
+````
+
+Which would produce:
+
+```csharp
+using static SplashKitSDK.SplashKit;
+
+OpenWindow("Window Title... to change", 800, 600);
+Delay(5000);
+CloseAllWindows();
+```
+
+### Python Code
+
+For Python, you would use the following format:
+
+````md
+```python
+from splashkit import *
+
+open_window("Window Title... to change", 800, 600)
+delay(5000)
+close_all_windows()
+```
+````
+
+Which would produce:
+
+```python
+from splashkit import *
+
+open_window("Window Title... to change", 800, 600)
+delay(5000)
+close_all_windows()
+```
+
+For any blocks that are not code, you can use `plaintext` for the language. For terminal commands,
+use `shell` for the language.
+
+If your guide is only using 1 language (and not using at least both C# and C++), make sure to
+include the language used in the title.
+
+### Multiple Code Languages
+
+To show the same code in different languages, you will need to use
+[Tabs](https://starlight.astro.build/guides/components/#tabs).
+
+Make sure to add the following line to your file underneath the title:
+
+```mdx
+import { Tabs, TabItem } from "@astrojs/starlight/components";
+
+;
+```
+
+And then using the examples from above, you would have:
+
+````md
+
+
+
+```cpp
+#include "splashkit.h"
+
+int main()
+{
+ string name; // declare a variable to store the name
+ string quest; // and another to store a quest
+
+ write("What is your name: "); // prompt the user for input
+ name = read_line(); // read user input
+
+ // read in another value
+ write("And what is your quest? ");
+ quest = read_line();
+
+ write_line(name + "'s quest is: " + quest); // output quest to the terminal
+
+ return 0;
+}
+```
+
+
+
+
+
+
+
+```csharp
+using static SplashKitSDK.SplashKit;
+
+string name; // declare a variable to store the name
+string quest; // and another to store a quest
+
+Write("What is your name: "); // prompt the user for input
+name = ReadLine(); // read user input
+
+// Read in another value
+Write("And what is your quest? ");
+quest = ReadLine();
+
+WriteLine(name + "'s quest is: " + quest); // output quest to the terminal
+```
+
+
+
+
+```csharp
+using SplashKitSDK;
+
+namespace ReadingText
+{
+ public class Program
+ {
+ public static void Main()
+ {
+ string name; // declare a variable to store the name
+ string quest; // and another to store a quest
+
+ SplashKit.Write("What is your name: "); // prompt the user for input
+ name = SplashKit.ReadLine(); // read user input
+
+ // Read in another value
+ SplashKit.Write("And what is your quest? ");
+ quest = SplashKit.ReadLine();
+
+ SplashKit.WriteLine(name + "'s quest is: " + quest); // output quest to the terminal
+ }
+ }
+}
+```
+
+
+
+
+
+
+
+```python
+from splashkit import *
+
+write("What is your name: ") # prompt the user for input
+name = read_line() # read user input and store in a variable
+
+# Read in another value
+write("And what is your quest? ")
+quest = read_line()
+
+write_line(name + "'s quest is: " + quest)
+```
+
+
+
+````
+
+Which would produce the following:
+
+
+
+
+```cpp
+#include "splashkit.h"
+
+int main()
+{
+ string name; // declare a variable to store the name
+ string quest; // and another to store a quest
+
+ write("What is your name: "); // prompt the user for input
+ name = read_line(); // read user input
+
+ // read in another value
+ write("And what is your quest? ");
+ quest = read_line();
+
+ write_line(name + "'s quest is: " + quest); // output quest to the terminal
+
+ return 0;
+}
+```
+
+
+
+
+
+
+
+```csharp
+using static SplashKitSDK.SplashKit;
+
+string name; // declare a variable to store the name
+string quest; // and another to store a quest
+
+Write("What is your name: "); // prompt the user for input
+name = ReadLine(); // read user input
+
+// Read in another value
+Write("And what is your quest? ");
+quest = ReadLine();
+
+WriteLine(name + "'s quest is: " + quest); // output quest to the terminal
+```
+
+
+
+
+```csharp
+using SplashKitSDK;
+
+namespace ReadingText
+{
+ public class Program
+ {
+ public static void Main()
+ {
+ string name; // declare a variable to store the name
+ string quest; // and another to store a quest
+
+ SplashKit.Write("What is your name: "); // prompt the user for input
+ name = SplashKit.ReadLine(); // read user input
+
+ // Read in another value
+ SplashKit.Write("And what is your quest? ");
+ quest = SplashKit.ReadLine();
+
+ SplashKit.WriteLine(name + "'s quest is: " + quest); // output quest to the terminal
+ }
+ }
+}
+```
+
+
+
+
+
+
+
+```python
+from splashkit import *
+
+write("What is your name: ") # prompt the user for input
+name = read_line() # read user input and store in a variable
+
+# Read in another value
+write("And what is your quest? ")
+quest = read_line()
+
+write_line(name + "'s quest is: " + quest)
+```
+
+
+
+
+## Callouts (Asides)
+
+Use callouts (also known as [Asides](https://starlight.astro.build/guides/components/#asides)) to
+highlight tips or important notes.
+
+:::tip[Make the page interesting] These can help to direct the reader to any extra info, and help to
+add more colour to your tutorial guide. :::
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/Onboarding/05-peer-review.md b/src/content/docs/products/splashkit/splashkit-tutorials/Onboarding/peer-review-guide.md
similarity index 99%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/Onboarding/05-peer-review.md
rename to src/content/docs/products/splashkit/splashkit-tutorials/Onboarding/peer-review-guide.md
index db5cde12..6003e71f 100644
--- a/src/content/docs/products/splashkit/SplashKit Tutorials/Onboarding/05-peer-review.md
+++ b/src/content/docs/products/splashkit/splashkit-tutorials/Onboarding/peer-review-guide.md
@@ -3,7 +3,7 @@ title: A Guide to Doing Peer Reviews
description: A guide on how to do a peer review within the SplashKit tutorials team.
sidebar:
label: Peer Review Guide
- order: 3
+ order: 1
---
This guide will help you through the process of performing a peer review for SplashKit tutorials.
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/Onboarding/03-pull-request.md b/src/content/docs/products/splashkit/splashkit-tutorials/Onboarding/pull-request-guide.md
similarity index 99%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/Onboarding/03-pull-request.md
rename to src/content/docs/products/splashkit/splashkit-tutorials/Onboarding/pull-request-guide.md
index 2d924885..bac71cda 100644
--- a/src/content/docs/products/splashkit/SplashKit Tutorials/Onboarding/03-pull-request.md
+++ b/src/content/docs/products/splashkit/splashkit-tutorials/Onboarding/pull-request-guide.md
@@ -3,7 +3,7 @@ title: How to Create a Pull Request
description: This is a step-by-step guide on how to create a pull request for SplashKit tutorials.
sidebar:
label: Pull Request Guide
- order: 1
+ order: 3
---
## How to Create a Pull Request
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/Onboarding/04-pull-request-template.md b/src/content/docs/products/splashkit/splashkit-tutorials/Onboarding/pull-request-template.md
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/Onboarding/04-pull-request-template.md
rename to src/content/docs/products/splashkit/splashkit-tutorials/Onboarding/pull-request-template.md
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/Tutorial Proposals/basic-vectors-proposal.md b/src/content/docs/products/splashkit/splashkit-tutorials/Tutorial Proposals/basic-vectors-proposal.md
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/Tutorial Proposals/basic-vectors-proposal.md
rename to src/content/docs/products/splashkit/splashkit-tutorials/Tutorial Proposals/basic-vectors-proposal.md
diff --git a/src/content/docs/products/splashkit/splashkit-tutorials/Tutorial Proposals/camera-control-proposal.md b/src/content/docs/products/splashkit/splashkit-tutorials/Tutorial Proposals/camera-control-proposal.md
new file mode 100644
index 00000000..85cf0844
--- /dev/null
+++ b/src/content/docs/products/splashkit/splashkit-tutorials/Tutorial Proposals/camera-control-proposal.md
@@ -0,0 +1,44 @@
+---
+title: Dynamic Camera Control Tutorial Proposal
+---
+
+## Introduction
+
+This tutorial will cover how to use the various camera functions in SplashKit to implement dynamic
+camera movements in graphical applications. By following this tutorial, readers will learn to create
+zoom effects, responsive camera controls, and movements enhancing the interactivity and immersion of
+their games or other projects.
+
+## Tutorial Details
+
+### Tutorial Structure
+
+This tutorial will follow an "as-you-go" style. Each section will introduce a specific concept and
+demonstrate its practical application with step-by-step code examples. The tutorial will start with
+a basic overview of the camera functions, then guide readers through progressively more complex
+examples, allowing them to apply what they’ve learned immediately. Visual aids will be used to
+illustrate camera movements and effects in real-time.
+
+### Level of Difficulty
+
+This tutorial is targeted at intermediate learners who have experience in programming with the
+SplashKit library. It is ideal for developers who want to add dynamic camera control to their
+graphical applications or games.
+
+### Functions Covered
+
+The tutorial will cover the following main SplashKit functions:
+
+- [MoveCameraBy](https://splashkit.io/api/camera/#move-camera-by-2)
+- [SetCameraPosition](https://splashkit.io/api/camera/#set-camera-position)
+- [CameraPosition](https://splashkit.io/api/camera/#camera-position)
+- [OptionDefaults](https://splashkit.io/api/graphics/#option-defaults)
+- [OptionScaleBmp](https://splashkit.io/api/graphics/#option-scale-bmp)
+- [DrawBitmap](https://splashkit.io/api/graphics/#draw-bitmap-4)
+
+## Conclusion
+
+This tutorial will help readers understand how to manipulate the camera in their SplashKit
+applications. By mastering these camera functions, developers can create more engaging and
+interactive experiences, such as zoom effects and camera movements. This knowledge will be valuable
+for anyone looking to improve the visual dynamics and responsiveness of their game projects.
diff --git a/src/content/docs/products/splashkit/SplashKit Tutorials/0-overview.mdx b/src/content/docs/products/splashkit/splashkit-tutorials/overview.mdx
similarity index 84%
rename from src/content/docs/products/splashkit/SplashKit Tutorials/0-overview.mdx
rename to src/content/docs/products/splashkit/splashkit-tutorials/overview.mdx
index 6be9d82d..f37c4c2c 100644
--- a/src/content/docs/products/splashkit/SplashKit Tutorials/0-overview.mdx
+++ b/src/content/docs/products/splashkit/splashkit-tutorials/overview.mdx
@@ -55,18 +55,20 @@ follows:
## Tutorials Information
-1. [Tutorial Proposal Template](/products/splashkit/splashkit-tutorials/documentation/1-tutorial-proposal-template)
+1. [Tutorial Proposal Template](/products/splashkit/splashkit-tutorials/documentation/tutorial-proposal-template)
The template for creating a tutorial proposal.
-2. [Tutorial Style Guide](/products/splashkit/splashkit-tutorials/documentation/2-tutorial-style-guide)
+2. [Tutorial Style Guide](/products/splashkit/splashkit-tutorials/documentation/tutorial-style-guide)
The style guide for creating tutorials.
-3. [Tutorial Reviews](/products/splashkit/splashkit-tutorials/documentation/3-tutorial-reviews) The
+3. [Tutorial Reviews](/products/splashkit/splashkit-tutorials/documentation/tutorial-reviews) The
current tutorials that need to be reviewed.
+4. [Adding OOP to Guides](/products/splashkit/splashkit-tutorials/documentation/adding-oop) The
+ guide on how to add OOP to C# on SplashKit tutorials.
## GitHub Guides for Tutorials Team
-1. [How to Create a Pull Reuest](/products/splashkit/splashkit-tutorials/onboarding/03-pull-request)
+1. [How to Create a Pull Reuest](/products/splashkit/splashkit-tutorials/onboarding/pull-request-guide)
The guide on how to create a pull request for SplashKit tutorials.
-2. [Pull Request Template](/products/splashkit/splashkit-tutorials/onboarding/04-pull-request-template)
+2. [Pull Request Template](/products/splashkit/splashkit-tutorials/onboarding/pull-request-template)
The template for creating a pull request for SplashKit tutorials.
-3. [Peer Review Guide](/products/splashkit/splashkit-tutorials/onboarding/05-peer-review) The guide
- on how to do a peer review within the SplashKit tutorials team.
+3. [Peer Review Guide](/products/splashkit/splashkit-tutorials/onboarding/peer-review-guide) The
+ guide on how to do a peer review within the SplashKit tutorials team.
diff --git a/src/content/docs/products/splashkit/SplashKit Website/games-showcase-template.mdx b/src/content/docs/products/splashkit/splashkit-website/games-showcase-template.mdx
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Website/games-showcase-template.mdx
rename to src/content/docs/products/splashkit/splashkit-website/games-showcase-template.mdx
diff --git a/src/content/docs/products/splashkit/SplashKit Website/games-showcase.mdx b/src/content/docs/products/splashkit/splashkit-website/games-showcase.mdx
similarity index 100%
rename from src/content/docs/products/splashkit/SplashKit Website/games-showcase.mdx
rename to src/content/docs/products/splashkit/splashkit-website/games-showcase.mdx
diff --git a/src/content/docs/products/splashkit/splashkit-website/peer-review-guide.mdx b/src/content/docs/products/splashkit/splashkit-website/peer-review-guide.mdx
new file mode 100644
index 00000000..84195bb4
--- /dev/null
+++ b/src/content/docs/products/splashkit/splashkit-website/peer-review-guide.mdx
@@ -0,0 +1,153 @@
+---
+title: Peer Review Guide
+sidebar:
+ label: Peer Review Guide
+ order: 2
+---
+
+import { Aside } from "@astrojs/starlight/components";
+
+## Introduction
+
+
+
+In SplashKit, peer reviews are a vital process to ensure code quality, maintainability, and
+consistency across the website development project. Every pull request (PR) must follow the
+Peer-Review Checklist, which checks for key factors like functionality, code readability, and
+documentation.
+
+Additionally, the Peer-Review Prompts serve as a conversation starter for reviewers, encouraging
+collaboration while allowing for a thorough and constructive review process.
+
+
+
+### SplashKit Peer-Review Checklist
+
+The following checklist is required to be completed for every review to ensure high-quality
+contributions.
+
+```plaintext
+## General Information
+
+- [ ] Type of Change: Clearly indicate the type of change (choose one):
+ - [ ] Bug fix
+ - [ ] New feature
+ - [ ] Breaking change
+ - [ ] Documentation update
+
+## Code Quality
+
+- [ ] Repository: Ensure the PR is made to the correct repository.
+- [ ] Readability: Is the code easy to read and follow? Are comments included where necessary?
+- [ ] Maintainability: Can this code be maintained or extended easily in the future?
+
+## Functionality
+
+- [ ] Correctness: Does the code meet the task requirements?
+- [ ] Existing Functionality: Has the impact on existing functionality been considered and tested?
+
+## Testing
+
+- [ ] Test Coverage: Are unit tests provided for new or modified code?
+- [ ] Test Results: Have all tests passed successfully?
+
+## Documentation
+
+- [ ] Documentation: Is the inline and external documentation updated and clear?
+
+## Pull Request Details
+
+- [ ] PR Description: Is the problem being solved clearly described?
+- [ ] Checklist Completion: Have all relevant checklist items been reviewed and completed?
+```
+
+### SplashKit Peer-Review Prompts
+
+These prompts can help guide discussions during the review process and ensure that the code meets
+high standards.
+
+- **Type of Change**: Is the PR correctly identifying the type of change (bug fix, new feature,
+ etc.)?
+- **Code Readability**: Is the code well-structured and easy to follow? Could better comments,
+ names, or organisation improve it?
+- **Maintainability**: Is the code modular and easy to maintain? Does it introduce any technical
+ debt?
+- **Code Simplicity**: Are there redundant or overly complex parts of the code that could be
+ simplified?
+- **Edge Cases**: Does the code account for edge cases? What scenarios might cause it to break?
+- **Test Thoroughness**: Does the testing cover all edge cases and failure paths? Are there enough
+ tests to ensure code reliability?
+- **Backward Compatibility**: Does the change break any existing functionality? If so, is backward
+ compatibility handled or documented?
+- **Performance Considerations**: Could this code impact performance negatively? Can it be optimised
+ while maintaining readability?
+- **Security Concerns**: Does this change introduce any security risks? Is input validation handled
+ properly?
+- **Dependencies**: Are new dependencies necessary? Could they conflict with existing libraries?
+ Could this functionality be achieved without new dependencies?
+- **Documentation**: Is the documentation clear and thorough enough for new developers to
+ understand? Does it cover API or external interface changes?
+
+---
+
+## Review Guidelines for Specific File Types
+
+Different file types require different levels of attention during the review process. Here's what to
+look for when reviewing each type of file:
+
+### `.mdx` Files
+
+- **Content Accuracy**: Ensure that the content is clear and accurate. Double-check for any errors
+ in the documentation or guides.
+- **Frontmatter**: Ensure the frontmatter (`title`, `description`, etc.) is correctly filled out.
+- **Component Usage**: Verify that components such as `LinkCard`, `CardGrid`, or others are being
+ used appropriately within the `.mdx` files.
+
+### `.css` Files
+
+- **Consistency**: Check that the styles align with the **Styling Guide** and maintain a consistent
+ use of variables (e.g., colours, fonts, spacing).
+- **Accessibility**: Review for accessibility considerations, such as whether animations are
+ disabled for users who prefer reduced motion, and whether contrast ratios meet **WCAG 2.1 AA**
+ standards.
+- **Naming Conventions**: Ensure that CSS class names follow a consistent naming pattern.
+
+### `.jsx`/`.tsx` Files
+
+- **Functionality**: Make sure the interactive components (e.g., sliders, forms) work as expected
+ and meet the requirements of the task.
+- **Performance**: Look for unnecessary re-renders or other performance concerns.
+- **Code Style**: Ensure the code follows **React/JSX** best practices and any project-specific
+ linting rules.
+
+### `.astro` Files
+
+- **Structure**: Ensure the page or component is well-structured and follows the **Astro standards**
+ for component and page creation.
+- **Reusability**: Look for opportunities to refactor repetitive code into reusable components.
+
+---
+
+## Useful Resources for Reviewers
+
+- **Starlight Documentation**: [Starlight Docs](https://starlight.astro.build/getting-started/)
+- **Astro Documentation**: [Astro Docs](https://docs.astro.build/en/getting-started/)
+- **WCAG 2.1 AA Guidelines**: [W3C Accessibility Standards](https://www.w3.org/WAI/WCAG21/quickref/)
+- **MDN CSS Documentation**: [MDN CSS Guide](https://developer.mozilla.org/en-US/docs/Web/CSS)
+- **React Documentation**: [React Official Docs](https://reactjs.org/docs/getting-started.html)
+
+---
+
+By following these guidelines, you'll ensure that the SplashKit website project maintains high
+standards of code quality, performance, and accessibility. Remember, peer reviews are not only about
+verifying the code but also about learning and improving together as a team.
diff --git a/src/content/docs/products/splashkit/splashkit-website/splashkit-website-overview.mdx b/src/content/docs/products/splashkit/splashkit-website/splashkit-website-overview.mdx
new file mode 100644
index 00000000..0ccb7df8
--- /dev/null
+++ b/src/content/docs/products/splashkit/splashkit-website/splashkit-website-overview.mdx
@@ -0,0 +1,87 @@
+---
+title: SplashKit Website Team Overview
+sidebar:
+ label: Overview
+ order: 1
+---
+
+## **Welcome to the SplashKit Website Development Team!**
+
+## Introduction
+
+The SplashKit website is the gateway to empowering learners and developers with the tools they need
+as they begin their journey in programming and game development. Having a well-designed, accessible,
+and user-friendly website is important for new learners, as it ensures that resources, tutorials,
+and documentation are easily accessible to everyone, regardless of their level of experience or any
+accessibility challenges they may face.
+
+As a team, we’re focused on creating a site that reflects the inclusivity and innovation of the
+SplashKit SDK, making sure everyone can get the most out of what we offer.
+
+---
+
+## What We're Working Towards
+
+As part of the SplashKit Website Development Team, you’ll be helping us build, refine, and enhance
+the user experience on the site. Some of the broader goals we’re working towards include:
+
+- **Enhancing the Onboarding Experience**: We aim to simplify the onboarding process for new users
+ and contributors, making it easy for them to find the resources they need.
+- **Fixing and Expanding Accessibility of Tutorials**: We are always improving our tutorials and
+ guides, ensuring they’re up-to-date and accessible to learners.
+- **Showcasing Community Contributions**: We want to highlight the incredible projects created using
+ SplashKit by building a dedicated showcase section.
+- **Upholding Accessibility Standards**: Ensuring our site meets and exceeds accessibility standards
+ so that it’s usable by everyone, including those with disabilities.
+- **Integrating SplashKit Online**: Integrating the SplashKit Online tool will significantly enhance
+ the accessibility and effectiveness of the SplashKit resources, enabling learners to preview
+ SplashKit functions directly within the website.
+
+These goals are collaborative efforts, and your contributions will help turn them into real features
+that impact the SplashKit community directly.
+
+---
+
+## What You Can Expect
+
+By joining the SplashKit Website Development Team, you’ll be stepping into a collaborative,
+open-source environment where everyone’s contributions are valued, with your contributions being
+experienced by users today. Here’s what you can expect from working with us:
+
+- **Collaboration and Support**: You’ll work with a team of dedicated contributors who will support
+ you while you learn how to contribute to an exciting tool. We believe in sharing knowledge and
+ improving together.
+- **Learning Opportunities**: Whether you're new to web development or an experienced contributor,
+ you'll gain hands-on experience with modern tools like Astro, Starlight, and web frameworks.
+ You’ll also learn about accessibility best practices, design principles, and performance
+ optimisation.
+- **Creative Freedom**: We encourage creative solutions and welcome new ideas. As a contributor,
+ you'll have the opportunity to shape the direction of the website, suggest improvements, and see
+ your work in action.
+- **Peer Feedback and Reviews**: You’ll receive valuable feedback on your code through peer reviews,
+ helping you grow as a developer while maintaining the quality of the website.
+
+---
+
+## What You’ll Gain
+
+As part of the team, you’ll gain practical experience working on a large-scale, open-source project,
+giving you insights into web development, accessibility, and content management. Here’s what else
+you can expect:
+
+- **Experience in Open-Source Development**: By contributing to a real-world project, you'll improve
+ your coding skills, learn best practices, and collaborate with others, which is a valuable
+ experience for your personal and professional development.
+- **Portfolio Building**: Your work on the SplashKit website will be visible to the public, giving
+ you tangible examples to include in your portfolio or showcase in job interviews.
+- **Contribution to the Community**: You’ll be making a direct impact the learning journey of
+ stduents (and even more experienced developers) who rely on SplashKit to build their skills and
+ projects.
+
+---
+
+## Ready to Get Started?
+
+Check out the support documentation to get familiar with the project structure and how to best
+contribute to the team. We’re excited to have you on the team, and we look forward to building
+something amazing together!
diff --git a/src/content/docs/products/splashkit/splashkit-website/styling-guide.mdx b/src/content/docs/products/splashkit/splashkit-website/styling-guide.mdx
new file mode 100644
index 00000000..677b419d
--- /dev/null
+++ b/src/content/docs/products/splashkit/splashkit-website/styling-guide.mdx
@@ -0,0 +1,260 @@
+---
+title: SplashKit Styling Guide
+sidebar:
+ label: SplashKit Styling Guide
+ order: 4
+---
+
+This document outlines the core styling principles for the SplashKit website to ensure consistency,
+accessibility, and a cohesive design.
+
+## Contents
+
+1. [Colour Palette](#colour-palette)
+ - [Tools for Colour Palette Generation](#tools-for-colour-palette-generation)
+2. [Accessibility Considerations](#accessibility-considerations)
+ - [WCAG 2.1 AA Compliance](#1-wcag-21-aa-compliance)
+ - [Disabling Animations and Smooth Transitions](#2-disabling-animations-and-smooth-transitions)
+ - [Hover Effects and Visual Cues](#3-hover-effects-and-visual-cues)
+ - [Colour Blindness Accessibility](#4-colour-blindness-accessibility)
+3. [Typography](#typography)
+4. [Component Styling](#component-styling)
+ - [Buttons](#buttons)
+5. [Image and Asset Management](#image-and-asset-management)
+6. [Color Theme Editor](#color-theme-editor)
+7. [Current Styling Values](#current-styling-values)
+8. [Useful Tools](#useful-tools)
+9. [Links](#links)
+
+---
+
+## Colour Palette
+
+- **Primary Colours**: SplashKit uses a consistent colour palette to maintain a clean, cohesive
+ design. You are encouraged to use accessible, high-contrast colours that support both branding and
+ readability.
+
+### Tools for Colour Palette Generation
+
+- **Coolors.co**: Use [Coolors.co](https://coolors.co/) to generate and experiment with colour
+ palettes. This platform supports multiple colour spaces and includes contrast checkers, ensuring
+ your colour selections meet accessibility standards.
+
+ **Example**:
+
+ ```css
+ :root {
+ --primary-colour: ;
+ --secondary-colour: ;
+ --accent-colour: ;
+ --background-colour: ;
+ }
+ ```
+
+- Adjust these values according to the design requirements, ensuring they meet accessibility
+ standards like **WCAG 2.1 AA**.
+
+---
+
+## Accessibility Considerations
+
+Accessibility is a key concern, and we need to ensure that our design is inclusive and easy to
+navigate for all users, including those with visual impairments.
+
+### 1. **WCAG 2.1 AA Compliance**
+
+- When designing for accessibility, ensure that colour contrast meets the **Web Content
+ Accessibility Guidelines (WCAG) 2.1 AA** standards. These include:
+ - A contrast ratio of at least **4.5:1** between text and background for normal text.
+ - A contrast ratio of at least **3:1** for larger text (18pt and above).
+- Use tools like the **Color Theme Editor**, **Coolors.co contrast checker**, and the **Pilestone
+ Color Blindness Simulator** to verify your designs are accessible for all users.
+
+### 2. **Disabling Animations and Smooth Transitions**
+
+- Users should have the option to disable animations and transitions to avoid distracting or
+ overwhelming effects.
+
+ **CSS Example**:
+
+ ```css
+ @media (prefers-reduced-motion: reduce) {
+ * {
+ animation: none !important;
+ transition: none !important;
+ }
+ }
+ ```
+
+ To learn more about this feature, visit the
+ [@media (prefers-reduced-motion) documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion).
+
+### 3. **Hover Effects and Visual Cues**
+
+- Ensure that elements that change on hover, such as buttons or links, are clearly identifiable as
+ interactive elements. A subtle colour change on hover is a good way to indicate that the element
+ is clickable.
+
+ **Example**:
+
+ ```css
+ a {
+ color: var(--primary-colour);
+ }
+
+ a:hover {
+ color: var(--accent-colour);
+ }
+ ```
+
+### 4. **Colour Blindness Accessibility**
+
+- Use tools like the
+ [Pilestone Color Blindness Simulator](https://pilestone.com/pages/color-blindness-simulator-1) to
+ test how different users experience colours. This tool is particularly useful for ensuring that
+ users with various forms of colour blindness can comfortably navigate the site.
+
+ Ensure that contrast ratios are sufficient to make text legible for all users, particularly those
+ with colour vision deficiencies.
+
+---
+
+## Typography
+
+### Font
+
+Use a modern, readable font to maintain consistency across the website.
+
+- Default fonts like `Arial`, `Roboto`, or `Gaegu` can be used for headers and body text.
+- Follow the existing import patterns for fonts:
+
+ ```css
+ @import url("https://use.typekit.net/vzr3ole.css");
+ @import url("https://fonts.googleapis.com/css?family=Gaegu&display=swap");
+ ```
+
+### Font Sizes
+
+- Headings: Use larger font sizes for hierarchy and structure.
+- Body text: Minimum 16px for readability.
+- Example:
+
+ ```css
+ h1 {
+ font-size: 2.5rem;
+ font-weight: bold;
+ }
+
+ p {
+ font-size: 1rem;
+ }
+ ```
+
+If needed, you can adjust these values in `custom.css` to fit specific design elements.
+
+---
+
+## Component Styling
+
+### Buttons
+
+Buttons should use consistent styles across the website to ensure a cohesive look.
+
+- **Primary Button**: **Example**:
+
+ ```css
+ .button-primary {
+ background-colour: var(--primary-colour);
+ colour: white;
+ padding: 10px 20px;
+ border-radius: 5px;
+ cursor: pointer;
+ border: none;
+ }
+
+ .button-primary:hover {
+ background-colour: var(--accent-colour);
+ }
+ ```
+
+If you're contributing, please review the existing styles in `custom.css` for similar elements and
+ensure your additions follow the same structure.
+
+---
+
+## Image and Asset Management
+
+- **GIFs**: General-purpose gifs should be stored in `public/gifs/`. If a gif is used in a usage
+ example (tutorials, documentation), store it in `public/usage-examples-images-gifs/`.
+- **Static Images**: Images associated with tutorials or content should be stored alongside the
+ `.mdx` files they relate to.
+- **Config Files**: Any configuration files generated from scripts (e.g., `games-config.json`)
+ should be placed in the `public/` folder for easy access.
+
+---
+
+## Color Theme Editor
+
+The
+[Starlight Color Theme Editor](https://starlight.astro.build/guides/css-and-tailwind/#:~:text=items%20in%20navigation.-,Color%20theme%20editor,-Use%20the%20sliders)
+is an excellent tool for previewing and adjusting colour values for various design elements across
+the website. It allows you to tweak background, text, and accent colours in real-time, providing
+instant feedback on how those changes will affect the overall design.
+
+### How to Use
+
+- Use the sliders in the editor to adjust different colour variables, which are immediately
+ reflected in the preview.
+- Once you're satisfied with your selections, you can copy the colour values and apply them to the
+ `custom.css` or directly into your `.astro` components.
+- This tool is particularly helpful when used in conjunction with **Coolors.co** for creating
+ palettes or the **Pilestone Color Blindness Simulator** to ensure accessibility.
+
+---
+
+## Current Styling Values
+
+Here are the current values being used in the `custom.css` file for the SplashKit website:
+
+```css
+@import url("https://use.typekit.net/vzr3ole.css");
+@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css");
+@import url("https://fonts.googleapis.com/css?family=Gaegu&display=swap");
+
+/* Dark mode colours. */
+:root {
+ --purple-hsl: 255, 60%, 60%;
+ --overlay-blurple: hsla(var(--purple-hsl), 0.2);
+}
+
+/* Light mode colours. */
+:root[data-theme="light"] {
+ --purple-hsl: 255, 85%, 65%;
+ --sl-hue-accent: 350;
+ --sl-color-accent: #3d50f5;
+}
+```
+
+Please review these values when making any changes to ensure consistency.
+
+---
+
+## Useful Tools
+
+- **Coolors.co**: Use this platform to experiment with colour palettes and ensure your choices are
+ accessible.
+- **Pilestone Color Blindness Simulator**: Test colour choices for accessibility to users with
+ colour vision deficiencies.
+- **WCAG 2.1 AA Standards**: Use these standards as the baseline to ensure that the site is
+ accessible to all users, particularly with respect to contrast ratios between text and background.
+
+---
+
+## Links
+
+Here are some helpful resources for styling and accessibility:
+
+- [Coolors.co Contrast Checker](https://coolors.co/contrast-checker)
+- [Pilestone Color Blindness Simulator](https://pilestone.com/pages/color-blindness-simulator-1)
+- [@media (prefers-reduced-motion) Documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion)
+- [WCAG 2.1 AA Guidelines](https://www.w3.org/WAI/WCAG21/quickref/)
diff --git a/src/content/docs/products/splashkit/splashkit-website/web-dev-files.mdx b/src/content/docs/products/splashkit/splashkit-website/web-dev-files.mdx
new file mode 100644
index 00000000..41d74f86
--- /dev/null
+++ b/src/content/docs/products/splashkit/splashkit-website/web-dev-files.mdx
@@ -0,0 +1,327 @@
+---
+title: Key Website Development Files
+sidebar:
+ label: Key Web Development Files
+ order: 3
+---
+
+This document will help you understand the core files involved in the SplashKit website development
+process. It provides guidance on which files to update when contributing and how to handle different
+file types in peer reviews. This is not an exhaustive list, however should direct you to the key
+files and file types when contributing.
+
+## Contents
+
+1. [Key Files to Update](#key-files-to-update)
+ - [package.json and package-lock.json](#packagejson-and-package-lockjson)
+ - [astro.config.mjs](#astroconfigmjs)
+2. [Core Development Files](#core-development-files)
+ - [.astro Files](#astro-files)
+ - [.jsx and .tsx Files](#jsx-and-tsx-files)
+ - [CSS Files](#css-files)
+3. [Image and Asset Management](#image-and-asset-management)
+ - [Asset Directories](#asset-directories)
+4. [.mdx Files](#mdx-files)
+5. [Peer Reviews: What to Look For](#peer-reviews-what-to-look-for)
+ - [.mdx Files](#mdx-files-1)
+ - [CSS Files](#css-files-1)
+ - [.jsx and .tsx Files](#jsxtsx-files)
+ - [.astro Files](#astro-files-1)
+
+---
+
+## Key Files to Update
+
+### `package.json` and `package-lock.json`
+
+- **Purpose**: `package.json` defines the project’s dependencies, metadata, and scripts, while
+ `package-lock.json` locks the versions of the dependencies to ensure consistency across different
+ environments.
+
+- **Installing Dependencies**:
+ When you run `npm install `, the new package is added to the `package.json` under the
+ `dependencies` or `devDependencies` section. It also updates `package-lock.json` to lock the
+ specific versions of the installed dependencies.
+
+ **Example**:
+
+ ```shell
+ npm install react
+ ```
+
+ This will add `react` to `package.json` under dependencies:
+
+ ```json
+ {
+ "dependencies": {
+ "react": "^17.0.2"
+ }
+ }
+ ```
+
+ It will also update `package-lock.json` to include detailed version information for `react` and
+ any transitive dependencies to ensure consistency across environments.
+
+In most cases, you won’t need to manually edit `package.json` or `package-lock.json`. If you want to
+remove a dependency, it’s best to use:
+
+```shell
+npm uninstall
+```
+
+This will automatically remove the package from both `package.json` and `package-lock.json`. By
+doing this, the project stays clean and free of unused dependencies.
+
+### `astro.config.mjs`
+
+**Purpose**: This config file defines the core settings for the Astro project, such as integrations,
+site metadata, and base URLs.
+
+**Updates**: You may need to modify this file when adding integrations (e.g., Google Analytics) or
+updating site-wide settings such as title, description, or site configuration. Below are some
+specific examples:
+
+#### Site Metadata
+
+- **Why Update?**: You may want to change the global title, description, or other metadata for
+ search engine optimisation and branding purposes.
+- **Example**:
+
+ ```js
+ export default {
+ site: "https://example.com",
+ base: "/",
+ markdownOptions: {
+ rehypePlugins: [],
+ },
+ build: {
+ format: "directory",
+ },
+ };
+ ```
+
+ Update `site` or `base` when the site’s URL changes or if you want to modify markdown handling
+ (affecting headings, tables, etc.).
+
+#### Integrations
+
+- **Why Update?**: If you’re adding design frameworks like TailwindCSS or optimising images through
+ Astro.
+- **Example**: Integrating TailwindCSS for utility-first styling.
+
+ ```js
+ import tailwind from "@astrojs/tailwind";
+
+ export default {
+ integrations: [tailwind()],
+ };
+ ```
+
+ This allows you to quickly apply Tailwind's design utilities across your project.
+
+#### Customising Vite
+
+- **Why Update?**: When you need to customise the build pipeline to handle assets (images, fonts)
+ more efficiently.
+- **Example**: Adjust Vite settings to optimise or transform images.
+
+ ```js
+ export default {
+ vite: {
+ build: {
+ assetsInlineLimit: 4096, // in bytes
+ },
+ },
+ };
+ ```
+
+ This controls when assets are inlined versus being loaded separately, which impacts performance
+ and design choices.
+
+#### Page Transitions and Animations
+
+- **Why Update?**: If you're adding smooth page transitions or animations between pages to improve
+ UX.
+- **Example**: Adding an integration for animations using Astro Motion.
+
+ ```js
+ import motion from "astro-motion";
+
+ export default {
+ integrations: [motion()],
+ };
+ ```
+
+ This adds visual flair and smoother transitions between pages.
+
+#### Enabling SCSS or PostCSS
+
+- **Why Update?**: If you need to support SCSS for custom styling workflows.
+- **Example**: Enabling SCSS in Astro.
+
+ ```js
+ import { sass } from "@astrojs/sass";
+
+ export default {
+ integrations: [sass()],
+ };
+ ```
+
+ This allows you to use SCSS for modular and efficient styling.
+
+---
+
+## Core Development Files
+
+### `.astro` Files
+
+- **Purpose**: `.astro` files define the structure of pages and components. They are commonly used
+ for building both static and dynamic website content.
+
+- **What to update**: Add or modify pages in `src/pages/` or components in `src/components/`.
+
+- **Scenario**: You need to update the sidebar to include a new section in the website's navigation.
+
+- **How to update**: Modify the existing `Sidebar.astro` component to add a new navigation link
+ pointing to the new section.
+
+ ```astro
+
+ ```
+
+- **Explanation**: In this example, a new `
` element with the link to `/new-section` is added to
+ the sidebar's navigation, allowing users to navigate to the newly created page.
+- **When to update**: Edit `.astro` files when changing page layouts, adding components, or
+ modifying the site’s structure. \*/}
+
+---
+
+### `.jsx` and `.tsx` Files
+
+- **Purpose**: Handles interactivity and dynamic content through React components.
+
+- **What to update**: If adding or editing interactive elements like carousels, forms, or sliders,
+ modify these files. They’re typically located in `src/components/react/`.
+
+---
+
+### `.css` Files
+
+- **Purpose**: CSS files manage the website's styles, such as layout, typography, colour palettes,
+ and spacing. Common styles are defined in files like `src/styles/custom.css`, which holds the
+ custom styles for the website.
+
+- **What to update**: You can modify styles in files like `custom.css` or create new
+ component-specific styles depending on the changes being made to the design or layout.
+
+#### Example 1: Adjusting the colour palette in `custom.css`
+
+- **Scenario**: You need to update the website’s colour scheme to match a new brand identity.
+- **How to update**: Modify CSS variables in `custom.css` to reflect the new colours.
+
+ ```css
+ :root {
+ --primary-colour: #3498db;
+ --secondary-colour: #2ecc71;
+ --accent-colour: #e74c3c;
+ --background-colour: #f4f4f4;
+ }
+ ```
+
+#### Example 2: Adding custom styles for a specific component
+
+- **Scenario**: You want to add specific styles for a newly created `Button.astro` component.
+- **How to update**: Add styles to `custom.css` for the `button` class or ID specific to the
+ component.
+
+ ```css
+ .button-primary {
+ background-colour: var(--primary-colour);
+ colour: white;
+ padding: 10px 20px;
+ border-radius: 5px;
+ border: none;
+ cursor: pointer;
+ }
+ ```
+
+- **When to update**: Modify CSS files when making changes to the overall design (e.g., colour
+ palette, typography) or when specific components need unique styles.
+
+---
+
+## Image and Asset Management
+
+### Asset Directories
+
+- **Purpose**: The asset directories store static files such as images, gifs, and config files.
+ Proper organisation ensures that assets are easy to find and use in the project.
+
+- **Directory Structure**:
+
+ - **GIFs**: Store all general-purpose gifs in `public/gifs/`, regardless of content. However, if
+ the gif is used as part of a usage example (such as in a tutorial or documentation), store it in
+ `public/usage-examples-images-gifs/`.
+ - **Config Files**: Any configuration files that are generated from scripts (e.g.,
+ `games-config.json`) should be placed directly in the `public/` folder. This ensures they are
+ accessible for any part of the project that needs them.
+
+ - **Static Images**: Other static assets, such as images associated with tutorials, should be
+ stored in the same folder as the corresponding `.mdx` file. This keeps the related assets
+ organised with the content they belong to.
+
+- **Example**:
+
+ - A gif demonstrating a tutorial should be placed in `public/usage-examples-images-gifs/`.
+ - An image used in a physics tutorial stored in `src/content/docs/guides/physics/images` should
+ sit alongside the tutorial file in that same folder.
+
+---
+
+## `.mdx` Files
+
+- **Purpose**: Markdown files with embedded components for creating content pages.
+
+- **What to update**:
+ - Add new content in `src/content/docs/`.
+ - Ensure correct frontmatter is used (`title`, `description`, `category`).
+
+---
+
+## Peer Reviews: What to Look For
+
+When performing peer reviews, here’s what you should check for in various files:
+
+### `.mdx` Files
+
+- **Content Accuracy**: Ensure the information is correct and well-organised.
+- **Frontmatter**: Check that the frontmatter is complete (e.g., `title`, `description`).
+- **Component Usage**: Ensure embedded components are used properly (e.g., `LinkCard` or
+ `CardGrid`).
+
+### `.css` Files
+
+- **Consistency**: Ensure that styles follow the project’s styling conventions (e.g., consistent use
+ of variables for colours, fonts, and spacing).
+- **Naming Conventions**: Ensure class names follow a consistent naming pattern.
+
+### `.jsx`/`.tsx` Files
+
+- **Functionality**: Ensure that the component works as expected.
+- **Performance**: Look for unnecessary re-renders or inefficiencies in React component updates.
+- **Code Style**: Ensure it follows SplashKit's linting rules.
+
+### `.astro` Files
+
+- **Structure**: Ensure the page/component is well-structured and follows best practices.
+- **Reusability**: Consider whether code could be refactored into reusable components.
+
+---
diff --git a/src/content/docs/resources/Documentation/templates/bug-report-template.md b/src/content/docs/resources/Documentation/templates/bug-report-template.md
deleted file mode 100644
index 6d4a0ba9..00000000
--- a/src/content/docs/resources/Documentation/templates/bug-report-template.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: Bug Report Template
-sidebar:
- label: Bug Report Template
----
-
-## Bug Report Template
-
-### Name of the bug
-
-Provide a descriptive name of the bug.
-
-### Steps to reproduce
-
-List all steps to reproduce the bug.
-
-### Expected result
-
-Describe the correct result expected.
-
-### Actual result
-
-Describe the current erroneous result.
-
-### A screenshot, GIF, or video
-
-Include something to show the bug in action.
-
-### Helpful logs
-
-Include any logs that show the error.
-
-_Based on template from_
-[_Programming Foundations: Software Testing/QA_](https://www.linkedin.com/learning/programming-foundations-software-testing-qa/create-a-test-strategy?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlyndaLearningPath%3A57f7e27c3dd559e018dfe994&resume=false&u=2104084)
-_with Meaghan Lewis on LinkedIn Learning_
diff --git a/src/content/docs/resources/Documentation/templates/pr-template.md b/src/content/docs/resources/Documentation/templates/pr-template.md
deleted file mode 100644
index 4a4fc213..00000000
--- a/src/content/docs/resources/Documentation/templates/pr-template.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Pull Request Template
-sidebar:
- label: Pull Request Template
----
-
-## Any italic text should be deleted from the final Pull Request text, including this line
-
-## Description
-
-_Please include a summary of the change and which issue is fixed. Please also include relevant
-motivation and context. List any dependencies that are required for this change._
-
-Fixes # (issue)
-
-## Type of change
-
-_Please delete options that are not relevant._
-
-- [ ] Bug fix (non-breaking change which fixes an issue)
-- [ ] New feature (non-breaking change which adds functionality)
-- [ ] Breaking change (fix or feature that would cause existing functionality to not work as
- expected)
-- [ ] This change requires a documentation update
-
-## How Has This Been Tested?
-
-_Please describe the tests that you ran to verify your changes. Provide instructions so we can
-reproduce. Please also list any relevant details for your test configuration_
-
-## Testing Checklist
-
-- [ ] Tested in latest Chrome
-- [ ] Tested in latest Safari
-- [ ] Tested in latest Firefox
-
-## Checklist
-
-- [ ] My code follows the style guidelines of this project
-- [ ] I have performed a self-review of my own code
-- [ ] I have commented my code in hard-to-understand areas
-- [ ] I have made corresponding changes to the documentation
-- [ ] My changes generate no new warnings
-- [ ] I have requested a review from NAMES HERE on the Pull Request
diff --git a/src/content/docs/resources/Documentation/templates/srs-template.md b/src/content/docs/resources/Documentation/templates/srs-template.md
deleted file mode 100644
index 76269ead..00000000
--- a/src/content/docs/resources/Documentation/templates/srs-template.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: Software Requirement Specification (SRS) Document Template
-sidebar:
- label: Software Requirement Specification (SRS) Document Template
----
-
-## 1. Introduction
-
-### 1.1 Purpose
-
-### 1.2 Intended Audience
-
-### 1.3 Intended Use
-
-### 1.4 Scope
-
-### 1.5 Definitions and Acronyms
-
-## Overall Description
-
-### 2.1 User Needs
-
-### 2.2 Assumptions and Dependencies
-
-## System Features and Requirements
-
-### 3.1 Functional Requirements
-
-### 3.2 External Interface Requirements
-
-### 3.3 System Features
-
-### 3.4 Nonfunctional Requirements
diff --git a/src/content/docs/resources/Documentation/templates/test-plan-template.md b/src/content/docs/resources/Documentation/templates/test-plan-template.md
deleted file mode 100644
index df45fbc8..00000000
--- a/src/content/docs/resources/Documentation/templates/test-plan-template.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Test Plan Template
-sidebar:
- label: Test Plan Template
----
-
-## Test Plan Template
-
-### **TEST CASES**
-
-| # | Scenario | Input | Expected Result | Actual Result | Automated? |
-| --- | -------- | ----- | --------------- | ------------- | ---------- |
-| | | | | | (Y/N) |
-| | | | | | |
diff --git a/src/content/docs/resources/Documentation/templates/test-strategy-template.md b/src/content/docs/resources/Documentation/templates/test-strategy-template.md
deleted file mode 100644
index ba71e57d..00000000
--- a/src/content/docs/resources/Documentation/templates/test-strategy-template.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: Test Strategy (Sample)
-sidebar:
- label: Test Strategy (Sample)
----
-
-## **Introduction**
-
-A high-level summary of the project
-
-### **Example**
-
-This strategy outlines what quality provides to the project, what type of testing is done, and how
-testing is carried out. The aim is to ensure quality in all phases of the development lifecycle to
-deliver a great experience for our users.
-
-## **References**
-
-Relevant links and helpful information about the project and its tech stack
-
-### **Examples**
-
-- GitHubproject: \
-- Jasmine is used as a unit testing framework
- [https://jasmine.github.io/](https://jasmine.github.io/)
-- Cypress is used for end-to-end testing [https://www.cypress.io/](https://www.cypress.io/)
-- Karma is used for testing automation
- [https://karma-runner.github.io/latest/index.html](https://karma-runner.github.io/latest/index.html)
-- App is built using Node.js: [http://nodejs.org/](http://nodejs.org/)
-
-## QA Deliverables\*\*
-
-What artifacts QA will provide to the team (eg, Test Strategy, Sample Test Plan, Bug reports)
-
-### \*\*Examples
-
-- Test plans for each feature
-- Issues reported for bugs, enhancements, usability suggestions
-- Release process document
-
-## Test Management
-
-What resources are used to carry out testing in terms of tooling, environments, supported platforms
-and versions, and test data
-
-### Examples
-
-- Jenkins is used to build test versions of the application off of master and PRs
-- VMs are used to test the applications in Windows
-- Test runs are input in Testpad to make it clear what scenarios were tested and if those scenarios
- pass or fail
-- Supported operating systems are Windows 7 and 10 and Mac
-- Test data will include user accounts
-
-## Scope of Testing
-
-What types of tests exist for this project?
-
-### Examples - Scope of Testing
-
-- There are unit tests, 80% coverage, written in Jasmine
-- Written during development—by developers
-- Automated UI tests for high-level workflows
-
-_Based on template from_
-[_Programming Foundations: Software Testing/QA_](https://www.linkedin.com/learning/programming-foundations-software-testing-qa/create-a-test-strategy?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlyndaLearningPath%3A57f7e27c3dd559e018dfe994&resume=false&u=2104084)
-_with Meaghan Lewis on LinkedIn Learning_
diff --git a/src/content/docs/resources/Documentation/documenting-for-thoth-tech.md b/src/content/docs/resources/documenting-for-thoth-tech.md
similarity index 100%
rename from src/content/docs/resources/Documentation/documenting-for-thoth-tech.md
rename to src/content/docs/resources/documenting-for-thoth-tech.md
diff --git a/src/content/docs/resources/onboarding-hub/splashkit-onboarding-doc.md b/src/content/docs/resources/onboarding-hub/splashkit-onboarding-doc.md
deleted file mode 100644
index f1dcbd17..00000000
--- a/src/content/docs/resources/onboarding-hub/splashkit-onboarding-doc.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: SplashKit Onboarding Guide
----
-
-Placeholder
diff --git a/src/content/docs/resources/onboarding-hub/splashkit-onboarding-doc.mdx b/src/content/docs/resources/onboarding-hub/splashkit-onboarding-doc.mdx
new file mode 100644
index 00000000..5eef9f84
--- /dev/null
+++ b/src/content/docs/resources/onboarding-hub/splashkit-onboarding-doc.mdx
@@ -0,0 +1,85 @@
+---
+title: SplashKit Onboarding Guide
+---
+
+import { Steps, LinkCard, CardGrid } from "@astrojs/starlight/components";
+
+## Contributing to SplashKit
+
+Contributing to SplashKit is a great way to help improve a powerful, beginner-friendly game
+development toolkit while gaining experience in open-source development. Whether you’re interested
+in adding new features, fixing bugs, improving documentation, or helping with testing, we welcome
+all kinds of contributions!
+
+### Trimester Workflow
+
+{/* prettier-ignore */}
+
+ 1. **Explore SplashKit**: Begin by exploring the various SplashKit resources on this website. See
+ below for links. Familiarize yourself with the structure and functionality of each project and its
+ repositories and contribution guides.
+ 2. **Choose Tasks**: Work with the team or your mentor to identify tasks you can complete. These
+ may range from feature development and bug fixes to documentation improvements.
+ 3. **Fork the Repository**: When contributing, be sure to fork from the Thoth-Tech repo, not the
+ upstream SplashKit repo. This ensures changes are first reviewed and integrated internally before
+ being merged upstream.
+ 4. **Follow the Contribution Guide**: If a repository has its own contribution guide, usually in
+ a CONTRIBUTING.md file, then this guide should be followed. These will provide specific
+ guidelines to setup environments to work on particular projects. If you are unsure, reach out
+ to fellow team members and your mentor for further guidance.
+ 5. **Make Changes**: Begin working on your chosen task. Be sure to follow the repository's
+ guidelines and document your work clearly.
+ 6. **Submit a Pull Request (PR)**: Use the provided PR template (if available) to submit your
+ work. Clearly explain your changes, and explain the context and reasoning behind your changes.
+ Ensure your code is well-tested and documented.
+ 7. **Peer Review**: All contributions are subject to peer review. This is an opportunity to
+ collaborate with other developers, improve the quality of your code, and ensure that it adheres
+ to project standards. Peer reviews will involve a list of tasks that you are expected to review,
+ but they are also expected to be in the form of a discussion which aims to produce the best changes
+ possible.
+ 8. **Mentor Review**: After peer review, your mentor will review the changes for final
+ approval before they are merged.
+ 9. **Merging**: Contributions are typically merged upstream at the end of a development trimester,
+ ensuring the stability and quality of the SplashKit project.
+
+
+## Important Resources
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/content/docs/resources/Documentation/writing-style-guide.md b/src/content/docs/resources/writing-style-guide.md
similarity index 100%
rename from src/content/docs/resources/Documentation/writing-style-guide.md
rename to src/content/docs/resources/writing-style-guide.md
diff --git a/src/content/docs/companywidesubmissions/2023 Trimester 2/Company Structure and Objectives T2 2023.md b/src/content/docs/teams-and-contributions/2023 Trimester 2/Company Structure and Objectives T2 2023.md
similarity index 100%
rename from src/content/docs/companywidesubmissions/2023 Trimester 2/Company Structure and Objectives T2 2023.md
rename to src/content/docs/teams-and-contributions/2023 Trimester 2/Company Structure and Objectives T2 2023.md
diff --git a/src/content/docs/teams-and-leadership/2023 Trimester 2/leadership-t2-2023.md b/src/content/docs/teams-and-contributions/2023 Trimester 2/leadership-t2-2023.md
similarity index 100%
rename from src/content/docs/teams-and-leadership/2023 Trimester 2/leadership-t2-2023.md
rename to src/content/docs/teams-and-contributions/2023 Trimester 2/leadership-t2-2023.md
diff --git a/src/content/docs/teams-and-leadership/2023 Trimester 2/organizational-structure-t2-2023.md b/src/content/docs/teams-and-contributions/2023 Trimester 2/organizational-structure-t2-2023.md
similarity index 100%
rename from src/content/docs/teams-and-leadership/2023 Trimester 2/organizational-structure-t2-2023.md
rename to src/content/docs/teams-and-contributions/2023 Trimester 2/organizational-structure-t2-2023.md
diff --git a/src/content/docs/teams-and-leadership/2023 Trimester 2/team-members-t2-2023.md b/src/content/docs/teams-and-contributions/2023 Trimester 2/team-members-t2-2023.md
similarity index 100%
rename from src/content/docs/teams-and-leadership/2023 Trimester 2/team-members-t2-2023.md
rename to src/content/docs/teams-and-contributions/2023 Trimester 2/team-members-t2-2023.md
diff --git a/src/content/docs/companywidesubmissions/2023 Trimester 3/Contributing Effectively in T3 2023.md b/src/content/docs/teams-and-contributions/2023 Trimester 3/Contributing Effectively in T3 2023.md
similarity index 100%
rename from src/content/docs/companywidesubmissions/2023 Trimester 3/Contributing Effectively in T3 2023.md
rename to src/content/docs/teams-and-contributions/2023 Trimester 3/Contributing Effectively in T3 2023.md
diff --git a/src/content/docs/companywidesubmissions/2023 Trimester 3/company-progress-report.md b/src/content/docs/teams-and-contributions/2023 Trimester 3/company-progress-report.md
similarity index 100%
rename from src/content/docs/companywidesubmissions/2023 Trimester 3/company-progress-report.md
rename to src/content/docs/teams-and-contributions/2023 Trimester 3/company-progress-report.md
diff --git a/src/content/docs/companywidesubmissions/2023 Trimester 3/company-structure-and-objectives-for-2023-TRIMESTER-3.md b/src/content/docs/teams-and-contributions/2023 Trimester 3/company-structure-and-objectives-for-2023-TRIMESTER-3.md
similarity index 100%
rename from src/content/docs/companywidesubmissions/2023 Trimester 3/company-structure-and-objectives-for-2023-TRIMESTER-3.md
rename to src/content/docs/teams-and-contributions/2023 Trimester 3/company-structure-and-objectives-for-2023-TRIMESTER-3.md
diff --git a/src/content/docs/teams-and-leadership/2023 Trimester 3/organizational-structure-t3-2023.md b/src/content/docs/teams-and-contributions/2023 Trimester 3/organizational-structure-t3-2023.md
similarity index 100%
rename from src/content/docs/teams-and-leadership/2023 Trimester 3/organizational-structure-t3-2023.md
rename to src/content/docs/teams-and-contributions/2023 Trimester 3/organizational-structure-t3-2023.md
diff --git a/src/content/docs/companywidesubmissions/2024 Trimester 1/Contributing Effectively in T1 2024.md b/src/content/docs/teams-and-contributions/2024 Trimester 1/Contributing Effectively in T1 2024.md
similarity index 100%
rename from src/content/docs/companywidesubmissions/2024 Trimester 1/Contributing Effectively in T1 2024.md
rename to src/content/docs/teams-and-contributions/2024 Trimester 1/Contributing Effectively in T1 2024.md
diff --git a/src/content/docs/teams-and-leadership/2024 Trimester 1/leadership-t1-2024.md b/src/content/docs/teams-and-contributions/2024 Trimester 1/leadership-t1-2024.md
similarity index 100%
rename from src/content/docs/teams-and-leadership/2024 Trimester 1/leadership-t1-2024.md
rename to src/content/docs/teams-and-contributions/2024 Trimester 1/leadership-t1-2024.md
diff --git a/src/content/docs/teams-and-leadership/2024 Trimester 1/team-members-t1-2024.md b/src/content/docs/teams-and-contributions/2024 Trimester 1/team-members-t1-2024.md
similarity index 100%
rename from src/content/docs/teams-and-leadership/2024 Trimester 1/team-members-t1-2024.md
rename to src/content/docs/teams-and-contributions/2024 Trimester 1/team-members-t1-2024.md
diff --git a/src/content/docs/teams-and-contributions/2024 Trimester 2/company-report.md b/src/content/docs/teams-and-contributions/2024 Trimester 2/company-report.md
new file mode 100644
index 00000000..582918ab
--- /dev/null
+++ b/src/content/docs/teams-and-contributions/2024 Trimester 2/company-report.md
@@ -0,0 +1,1239 @@
+---
+title: Thoth Tech – Company Handover Report 2024 TRIMESTER 2
+description: 11.2P Task, T2 2024
+---
+
+## Table of Contents
+
+[1. Executive Summary](#executive-summary)
+
+[2. Showcase Video](#showcase-video)
+
+[3. Leadership Team](#leadership-team)
+
+> [3.1 Company Board](#company-board)
+> [3.2 Product Mentors](#product-mentors)
+> [3.3 Student Leaders](#student-leads)
+> [3.4 Leadership Responsibilties](#leadership-responsibilities)
+
+[4. Company Structure](#company-structure)
+
+[5. Project 1: OnTrack](#project-1-ontrack)
+
+> [5.1 Project Overview](#project-overview)
+> [5.2 User Manual](#user-manual)
+> [5.3 Completed Deliverables](#completed-deliverables)
+> [5.4 Roadmap](#roadmap)
+> [5.5 Open Issues](#open-issues)
+> [5.6 Lessons Learned](#lessons-learned)
+> [5.7 Product Development Life Cycle](#product-development-life-cycle)
+>
+> > [5.7.1 New Tasks](#new-tasks)
+> > [5.7.2 Definition of Done](#definition-of-done)
+> > [5.7.3 Task Review](#task-review)
+> > [5.7.4 Testing](#testing)
+> > [5.7.5 Branching Strategy](#branching-strategy)
+> > [5.8 Product Architecture](#product-architecture)
+> > [5.8.1 Tech Stack](#tech-stack)
+> > [5.9 Source Code](#source-code)
+> > [5.10 Login Credentials](#login-credentials)
+
+[6. Project 2: SplashKit](#project-2-splashkit)
+
+> [6.1 Project Overview](#project-overview-1)
+> [6.2 User Manual](#user-manual-1)
+> [6.3 Completed Deliverables](#completed-deliverables-1)
+> [6.4 Roadmap](#roadmap-1)
+> [6.5 Open Issues](#open-issues-1)
+> [6.6 Product Development Life Cycle](#product-development-life-cycle-1)
+>
+> > [6.6.1 New Tasks](#new-tasks-1)
+> > [6.6.2 Definition of Done](#definition-of-done-1)
+> > [6.6.3 Task Review](#task-review-1)
+> > [6.6.4 Testing](#testing-1)
+> > [6.6.5 Branching Strategy](#branching-strategy-1)
+> > [6.7 Product Architecture](#product-architecture-1)
+> > [6.8 Source Code](#source-code-1)
+
+## Executive Summary
+
+Thoth Tech is an education-focused technology company located in Melbourne, Australia. Thoth Tech’s
+mission is to build, operate, and deploy tools that enhance education outcomes by empowering
+students, connecting them with tutors, and facilitating personalised learning experiences.
+
+We value excellence and collaboration. We strive to deliver all our products in exceptional quality,
+making sure it is sustainable in the long run. We continuously meet this goal while empowering our
+people through established frameworks and a safe and supportive learning environment.
+
+In Trimester 2, 2024, Thoth Tech ran its two main products: OnTrack, and SplashKit. This report will
+outline the company structure, projects, and accomplishments for this trimester.
+
+## Showcase Video
+
+This video summarises the accomplishments made at Thoth Tech for Trimester 2, 2024:
+[Thoth Tech Company Showcase Video](https://deakin.au.panopto.com/Panopto/Pages/Viewer.aspx?id=b69ee4c8-1567-41bc-95be-b1fa001266ad)
+
+## Leadership Team
+
+### Company Board
+
+- Andrew Cain - Director, Product Owner (OnTrack & SplashKit)
+
+### Product Mentors
+
+- Satika Jayawardena (OnTrack)
+- Nebula Alam (OnTrack)
+- Tien Pham (SplashKit)
+- Olivia McKeon (SplashKit)
+- Sean Boettger (SplashKit)
+
+### Student Leads
+
+- Jake Mansfield – Senior Leader (OnTrack)
+- Jack Carroll – Senior Leader (OnTrack)
+- Atharv Bhandare – Junior Leader (OnTrack)
+- Bruce Wang – Senior Leader (OnTrack)
+- Ivan Justin – Junior Leader (OnTrack)
+- Eliya Geerlings – Junior Leader (OnTrack)
+- Jonathan Tynan – Senior Leader (SplashKit)
+- Oscar Harris – Senior Leader (SplashKit)
+- Hayley Hughes – Senior Leader (SplashKit)
+- Shaun Ratcliff – Junior Leader (SplashKit)
+- Brianna Laird – Junior Leader (SplashKit)
+
+### Leadership Responsibilities
+
+The following are the key responsibilities of the company student leadership team throughout the
+trimester:
+
+1. Company presentation in the first junior lecture – Introduce the company, its projects, and
+ required skill sets for potential junior students
+
+ - Student leads must prepare and organise a PowerPoint presentation representing each of their
+ projects during Week 0
+
+2. Host first company-wide meeting and onboard students – Provide a more specific overview of
+ company and project goals, meeting schedules, and expectations for the trimester
+
+ - Team building sessions may also be organised to build rapport across teams
+
+3. Weekly company leadership team meeting – Report on project progress and concerns to company
+ stakeholders
+
+ - Date and time to be decided by members in the first week according to availability
+
+4. Complete company tasks: progress, handover, and showcase reports and videos
+ - These reports must be submitted by 1 senior and 1 junior on behalf of the company and
+ appropriate communications must be made on Teams
+
+All past company reports, showcase videos, and relevant assets can be found here:
+[Company Documents & Videos](https://deakin365.sharepoint.com/sites/ThothTech2) &
+[Thoth Tech Documentation Website](https://thoth-tech.netlify.app)
+
+## Company Structure
+
+![Org chart](https://raw.githubusercontent.com/thoth-tech/ThothTech-Documentation-Website/refs/heads/main/public/company-structure/2024-t2-thoth-tech-structure.png)
+
+## Project 1: OnTrack
+
+### Project Overview
+
+OnTrack, also known as Doubtfire, is an innovative Learning Management System (LMS) tailored for
+skill-based course delivery. This platform facilitates the connection between tutors and students,
+primarily at Deakin University and other global institutions. The overarching goal of OnTrack is to
+enhance the educational experience by providing a structured, efficient, and interactive learning
+environment. This system aims to improve student engagement, learning outcomes, and the overall
+teaching and learning process, benefiting both students and educational staff.
+
+### User Manual
+
+Tutorial videos on setting up your local development environment:
+
+- [T3 2023 Setup demo](https://deakin365.sharepoint.com/:v:/s/ThothTech2/ESrgw0W_21pLn7kqS86WoJgBG71EPo7VPSp8AXt151JC2g?e=AZyu7I)
+ by Satika Jayawardena
+
+- [T2 2023 Setup demo](https://video.deakin.edu.au/media/t/1_6degiyrj) by Daniel Maddern
+
+- [T1 2024 Common setup error solutions](https://teams.microsoft.com/l/message/19:bd20175d09414f079490a2403f7fca74@thread.tacv2/1711021331051)
+ by Satika Jayawardena
+
+Contributing Guides:
+
+- [Doubtfire-deploy repository](https://github.com/thoth-tech/doubtfire-deploy/blob/development/CONTRIBUTING.md)
+
+- [OnTrack documentation](https://github.com/thoth-tech/documentation/tree/main/docs/OnTrack)
+
+- [Thoth Tech Documentation Website](https://main--strong-fairy-c1bde1.netlify.app/products/ontrack/example/)
+
+### Completed Deliverables
+
+This trimester, the following key deliverables were completed:
+
+- Bug Fixes and Urgent Enhancements
+
+ - Chat Markdown Rendering Bug: Successfully fixed an issue where markdown was not rendering
+ properly in chat, enhancing the user experience for students and staff.
+ - Documentation Enhancements: Completed and merged documentation updates for both general and
+ specific API pages. This includes contributions from team members on various entities such as
+ requirement sets and course entities, directly supporting the goal of comprehensive
+ documentation for OnTrack's evolving features.
+
+- Frontend Enhancements and Component Migrations: Several components have been successfully migrated
+ to Angular 17 and TypeScript, including the comments-modal, group set manager, and
+ unit-ilo-edit-modal. Additionally, enhancements were made to PDF handling and user interface
+ elements like the grade-task-modal and grade-icon components, contributing to the ongoing frontend
+ migration and user interface improvement objectives.
+
+ - Ongoing Frontend Migration: The migration of legacy CoffeeScript components to
+ TypeScript/Angular continues, with files such as timeout.coffee and grade-task-modal.coffee
+ currently under peer review. This aligns with our aim to complete at least 10% of the existing
+ frontend migration backlog this trimester.
+ - Overlay Component Creation: Developed a new overlay component to provide additional information
+ about units to users, enhancing the user interface and experience. This feature is currently
+ under review.
+
+- CourseFlow:
+
+ - CourseMap Base Page Development: Developed the base page for CourseMap, laying the groundwork
+ for further enhancements and integrations planned for the CourseFlow component.
+ - Backend Requirements Implementation: Completed backend requirements for several critical
+ entities, including the requirement set, course, and course map unit entities. These efforts are
+ part of the overarching aim to enhance CourseFlow functionality and ensure robust backend
+ support for new and existing features.
+ - CourseFlow Enhancements: Several enhancements are under review, including adding authentication
+ to endpoints and integrating new UI elements. These efforts are part of the continued
+ development of the CourseFlow API and its related functionalities.
+
+- JPLAG - jplag software plagiarism has been implemented as a containerised batch process. Frontend
+ and backend additions have been made to allow plagiarism report downloads.
+- Dev Container Image Downsizing - LaTex and MariaDB have been moved into their own containers;
+ reducing rebuild time of the main container significantly
+- Nginx - an nginx container has been created to utilise reverse proxying, allowing localhost:4200
+ and localhost:3000 to be accessed at localhost/ and localhost/api
+
+- Ongoing and Pending Tasks:
+ - Group Set Manager Migration: The migration of the group set manager component to the latest
+ framework is in progress.
+ - Unit Group Set Editor Migration: The migration of the unit-group-set-editor.coffee file
+ continues to move forward, aligning with our frontend migration goals.
+ - Tasks in Peer Review: Detailed documentation and API operations for units and task definitions,
+ along with the migration of several legacy components, are currently under peer review. This
+ work supports the ongoing documentation efforts and frontend migration initiatives.
+
+#### List Of All Complete Deliverables
+
+| Name | Task Name | Task Attachment |
+| :---------------------------- | :--------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Amos Saji | Migration: group set manager | |
+| Amrith Jayadeep | Migration: group set selector | |
+| Anirudh Nellippilli Joshi | Documentation: grade-task-modal component review | |
+| Anirudh Nellippilli Joshi | migrate file-uploader.coffee | |
+| Anirudh Nellippilli Joshi | Migration: group set selector | |
+| Anirudh Nellippilli Joshi | Migration: group set manager | |
+| Anirudh Nellippilli Joshi | Migration: csv-result-modal.coffee | |
+| Anirudh Nellippilli Joshi | Onboarding Juniors Guidence | |
+| Atharv Sandip Bhandare | Migration: comments-modal | |
+| Atharv Sandip Bhandare | Write documentation for JPLAG | |
+| Atharv Sandip Bhandare | Migration: Component task-ilo-alignment-modal.coffee | |
+| Atharv Sandip Bhandare | Add user UI does not allow user creation | |
+| Atharv Sandip Bhandare | Migration: unit-staff-editor.coffee | |
+| Atharv Sandip Bhandare | JPLAG UI documentation | |
+| Bruce Wang | Migration: comments-modal | |
+| Bruce Wang | Documentation: grade-task-modal component review | |
+| Bruce Wang | migrate file-uploader.coffee | |
+| Bruce Wang | Migration: grade-icon.coffee | |
+| Bruce Wang | Migrate analytics.coffee | |
+| Bruce Wang | Migrate viewer.coffee | |
+| Bruce Wang | Migration: timeout.coffee | |
+| Bruce Wang | Migration: unauthorised.coffee | |
+| Bruce Wang | Migration: unit-staff-editor.coffee | |
+| Bruce Wang | Migration: csv-result-modal.coffee | |
+| Bruce Wang | Onboarding Juniors Guidence | |
+| Eliya Geerlings | Migration: comments-modal | |
+| Eliya Geerlings | Autoload PDFs on page 2 when viewing student submissions | |
+| Eliya Geerlings | Fix jupyter notebook latex rake test | |
+| Eliya Geerlings | Fix up existing confirmation-modal migration | |
+| Eliya Geerlings | Latex docker downsizing: Creation of feasibility document | |
+| Eliya Geerlings | Latex docker downsizing: Implementation | |
+| Eliya Geerlings | Persistent PDF zoom levels when selecting between different task submissions | |
+| Eliya Geerlings | Migration: unit-staff-editor.coffee | |
+| Ivan Justin | Latex docker downsizing: Creation of feasibility document | |
+| Ivan Justin | Chat markdown not rendering properly bug | |
+| Ivan Justin | Migration: Unit-ilo-edit-modal.coffee | |
+| Jack Shinners Carroll | Write documentation for JPLAG | |
+| Jack Shinners Carroll | Documentation: grade-task-modal component review | |
+| Jack Shinners Carroll | Latex docker downsizing: Creation of feasibility document | |
+| Jack Shinners Carroll | Latex docker downsizing: Implementation | |
+| Jack Shinners Carroll | Migrate analytics.coffee | |
+| Jack Shinners Carroll | Migration: unit-staff-editor.coffee | |
+| Jack Shinners Carroll | Add JPLAG frontend | |
+| Jack Shinners Carroll | Alter JPLAG api code | |
+| Jack Shinners Carroll | Create JPLAG Container | |
+| Jack Shinners Carroll | JPLAG UI documentation | |
+| Jake Mansfield | Document the below API pages in detail within the website - set 5 | |
+| Jake Mansfield | Implement the backend requirements for the course entity. | |
+| Jake Mansfield | Implement the backend requirements for the course map entity. | |
+| Jake Mansfield | Implement the backend requirements for the course map unit entity. | |
+| Jake Mansfield | Implement the backend requirements for the requirement set entity. | |
+| Jake Mansfield | Implement the backend requirements for the specialization entity. | |
+| Jake Mansfield | Add detailed operations for units API (task_definitions -tii_group_attachments ) on Ontrack documentation website | |
+| Jake Mansfield | Add Authentication to the Courseflow endpoints | |
+| Jake Mansfield | Add button to Courseflow main component | |
+| Jake Mansfield | Created coursemap base page | |
+| Jake Mansfield | Add detailed operations for units API (task_definitions) on Ontrack documentation website | |
+| Jake Mansfield | Add detailed operations for units API (group set - group ID) on Ontrack documentation website | |
+| Jake Mansfield | Add detailed operations for units API (group set - group csv) on Ontrack documentation website | |
+| Jake Mansfield | Add detailed operations for units API (task_definitions - task_assessment_resources ) on Ontrack documentation website | |
+| Jake Mansfield | Document the operations units API - Tutorial Streams | |
+| Jake Mansfield | Ensure Unit Definition model satisfies all requirements (Phase 2) | |
+| Jake Mansfield | Create appropriate testing files for the Unit Definition entity (Phase 1) | |
+| Jake Mansfield | Create dummy data for a specific course for the front end to use (Phase 3) | |
+| Jake Mansfield | Implement the backend requirements for the Unit Definition entity (phase 1) | |
+| Jake Mansfield | Make a Plan for Courseflow for T2 | |
+| Jake Mansfield | Migrate analytics.coffee | |
+| Jake Mansfield | Migrate the existing Unit table to be compatible with Unit Definition (Phase 4) | |
+| Jake Mansfield | Migration: timeout.coffee | |
+| Jake Mansfield | Courseflow Documentation Requirement Analysis | |
+| Jake Mansfield | Onboarding Juniors Guidence | |
+| Minu Nediyapalackal Sunil | Document the below API pages in detail within the website - set 5 | |
+| Minu Nediyapalackal Sunil | Add detailed operations for units API (task_definitions -tii_group_attachments ) on Ontrack documentation website | |
+| Minu Nediyapalackal Sunil | Add detailed operations for units API (task_definitions) on Ontrack documentation website | |
+| Minu Nediyapalackal Sunil | Create diagram of coursemap page | |
+| Minu Nediyapalackal Sunil | Add detailed operations for units API (group set - group ID) on Ontrack documentation website | |
+| Minu Nediyapalackal Sunil | Add detailed operations for units API (group set - group csv) on Ontrack documentation website | |
+| Minu Nediyapalackal Sunil | Add detailed operations for units API (task_definitions - task_assessment_resources ) on Ontrack documentation website | |
+| Minu Nediyapalackal Sunil | Document the operations units API - Tutorial Streams | |
+| Minu Nediyapalackal Sunil | Pull the API docs from last trimester into the new folder structure | |
+| Minu Nediyapalackal Sunil | Courseflow Documentation Requirement Analysis | |
+| Muhammad Danial | Migration: Component task-ilo-alignment-modal.coffee | |
+| Sam Rolfe | Implement the backend requirements for the course entity. | |
+| Sam Rolfe | Implement the backend requirements for the course map entity. | |
+| Sam Rolfe | Implement the backend requirements for the course map unit entity. | |
+| Sam Rolfe | Implement the backend requirements for the requirement set entity. | |
+| Sam Rolfe | Implement the backend requirements for the specialization entity. | |
+| Sam Rolfe | Add Authentication to the Courseflow endpoints | |
+| Sam Rolfe | Add button to Courseflow main component | |
+| Sam Rolfe | Created coursemap base page | |
+| Sam Rolfe | Create a list of tasks for CourseMap FE | |
+| Sam Rolfe | Create diagram of coursemap page | |
+| Sam Rolfe | Ensure Unit Definition model satisfies all requirements (Phase 2) | |
+| Sam Rolfe | Migration: grade-icon.coffee | |
+| Sam Rolfe | Add ability to add elective units to the unit pool (phase 2) | |
+| Sam Rolfe | Create appropriate testing files for the Unit Definition entity (Phase 1) | |
+| Sam Rolfe | Create dummy data for a specific course for the front end to use (Phase 3) | |
+| Sam Rolfe | Create services and models for courseflow back end components. | |
+| Sam Rolfe | Implement the backend requirements for the Unit Definition entity (phase 1) | |
+| Sam Rolfe | Migrate the existing Unit table to be compatible with Unit Definition (Phase 4) | |
+| Sam Rolfe | Populate remaining units container with relevant units from course (phase 2) | |
+| Sam Rolfe | Courseflow Documentation Requirement Analysis | |
+| Shen Tian | Add button to Courseflow main component | |
+| Shen Tian | Created coursemap base page | |
+| Shen Tian | Create services and models for courseflow back end components. | |
+| Shen Tian | Migrate analytics.coffee | |
+| Shen Tian | Migration: timeout.coffee | |
+| Shen Tian | Populate remaining units container with relevant units from course (phase 2) | |
+| Shyama Chandrashekaran Pillai | Document the below API pages in detail within the website - set 5 | |
+| Shyama Chandrashekaran Pillai | Add detailed operations for units API (task_definitions -tii_group_attachments ) on Ontrack documentation website | |
+| Shyama Chandrashekaran Pillai | Add detailed operations for units API (task_definitions) on Ontrack documentation website | |
+| Shyama Chandrashekaran Pillai | Add detailed operations for units API (group set - group ID) on Ontrack documentation website | |
+| Shyama Chandrashekaran Pillai | Add detailed operations for units API (group set - group csv) on Ontrack documentation website | |
+| Shyama Chandrashekaran Pillai | Add detailed operations for units API (task_definitions - task_assessment_resources ) on Ontrack documentation website | |
+| Shyama Chandrashekaran Pillai | Document the operations units API - Tutorial Streams | |
+| Shyama Chandrashekaran Pillai | Pull the API docs from last trimester into the new folder structure | |
+| Thuy Tien Hoa | migrate file-uploader.coffee | |
+| Thuy Tien Hoa | Migration: Component task-ilo-alignment-modal.coffee | |
+| Thuy Tien Hoa | Migration: grade-icon.coffee | |
+| Thuy Tien Hoa | Add ability to add elective units to the unit pool (phase 2) | |
+| Thuy Tien Hoa | Migrate viewer.coffee | |
+
+### Roadmap
+
+The following are areas of OnTrack students may choose to work on in Trimester 3, 2024:
+
+- Frontend Migrations – Angular.js and CoffeeScript to Angular and TypeScript
+- Urgent Enhancements, Improvements, and Bugs
+- Documentation Website – Enhance and add missing endpoint documentation
+- Peer reviews for previous pull requests and contributions
+- Features in development:
+ - Tutor Feedback Enhancement – feedback_api will require further development to support
+ "criterion" or options
+ - CourseFlow – remaining backend entities and frontend
+ - Incorporate Multiple Organizations on Single OnTrack Server
+ - Authentication Module
+ - Tutor Times
+ - Incorporate Content in OnTrack
+ - Staff Grant Extensions
+ - Panopto Video Integration
+
+### Open Issues
+
+These are some of the common challenges we have faced in Trimester 2, 2024 and may continue to face
+in the future:
+
+1. Knowledge gap in using Git and GitHub – Team members are required to upskill in Git before
+ starting on their assigned tasks as this is the primary tool used within the team to manage code
+ and contributions. The Git and GitHub training website and demo videos attached in this document
+ are some of the great resources available in capstone for this purpose.
+
+2. Unsatisfactory pull request reviews – Reviews must not be made through generational AI tools or
+ just indicate how many commits have been made and what has changed. Instead, it must evaluate the
+ syntax, logic, and output of the code. Please refer to section Task Review for more details and
+ this past review for an example of a correct pull request review.
+
+### Lessons Learned
+
+This trimester, the traditional weekly Help Hub sessions, typically held on Thursdays and led by
+senior team members, experienced a noticeable decrease in attendance.
+
+To adapt, student leads focused on driving engagement and addressing queries through the OnTrack
+public Teams channel, encouraging team members to share their experiences and solutions.
+
+While this approach has been effective for accommodating team members' diverse schedules, we
+recommend exploring new ways to host Help Hub sessions alongside asynchronous Teams posts. Offering
+multiple formats for assistance could provide additional opportunities for leadership development.
+
+Future student leads may consider using polls or forms to determine the most suitable time for
+sessions based on team availability. Additionally, offering a variety of session formats could help
+not only resolve existing problems but also guide team members in making contributions to specific
+areas.
+
+### Product Development Life Cycle
+
+We continue to use Agile methodologies to deliver updates and new features for OnTrack.
+
+Our approach includes 2-week sprints focused on completing tasks, and weekly stand-up meetings to
+assess progress, share updates, discuss roadblocks, and assign new tasks via Teams Planner cards.
+
+#### New Tasks
+
+New tasks are assigned by the project mentor during the weekly stand-up meetings. Once you are
+assigned a task, be sure to assign yourself to the corresponding Teams Planner card and attach your
+draft or completed pull request when you begin work.
+
+If you have an idea for a new feature or enhancement, schedule a meeting with the project mentor to
+discuss it. Upon approval, create a new card or backlog column in Teams Planner to track the task.
+If the feature is large, start researching the benefits and challenges, and create a Spike document,
+which can be committed to the documentation repository. Spike templates are available in the
+documentation repository.
+
+#### Definition of Done
+
+A task is considered complete once it has been fully tested, functions as expected, and is
+documented in a well-organized pull request.
+
+The task must also undergo peer review and be approved by your mentor. Ensure that the corresponding
+Teams Planner card is updated, and keep in communication with your reviewer and mentor until your
+contribution is merged into the upstream doubtfire-lms repository.
+
+#### Task Review
+
+Each pull request requires a mandatory peer review before a mentor review. After creating the pull
+request, contact a teammate to review it.
+
+Tag them as the reviewer in both the Teams Planner card and the GitHub pull request. As a reviewer,
+ensure that you test the code by pulling the changes locally and reviewing the syntax, logic, and
+output.
+
+If any changes are needed, update the contribution and notify the reviewer. Once the updates are
+made, the pull request will be automatically updated.
+
+After the peer review is complete, notify the mentor for their review. Once approved, you can submit
+the pull request to the upstream repository for the final review.
+
+#### Testing
+
+For frontend changes, test the functionality in the browser or run specification tests as needed.
+For backend changes, use browser interactions or tools like Postman to test functionality.
+Additionally, GitHub CI Actions will run tests automatically when changes are pushed.
+
+In the pull request template, include detailed instructions on how others can test your changes.
+Always provide before-and-after screenshots to show the outcome of your modifications.
+
+#### Branching Strategy
+
+When starting a new contribution, fork all three thoth-tech repositories (deploy, web, and API) to
+your GitHub profile.
+
+Create a new branch from the development branch of the relevant repository. For example, for
+frontend migrations, you would create a branch from the doubtfire-web development branch.
+
+Follow the Branch Prefixes and Commit Message Format in the Contributing Guide when naming branches
+and creating commits.
+
+### Product Architecture
+
+OnTrack is built using four main components:
+
+1. Frontend Client: Responsible for user interactions.
+2. Backend API: Handles requests and serves data.
+3. Database: Stores application data.
+4. Deployment Infrastructure: Ensures that OnTrack is properly deployed and maintained
+
+#### Tech Stack
+
+- Frontend: Currently being migrated from AngularJS and CoffeeScript to Angular 17 and TypeScript.
+ The stack also includes HTML, SCSS, and Tailwind CSS.
+- Backend: Built on Ruby on Rails with the Grape Framework. It uses MariaDB as the database engine.
+ Docker is used for deployment and local development.
+
+### Source Code
+
+The following are the relevant GitHub repositories to this project:
+
+1. Deployment -
+2. Frontend -
+3. Backend -
+4. OnTrack Documentation Website -
+5. Documentation (OnTrack feature documentation, frontend migration component reviews, etc.) -
+
+6. Templates (Spikes, component reviews) -
+
+7. CourseFlow documentation -
+
+ Note: Any pull requests must first be made to the thoth-tech forks of the repositories, not the
+ upstream doubtfire-lms ones.
+
+### Login Credentials
+
+Refer to the Working with Dev Containers section of the
+[Contributing Guide](https://github.com/thoth-tech/doubtfire-deploy/blob/main/CONTRIBUTING.md) for
+authentication credentials for locally deployed OnTrack.
+
+### Showcase Video
+
+The videos in this folder summarise our accomplishments this trimester in OnTrack:
+
+- [Showcase Videos](https://deakin365.sharepoint.com/:f:/r/sites/ThothTech2/Shared%20Documents/General/Company%20Documents%20%26%20Videos/2024%20T2/Showcase%20Video?csf=1&web=1&e=ezMp06)
+
+## Project 2: SplashKit
+
+### Project Overview
+
+SplashKit is a user-friendly programming framework designed for creating 2D games, primarily to help
+students learn introductory programming through game development. The framework is mainly written in
+C++, but it supports multiple languages, including C#, Python, Pascal, and JavaScript.
+
+### Projects
+
+#### Arcade Machines
+
+The university has acquired four arcade machines equipped with Raspberry Pi 3B+ units, designed to
+showcase games developed with SplashKit. The short-term goal is to prepare these platforms for
+students to display their SplashKit creations. The medium-term goal is to streamline the process for
+first-year students to easily upload and test their games.
+
+#### Game Development
+
+The Game Development team is dedicated to creating and enhancing games that run on the arcade
+machines. Their mission is to demonstrate SplashKit’s capabilities and inspire students by
+showcasing what can be achieved with the framework.
+
+#### SplashKit Website
+
+Powered by the Starlight framework, the revamped SplashKit website aims to offer an enriched and
+user-friendly experience for developers and learners. It will host existing tutorials and guides,
+providing a central hub for exploring and learning about SplashKit.
+
+#### SplashKit Tutorials
+
+The SplashKit Website will feature tutorials aimed at helping students learn and explore SplashKit’s
+functionality. The focus is on developing smaller, high-quality tutorials across C++, C#, and
+Python, rather than extensive series.
+
+#### SplashKit Expansion
+
+The Expansion team is responsible for maintaining and enhancing the SplashKit core. This includes
+bug fixes, feature improvements, and refining installation and usage workflows through package
+creation and addressing installation issues.
+
+#### SplashKit Online
+
+SplashKit Online is developing a web-based IDE that allows students to write and run code directly
+in their browsers. Initially launched as a prototype in 2023, the 2024 goal is to mature this tool
+into a comprehensive product, including C# support and an embeddable version for the SplashKit
+website.
+
+### User Manual
+
+#### Arcade Machines
+
+- [Brief development environment setup instructions](https://github.com/thoth-tech/arcade-machine)
+- [Machine Operations Guide]()
+
+#### SplashKit Website
+
+- [Development environment setup instructions](https://github.com/thoth-tech/splashkit.io-starlight/blob/main/CONTRIBUTE.md)
+
+#### SplashKit Tutorials
+
+- [Tutorial Information Hub](https://thoth-tech.netlify.app/products/splashkit/splashkit-tutorials/0-overview/)
+- [Development environment setup instructions](https://github.com/thoth-tech/splashkit.io-starlight/blob/main/CONTRIBUTE.md)
+
+#### SplashKit Expansion
+
+- [Repository setup instructions](https://github.com/thoth-tech/splashkit-core/blob/develop/CONTRIBUTING.md)
+
+#### Game Development
+
+- [Game Development Student Onboarding Guide](https://github.com/thoth-tech/arcade-games/blob/main/advanced-game-design-team/Student%20Onboarding%20Guide.md)
+- [Guide to Contribute a Game to the Arcade Machine](https://github.com/thoth-tech/arcade-games/blob/main/README.md)
+
+#### SplashKit Online
+
+- [Development environement setup instructions](https://github.com/thoth-tech/SplashkitOnline?tab=readme-ov-file#installation)
+- [General developer documentation](https://thoth-tech.netlify.app/products/splashkit/splashkit-online/code-documentation/other/folderstructureoverview/)
+
+### Completed Deliverables
+
+This trimester, the following deliverables were completed:
+
+#### Arcade Machine
+
+- Arcade Machine Improvements
+ - Developed a test menu for the arcade machine
+ - Added additional controls to the arcade menu
+ - Defined the process for uploading games to the arcade machine
+ - Fixed broken links in Arcade Build documentation
+ - Developed Game Packaging tool, [flipper](https://github.com/thoth-tech/flipper)
+
+#### SplashKit Expansion
+
+- General Improvements
+ - Fixed bugs relating to vectors, random number generation, moving sprites and replacing text.
+ - Renamed 'label' parameter to fix Pascal support
+ - Investigate and identified missing functionality from SwinGame
+ - Tested Python compatibility
+ - Implemented insertion of XML comments into SplashKit.cs during translation process
+- New Features
+ - Completed development of Remote GPIO Control methods
+ - Created Circle-Triangle Collision detection methods
+ - Created base64 image decoding function
+ - Created SplashKit Splashscreen function
+ - Added unit tests for networking, utility functions, bitmaps, sound effects, and music.
+
+#### SplashKit Website
+
+- Website Improvements
+ - Begun development of an 'Onboarding Hub'
+ - Resolved issues with SplashKit.io dev Container
+ - Fixed the guides index page and updated broken links
+ - Improved Troubleshooting section
+ - Added game showcase page and improved website styling
+ - Reviewed, updated and validated key policies and FAQs
+ - Fixed API table formatting
+ - Updated tab logo
+ - Improved site styling
+
+#### SplashKit Tutorials
+
+- New Tutorials
+ - Developed 2D Vectors tutorial series covering topics such as vector magnitude, collisions and
+ gravity
+- Tutorial Updates
+ - Created documentation detailing tutorial review process
+ - Developed Onboarding process for the tutorial team
+ - Added Object-Oriented Programming concepts to SplashKit tutorials
+ - Added C# Code Blocks to Tutorials
+ - "Introduction to JSON", "Writing JSON Data", "Reading JSON Data", guides
+ - "Styling User Interfaces" guide
+ - "Understanding Double Buffering" guide
+ - Add Python Code Blocks to Tutorials
+ - "Using Mouse Inputs" guide
+- Created various usage examples
+ - `fill_triangle`, `fill_circle`, `create_sprite`, `draw_sprite`,`clear_screen` and more
+- Completed various tutorial reviews
+ - "Getting started with servers" guide
+ - "How to make a RESTful API call" guide
+ - "SplashKit Camera" guide
+ - "Using Mouse Inputs" guide
+
+#### SplashKit Online
+
+- Automated installation of pre-built files
+- Interface Improvements
+ - Fixed scrollbar jumping to top when switching code files
+ - Implemented message to prompt user for action to enable audio
+ - Added Interface Minification option
+
+#### Game Development
+
+- Game Development Improvements
+ - Developed Onboarding guide for the Game Development team
+ - Addressed issue that compiled .exe files are platform-specific.
+ - Fixed gameplay issues in Below the Surface and Venture Adventure
+ - Created programming plan for the Bee Game project, outlining core mechanics and class structures
+
+#### List Of All Complete Deliverables
+
+| Name | Task Name | Task Attachment |
+| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Brianna Laird | Fix Broken Dev Container | |
+| Brianna Laird | Update and Re-organise Trouble Shooting Section | |
+| Brianna Laird | Add Python code blocks to "Using Mouse Inputs" guide | |
+| Brianna Laird | Add Tutorial Review Documentation | |
+| Brianna Laird | Splashkit tutorial - Documentation Update | |
+| Brianna Laird | Validate/Update Processes, Policies and FAQs | |
+| Brianna Laird | Adding OOP To Splashkit Tutorials | |
+| Brianna Laird | Fixing Tutorial Side Guide | |
+| Brianna Laird | Update Usage Examples to add Python code | |
+| Brianna Laird | Create Code Usage Examples for: "fill_triangle_on_bitmap" function | |
+| Brianna Laird | Review "Routing with Servers" guide | |
+| Brianna Laird | Create Code Usage Examples for CreateSprite | |
+| Brianna Laird | Create Code Usage Examples for Draw sprite | |
+| Brianna Laird | Create Code Usage Examples for Free sprite | |
+| Brianna Laird | Create Code Usage example for:"clear_screen" function | |
+| Brianna Laird | Dec to Hex Usage Example | |
+| Brianna Laird | Hex to Dec Usage Example | |
+| Brianna Laird | IPv4 to Decimal Usage Example | |
+| Brianna Laird | IPv4 to Hex Usage Example | |
+| Brianna Laird | Introduction to JSON Tutorial - C# Language Update | |
+| Brianna Laird | Review "Getting Started with Servers" guide | |
+| Brianna Laird | Review "How to make a RESTful API call" guide | |
+| Brianna Laird | Review "Splashkit Camera" Guide | |
+| Brianna Laird | Review "Useful Utilities" guide | |
+| Brianna Laird | Review: "Using Mouse Inputs" guide | |
+| Brianna Laird | Fix issue with ipv4_to_str function | |
+| Brianna Laird | Add python code blocks to the Introduction to JSON in SplashKit | |
+| Brianna Laird | Splashkit Camera Tutorial - C# Language Update | |
+| Brianna Laird | Using Splashkit Audio Tutorial - C# Language Update | |
+| Darren Marchiano Sunandar | Fix typo in vector magnitude squared documentation | |
+| Darren Marchiano Sunandar | Identify missing functionality from SwinGame | |
+| Darren Marchiano Sunandar | Create a python pip package | |
+| Darren Marchiano Sunandar | Arcade Machine Splashkit splash screen on startup | |
+| Darren Marchiano Sunandar | Fix bug in replace_all | |
+| Darren Marchiano Sunandar | Test python version | |
+| Darren Marchiano Sunandar | Translator: Generate C# documentation comments from HeaderDoc | |
+| Ethan Mark Holley | Fix scrollbar jumping to top when switching code files | |
+| Ethan Mark Holley | Interface Minification Option | |
+| Ethan Mark Holley | Show message to user requesting them to click into the Execution Environment iFrame to get audio working | |
+| Ethan Mark Holley | Add Network Unit Tests | |
+| Ethan Mark Holley | Arcade Menu - Add additional controls | |
+| Ethan Mark Holley | Develop Test Menu for Arcade Machine | |
+| Hangyu Li | Create Code Usage Examples for: "fill_circle" function | |
+| Hangyu Li | Create Code Usage Examples for: "fill_ellipse" function | |
+| Hangyu Li | Create Code Usage Examples for: "fill_rectangle" function | |
+| Hangyu Li | Create Code Usage example for:"clear_screen" function | |
+| Hangyu Li | Dec to Hex Usage Example | |
+| Hangyu Li | Hex to Dec Usage Example | |
+| Hangyu Li | Review "Splashkit Camera" Guide | |
+| Hangyu Li | Write Line INTEGER - Usage Example for Terminal | |
+| Hangyu Li | Writing JSON data Tutorial - C# Language Update | |
+| Hangyu Li | Review "Reading Text" Guide | |
+| Hangyu Li | Update Splashkit Sprite tutorial | |
+| Hayley Rose Hughes | Define process for copying games to Arcade Machine | |
+| Hayley Rose Hughes | Fix typo in vector magnitude squared documentation | |
+| Hayley Rose Hughes | Initial implementation of remote GPIO control | |
+| Hayley Rose Hughes | Investigate bug in move_sprite_to | |
+| Hayley Rose Hughes | Fix bug in closest_point_on_lines | |
+| Hayley Rose Hughes | Create a python pip package | |
+| Hayley Rose Hughes | Add unit tests for utility functions | |
+| Hayley Rose Hughes | Arcade Machine Splashkit splash screen on startup | |
+| Hayley Rose Hughes | Circle-Triangle Collision Detection Methods | |
+| Hayley Rose Hughes | Fix broken links in Arcade Build Doco | |
+| Hayley Rose Hughes | Fix bugs in rnd | |
+| Hayley Rose Hughes | Fix issue with ipv4_to_str function | |
+| Hayley Rose Hughes | Rename 'label' Parameter | |
+| Hayley Rose Hughes | Translator: Generate C# documentation comments from HeaderDoc | |
+| Hayley Rose Hughes | Updated Arcade Build Doco | |
+| Hayley Rose Hughes | Rebuild the "Game Packaging" to work with remote repos | |
+| Jake Andrew Oxley | Identify missing functionality from SwinGame | |
+| Jake Andrew Oxley | SplashKit Tutorial - 2D Vectors | |
+| Jessica Balsillie | Automate installation of pre-built files | |
+| Jessica Balsillie | Fix scrollbar jumping to top when switching code files | |
+| Jonathan James Tynan | Define process for copying games to Arcade Machine | |
+| Jonathan James Tynan | Initial implementation of remote GPIO control | |
+| Jonathan James Tynan | Tutorial Proposal - 2D Vectors | |
+| Jonathan James Tynan | Validate/Update Processes, Policies and FAQs | |
+| Jonathan James Tynan | Add bitmap, sound effect and music unit tests | |
+| Jonathan James Tynan | Automate installation of pre-built files | |
+| Jonathan James Tynan | Fix bug in closest_point_on_lines | |
+| Jonathan James Tynan | Identify missing functionality from SwinGame | |
+| Jonathan James Tynan | Fix guides index page | |
+| Jonathan James Tynan | Exit Handling Research for SplashKit | |
+| Jonathan James Tynan | Fix Splashkit Translator Docker Container | |
+| Jonathan James Tynan | GPIO Extension Research for Raspberry Pi 5 and Linux SBCs | |
+| Jonathan James Tynan | Add showcase page | |
+| Jonathan James Tynan | Update Broken Splashkit.io Links | |
+| Jonathan James Tynan | Add unit tests for utility functions | |
+| Jonathan James Tynan | Base64 Splashkit image decoding function | |
+| Jonathan James Tynan | Circle-Triangle Collision Detection Methods | |
+| Jonathan James Tynan | Fix broken links in Arcade Build Doco | |
+| Jonathan James Tynan | Fix bug in replace_all | |
+| Jonathan James Tynan | Fix bugs in rnd | |
+| Jonathan James Tynan | Fix issue with ipv4_to_str function | |
+| Jonathan James Tynan | Rename 'label' Parameter | |
+| Jonathan James Tynan | Test python version | |
+| Jonathan James Tynan | Translator: Generate C# documentation comments from HeaderDoc | |
+| Jonathan James Tynan | Updated Arcade Build Doco | |
+| Jonathan James Tynan | Onboarding Hub - Add SplashKit Information | |
+| Jonathan James Tynan | Rebuild the "Game Packaging" to work with remote repos | |
+| Ka Chun Lam | Create raycasted point collision artifact |