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
- View and update trainee profile
- Track trainee progress and performance
- Generate real-time reports
- Cohorts overview
- Secure authentication using Google OAuth
This project is built using the MERN stack.
Ensure you have the following installed:
- Node.js version 22 or above
- npm
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.
-
Run the following command in the root directory:
npm run setup
-
Navigate to the front-end directory:
cd client
-
Copy
.env.example
to.env
-
Replace
VITE_BACKEND_PROXY_TARGET
andVITE_GOOGLE_CLIENT_ID
with the correct values of the test server -
Start the app:
npm run dev
-
The app should be accessible at http://localhost:5173/
-
Run the following command in the root directory:
npm run setup
-
Set up the server from the detailed instructions in server/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:5173/
- Navigate to
http://localhost:5173
in the browser. - Log in with an authorized google account.
- Search for a trainee to track trainee progress, contact information, employment status etc...
- Use the cohorts overview page to see the full list of trainees.
Make sure:
- The
.env
files are set up correctly on both front-end and back-end with the correct Google client ID and secret. - The Google account you try to authenticate is 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.