Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to README for T3 2024 #567

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 42 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,37 @@
# Documentation
# ThothTech Documentation

<p align="left">
<img width="150px" src="https://github.com/thoth-tech/.github/blob/main/images/splashkit.png"
alt="Thoth Tech Logo"/>
</p>

[![GitHub contributors](https://img.shields.io/github/contributors/thoth-tech/documentation?label=Contributors&color=F5A623)](https://github.com/thoth-tech/documentation/graphs/contributors)
[![GitHub issues](https://img.shields.io/github/issues/thoth-tech/documentation?label=Issues&color=F5A623)](https://github.com/thoth-tech/documentation/issues)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/thoth-tech/documentation?label=Pull%20Requests&color=F5A623)](https://github.com/thoth-tech/documentation/pulls)
[![Forks](https://img.shields.io/github/forks/thoth-tech/documentation?label=Forks&color=F5A623)](https://github.com/thoth-tech/documentation/network/members)
[![Stars](https://img.shields.io/github/stars/thoth-tech/documentation?label=Stars&color=F5A623)](https://github.com/thoth-tech/documentation/stargazers)

## What is this repository used for?

Welcome to the **ThothTech Documentation** repository! This repository is designed as the dynamic
hub for all short-term documentation needs within Thoth Tech. It provides a structured and
accessible platform for managing the fluid and frequently updated documents that support our team's
agile project management and development cycles.

**Short-term documentation** such as spike reports, meeting minutes, and sprint reports are
primarily housed here. These documents are crucial for capturing the fast-paced changes in our
projects and ensuring that all team members are kept up-to-date with the latest developments and
decisions.

For **long-term documentation**, including onboarding materials, general product guidelines, and
detailed records of company deliverables, please refer to our
[ThothTech Documentation Website](https://github.com/thoth-tech/ThothTech-Documentation-Website)
repository. This separate repository is dedicated to maintaining stable and ongoing documentation
that supports long-term knowledge management and resource sharing across the company.

## Format Checks To Run

Make sure to run the following commands to format the files before you make a Pull Request.
Ensure to run the following commands to format your files before making a Pull Request:

1. To format the files:

Expand All @@ -19,28 +48,24 @@ Make sure to run the following commands to format the files before you make a Pu
[![CI](https://github.com/thoth-tech/documentation/actions/workflows/ci.yml/badge.svg)](https://github.com/thoth-tech/documentation/actions/workflows/ci.yml)
[![Prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://prettier.io/)

Add all of your Research, Meeting Agendas and everything project related.

## What is this repository used for?

This documentation repository is used to collate all information regarding the Thoth Tech Products.
Every project needs good documentation and Thoth Tech's mission is to ensure there are good
documentation paradigms in place which would set the company up for success in the future.
### Repository Organization

Each team has their own separate folders and these are used for everything related to the team
projects. Additionally, if you have documentation elsewhere, we recommend that you begin a small
migration process to this repository in Markdown format.
Each team has their dedicated folders, which are used for everything related to their projects. If
you have documentation stored elsewhere, consider migrating it to this repository in Markdown
format.

Some of the things you might want to include within this repository includes:
Some documents you might want to include:

- Meeting Minutes
- Spike Reports
- Sprint Reports
- Research and Findings
- Onboarding Packages
- And more - the potential is unlimited.
- And more - the possibilities are unlimited!

Please note, before you commit any changes to this repository, take the time to explore the layout
and setup, as the files and folder structure has already been setup on GitHub.
Please familiarize yourself with the layout and setup of the files and folder structure on GitHub
before committing any changes to this repository.

## Contributing

Please see the [contribution guidelines](CONTRIBUTING.md).
Want to contribute? Great! Please see the [contribution guidelines](CONTRIBUTING.md).
Original file line number Diff line number Diff line change
Expand Up @@ -249,14 +249,11 @@ https://www.okta.com/identity-101/what-is-ldap/

[3] heartcombo (n.d.) Devise [GitHub repository]. Available: https://github.com/heartcombo/devise

[4] C. Schiewek (2020, Jul. 24). Devise LDAP Authenticatable [GitHub repository]. Available:
https://github.com/cschiewek/devise_ldap_authenticatable
[4] C. Schiewek (2020, Jul. 24). Devise LDAP Authenticatable [GitHub repository]. Available: https://github.com/cschiewek/devise_ldap_authenticatable

[5] L. D. Hurley (n.d.). Devise Token Auth [GitHub repository]. Available:
https://github.com/lynndylanhurley/devise_token_auth
[5] L. D. Hurley (n.d.). Devise Token Auth [GitHub repository]. Available: https://github.com/lynndylanhurley/devise_token_auth

[6] J. P. Riethmacher (n.d). Angular Token [GitHub repository]. Available:
https://github.com/neroniaky/angular-token
[6] J. P. Riethmacher (n.d). Angular Token [GitHub repository]. Available: https://github.com/neroniaky/angular-token

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,22 +36,22 @@ See <https://github.com/thoth-tech/handbook/blob/main/README.md> .
# **Project Aim**

\
Overall, the aim of this project is to extend the Doubtfire (OnTrack) Learning Management System by allowing
students to upload word documents against a task submission. \
Overall, the aim of this project is to extend the Doubtfire (OnTrack) Learning Management System by
allowing students to upload word documents against a task submission. \
\
Word documents must be converted to the Portable Document Format (PDF) so it can be made accessible to
the tutors and unit convenors for assessment. \
Word documents must be converted to the Portable Document Format (PDF) so it can be made accessible
to the tutors and unit convenors for assessment. \
\
Currently, Doubtfire only supports code, PDF and image task submissions.

# **Project Aim for Trimester 3, 2022**

\
This trimester, our aim is to research, compare and decide on the technology implementation that will
be used to convert the word document submissions to PDF. \
This trimester, our aim is to research, compare and decide on the technology implementation that
will be used to convert the word document submissions to PDF. \
\
As a number of the team members are new to the capstone program, and/or new to the Doubtfire architecture,
a significant amount of time is dedicated to research and upskilling.
As a number of the team members are new to the capstone program, and/or new to the Doubtfire
architecture, a significant amount of time is dedicated to research and upskilling.

# **Introduction**

Expand All @@ -65,26 +65,28 @@ converting word documents to PDFs; Pandoc and LibreOffice Writer. Specifically,
# **Pandoc**

\
<https://pandoc.org/> is a Command Line Interface (CLI) document converter which supports an impressive
number of conversion input and output permutations, including word processing file extensions such as
.docx, .rtf and .odt. Pandoc is well documented and easy to use. Pandoc CLI is available as a Docker
image, so it can be executed in isolation or installed natively within an existing container.
<https://pandoc.org/> is a Command Line Interface (CLI) document converter which supports an
impressive number of conversion input and output permutations, including word processing file
extensions such as .docx, .rtf and .odt. Pandoc is well documented and easy to use. Pandoc CLI is
available as a Docker image, so it can be executed in isolation or installed natively within an
existing container.

# **LibreOffice**

\
<https://www.libreoffice.org/> is an open source productivity suite which contains a number of standalone
applications which are used to author documents, spreadsheets and presentations. While working with LibreOffice
typically involves a graphical user interface, headless interactions are possible via the CLI. Being
an open sourced software, many implementations or flavours are available on the internet. Because of
this, we found it challenging to navigate and find documentation that best fit our use case. LibreOffice
CLI is also available in a Docker image.
<https://www.libreoffice.org/> is an open source productivity suite which contains a number of
standalone applications which are used to author documents, spreadsheets and presentations. While
working with LibreOffice typically involves a graphical user interface, headless interactions are
possible via the CLI. Being an open sourced software, many implementations or flavours are available
on the internet. Because of this, we found it challenging to navigate and find documentation that
best fit our use case. LibreOffice CLI is also available in a Docker image.

# **Performance**

\
In an effort to make an informed decision on which technology we should utilise going forward, we had
established three Key Performance Indicators (KPIs) in which we evaluated each technology against. \
In an effort to make an informed decision on which technology we should utilise going forward, we
had established three Key Performance Indicators (KPIs) in which we evaluated each technology
against. \
\

- Speed; the time it took for a conversion to occur.
Expand All @@ -98,7 +100,8 @@ established three Key Performance Indicators (KPIs) in which we evaluated each t
".docx" files, being 100kb, 500kb and 1MB, to ".pdf" and compares the time it took for each of the
technologies. Whereby each file is converted three times so we can report on the best, worst and
average cases. \
\ The benchmarking tool and its outputs are available at “./Performance Benchmarking/runner.ipynb”.
\ The benchmarking tool and its outputs are available at “./Performance
Benchmarking/runner.ipynb”.

# **Performance Conclusions**

Expand All @@ -123,41 +126,42 @@ More detail is available in the benchmarking tool itself, a summary is provided
# **Future Students**

\
For future students, reflect on the overall project aim, and start thinking in which creative ways you
can help to contribute to this project team. Ultimately by integrating the chosen container into OnTrack
successfully, the original project aim will be complete. \
For future students, reflect on the overall project aim, and start thinking in which creative ways
you can help to contribute to this project team. Ultimately by integrating the chosen container into
OnTrack successfully, the original project aim will be complete. \
\
A project which was new to the whole team during trimester 3 2022, as well as being condensed into a
very short period of time, was ultimately what allowed us to achieve what we could and overcoming challenges.
With these resources being created with the intention to serve great future reference to future students
and try help them get a head start as much as possible, it is important to take some time and read/understand
all the information provided and available. \
very short period of time, was ultimately what allowed us to achieve what we could and overcoming
challenges. With these resources being created with the intention to serve great future reference to
future students and try help them get a head start as much as possible, it is important to take some
time and read/understand all the information provided and available. \
\
So have a read of some of the important project information below, and hopefully clears up a lot of questions
you would’ve had, to give a head start into the Capstone unit. \
So have a read of some of the important project information below, and hopefully clears up a lot of
questions you would’ve had, to give a head start into the Capstone unit. \
\
**First Steps:** understand the structure of OnTrack, what it is, and how it works. \
\
In brief, Doubtfire (OnTrack) can be described as a “modern, lightweight LMS” (Learning Management System)
that helps students submit work and receive feedback on it. \
In brief, Doubtfire (OnTrack) can be described as a “modern, lightweight LMS” (Learning Management
System) that helps students submit work and receive feedback on it. \
\
![figure 3](Images/figure3.PNG) \
\
When looking at the OnTrack Architecture diagram, the red box, representing the API, is where most of
our work will be in, as it is mainly backend work that needs to be done. \
When looking at the OnTrack Architecture diagram, the red box, representing the API, is where most
of our work will be in, as it is mainly backend work that needs to be done. \
\
Doubtfire’s API is done in an open-source framework known as Ruby on Rails. Rails is written in Ruby
and provides default structures for a database and a web page. \
\
If you’re not familiar with the language or framework, learning and upskilling in these areas can be
included in the hours dedicated to upskilling. \
\
**NOTE:** minimum 30 hours of upskilling required, as explained by the directors of the capstone unit.
Could be subject to change for future trimesters, so please check with unit team first. \
**NOTE:** minimum 30 hours of upskilling required, as explained by the directors of the capstone
unit. Could be subject to change for future trimesters, so please check with unit team first. \
\
**Deploy OnTrack Locally:** should be your priority if you are not a returning student to the
project. The link below will include three markdown files explaining everything you need to do to
successfully set Doubtfire up on your local computer, and so that you can get started working on it.
\
**Deploy OnTrack Locally:** should be your priority if you are not a returning student to the project.
The link below will include three markdown files explaining everything you need to do to successfully
set Doubtfire up on your local computer, and so that you can get started working on it. \
\
**Link:** <https://github.com/thoth-tech/documentation/tree/doc/migration/docs/OnTrack/Front%20End%20Migration/Docker>
\
Expand All @@ -167,4 +171,5 @@ you can start thinking about solutions and ways in which to contribute. \
\
I would recommend now that you have understood a bit of the structure of OnTrack, to then understand
how the API works, and finding the related code for the API to be able to start working on that. The
two kind of go hand in hand, understanding the backend of OnTrack’s API, alongside the overall structure.
two kind of go hand in hand, understanding the backend of OnTrack’s API, alongside the overall
structure.
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,5 @@ code reusability. So, The AngularJS framework provides reusable components for i

Simplilearn.com. (2018). AngularJS Vs. Angular 2 Vs. Angular 4: Understanding the Differences.
[online] Available at:
<https://www.simplilearn.com/angularjs-vs-angular-2-vs-angular-4-differences-article> [Accessed 20
Sep. 2022].
<https://www.simplilearn.com/angularjs-vs-angular-2-vs-angular-4-differences-article> [Accessed
20 Sep. 2022].
6 changes: 2 additions & 4 deletions docs/OnTrack/Incorporate Content Ontrack/UML_Diagram.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@ This Document outlines the flow of the new feature 'incorporate Content' into On

## Use Case Diagram

- [UML - Incorporate Content]
(<https://lucid.app/lucidchart/dedcba58-df9e-43ff-a2a0-11554ef4746f/edit?invitationId=inv_001e1d0a-3ae8-4a72-ac79-7c41e58d6011>)
- [UML - Incorporate Content] (<https://lucid.app/lucidchart/dedcba58-df9e-43ff-a2a0-11554ef4746f/edit?invitationId=inv_001e1d0a-3ae8-4a72-ac79-7c41e58d6011>)

## UML Diagram

- [UML - Incorporate Content]
(<https://lucid.app/lucidchart/00d3d911-dd46-47b5-b383-c7cf9d3bd995/edit?invitationId=inv_24cea4fa-ef99-449b-8a07-2c060edae1d6>)
- [UML - Incorporate Content] (<https://lucid.app/lucidchart/00d3d911-dd46-47b5-b383-c7cf9d3bd995/edit?invitationId=inv_24cea4fa-ef99-449b-8a07-2c060edae1d6>)
6 changes: 2 additions & 4 deletions docs/OnTrack/Tutor Times/UML Diagrams/UML_DIAGRAM.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@ This Document outlines the flow of the new feature 'Tutor Time' into Ontrack.

## Use Case Diagram

- [UML - Tutor Time]
(<https://lucid.app/lucidchart/5ec06a41-cdea-4a61-be89-a00669d71dd8/edit?invitationId=inv_995755e8-00b0-466b-a4ef-7b86de79b006>)
- [UML - Tutor Time] (<https://lucid.app/lucidchart/5ec06a41-cdea-4a61-be89-a00669d71dd8/edit?invitationId=inv_995755e8-00b0-466b-a4ef-7b86de79b006>)

## UML Diagram

- [UML - Tutor Time]
(<https://lucid.app/lucidchart/3f089d75-d16d-4930-8b12-f0a4890e3f74/edit?invitationId=inv_e9f40e2f-ff8e-4011-9957-ecef3cd44ef0>)
- [UML - Tutor Time] (<https://lucid.app/lucidchart/3f089d75-d16d-4930-8b12-f0a4890e3f74/edit?invitationId=inv_e9f40e2f-ff8e-4011-9957-ecef3cd44ef0>)
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,9 @@ FILE="YOUR-FILEPATH-HERE"
## Useful Links

https://unix.stackexchange.com/questions/94322/is-it-possible-for-a-daemon-i-e-background-process-to-look-for-key-presses-fr
This is a stack exchange question looking into detecting inputs on a linux/unix device. The answers
talk about the file paths for devices and gives a sample code using C.
This
is a stack exchange question looking into detecting inputs on a linux/unix device. The answers talk
about the file paths for devices and gives a sample code using C.

https://retropie.org.uk/forum/topic/26927/emulation-game-start-scripts-folder
A forum post asking about some issues regarding a game-start script.
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,10 @@ The game API can be bypassed to directly access this library for other purposes.
## Evaluation

![Evaluation of QLearning and Minimax shows QLearning with 94% (9492) games won and Minimax with 90% (90) of games won](https://i.imgur.com/8caHmdY.png)
Here is an example of Evaluation of agent performance we can see that QLearning performs optimally.
Since we know Minimax is optimal we can compare it's performance with QLearning and determine if
QLearning is playing at approximately the same level as Minimax.
Here
is an example of Evaluation of agent performance we can see that QLearning performs optimally. Since
we know Minimax is optimal we can compare it's performance with QLearning and determine if QLearning
is playing at approximately the same level as Minimax.

# T2 notes:

Expand Down
4 changes: 2 additions & 2 deletions docs/Templates/Project-Templates/Component-Review.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ sketches or diagrams, what will the migrated component look like compared to the

Next add a checklist similar to: then create a checklist:

[ ] ability to collect details from the user [ ] succeeds when data is valid [ ] handles errors -
duplicate unit code in the teaching period, or invalid dates [ ] created unit is shown on success
[ ] ability to collect details from the user [ ] succeeds when data is valid [ ] handles errors - duplicate
unit code in the teaching period, or invalid dates [ ] created unit is shown on success

## Discussion with Client (Andrew Cain)

Expand Down
Loading
Loading