Project On-boarding
Purpose of Document
The purpose of this document is to position you, the potential contributor, such that you can contribute to the project. Regardless of your selected role, it is paramount that you join and configure all facets of the project. You are encouraged to work outside of your role.
Notice
All team members are expected to have all facets of the project set up, irrespective of your selected or designated roles. This increases the team agility.
Trello
- Register a Trello account.
- Confirm your Trello account by email (may go to Trash, so be sure to check there).
- Join the Trello board that is assigned by your delivery Lead. The previous team’s Trello board
Figma
- Register a Figma account.
- Confirm your Figma account by email (may go to Trash, so be sure to check there).
- Join the Figma project.
Configuring git (global)
If you haven’t already, you must configure git.
- Set your git username by
git config --global user.name "FIRST_NAME LAST_NAME", whereFIRST_NAMEis your first name andLAST_NAMEis your last name. - Set your git email by
git config --global user.email "YOUR_EMAIL", whereYOUR_EMAILis your email. It is advised that you use your@users.noreply.github.comemail address, which is, by default,<username>@users.noreply.github.com, where<username>is your GitHub username.
Cloning the Documentation
This enables you to contribute to the project documentation. You should also read the documentation contribution guidelines.
git clone -b doc/view-task-and-submission-redesign --single-branch https://github.com/thoth-tech/documentation.gitWSL2
If you are on a Windows machine, then we recommend that you install WSL2.
Get OnTrack Running on Local Machine
You need a terminal that supports shell scripts (on Windows, you need WSL2, Msys2, or Cygwin).
-
Fork doubtfire-deploy, doubtfire-api, and doubtfire-web
-
Clone your doubtfire-deploy. Make sure to fetch submodules to get the sub-projects.
Terminal window git clone --recurse-submodules https://github.com/YOUR_USERNAME/doubtfire-deploy -
cdinto the directory.Terminal window cd doubtfire-deploy -
Open a terminal that supports
shscripts (on Windows, you require WSL2, Msys2, or Cygwin). Run the following command to set your fork as the remote.Terminal window ./change_remotes.sh -
Your delivery lead provides you with the GitHub username to use in this command. This allows you to use
git fetch task-view-submission,git pull task-view-submission, andgit push task-view-submission.Terminal window git remote add task-view-submission https://github.com/PROVIDED_USERNAME/doubtfire-deploy -
You can now follow the remaining instructions, from instruction four, in the
doubtfire-deploycontributing file.
What Next?
-
Become familiar with the project epic
-
Become familiar with the user stories and features
- Are there any users that are not served in the user stories or by the features?
-
Become familiar with the requirements
- Are all stakeholders sufficiently provided for, with this set of requirements?
-
Become familiar with the deliverables
- Are there deliverable items that should be added?
- Are there deliverable items that should be removed?
- Are there deliverable items that can be decomposed into smaller deliverable items?
-
Examine the first proposed design below and ensure all requirements are met, and that the inclusion of the features are user-friendly.

-
Examine the second proposed design and ensure all requirements are met, and that the inclusion of the features are user-friendly.

- Examine the second design’s prototype.
-
Select a front-end design to modify, improve, extend, or implement.
-
Examine the back-end emulator.
- Has it successfully passed proof-of-concept?
- How can git be implemented on the back-end of the OnTrack product?
-
Work on implementing the front-end and back-end.
-
If somebody on your team is well-versed in cyber-security, then an examination of the security of the implementation is required.
-
If somebody on the team is well-versed in databases and database administration, then a model of the database is required.
Helpful Points
- If you are using Windows as your primary operating system and you have not downloaded, installed, and/or set-up MinGW, then a former team found the Linux subsystem WSL 2 and Docker Desktop WSL 2 backend as a helpful development environment.