Dojo is HackYourFuture's in-house management tool designed to track HackYourFuture trainee progress, performance, attendance, assignments, graduation status, and other relevant data, facilitating efficient management of trainees information.
![]() |
![]() |
![]() |
![]() |
- Search for trainees, volunteers and organisations
- View and update trainee profile
- Track trainee progress and performance
- Generate real-time reports
- Trainees overview, grouped by cohort
- Partner organisations overview, with a profile to view and update each one
- Volunteers overview, with a profile to view and update each one
- Secure authentication using Google OAuth
A React single-page app on top of a Spring Boot REST API and a PostgreSQL database. Sign-in is Google OAuth, profile pictures are kept in S3-compatible storage, and trainee and volunteer changes are posted to Slack.
The server folder holds the legacy Node.js, Express and MongoDB back-end, which server-spring replaces.
Ensure you have the following installed:
- Node.js version 24 or above, with npm
- For the full setup: Java 25 and Docker
If you only work on the front-end, you can connect to a remote deployed backend instead of running a server locally. This saves some time and configuration.
-
Navigate to the front-end directory:
cd client -
Install the dependencies:
npm run setup
-
Copy
.env.exampleto.env -
Replace
VITE_BACKEND_PROXY_TARGETandVITE_GOOGLE_CLIENTIDwith the correct values of the test server -
Start the app:
npm run dev
-
The app should be accessible at http://localhost:8888/
-
Set up the server from the detailed instructions in server-spring/README.md. Make sure the back-end is running before setting up the front-end.
-
Set up the client from the detailed instructions in client/README.md
-
The back-end should be accessible at http://localhost:7777/ and the front-end should be accessible at http://localhost:8888/
- Navigate to
http://localhost:8888in the browser. - Log in with an authorized google account.
- Search for a trainee to track trainee progress, contact information, employment status etc...
- Use the Trainees page to see the full list of trainees.
Make sure:
VITE_GOOGLE_CLIENTIDinclient/.envand the server'sGOOGLE_OAUTH_CLIENTIDandGOOGLE_OAUTH_CLIENTSECRETbelong to the same Google OAuth client.- The Google account you try to authenticate has an active user in the Dojo database.
- The Google account is on the list of the test users for the OAuth authentication in Google console.
Refer to the server and client documentation for more details.
Contributions are welcome by opening a pull request:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Open a Pull Request.
- Make sure the deployment build is successful.
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries or feedback, please contact the dojo team on Slack or open an issue.



