Compass Analytics is the partner-facing analytics dashboard for Tabiya Compass — giving implementers and funders visibility into deployment reach, module engagement, and jobseeker outcomes across the institutions they run Compass in.
- Frontend: Explore the Frontend directory for detailed insights about the frontend React project.
- Backend: Explore the Backend directory for detailed insights about the FastAPI backend project.
- Infrastructure As Code (IaC): Not yet implemented.
- Contribution Guidelines: Help us improve the project by contributing to various aspects.
- Getting Started: Easy steps to set up your environment and start contributing.
- License: The project is licensed under MIT License.
- Make an Impact: Your contributions directly improve how partners understand and act on Compass deployment data.
- Help Achieve Our Goals: By contributing, you're supporting Tabiya's mission to give implementers and funders the visibility they need to run effective, evidence-based deployments.
- Reporting Issues: If you encounter bugs or have suggestions, open an issue on GitHub. Your feedback is valuable.
- Code Contributions: Help enhance the codebase by submitting pull requests.
- Write or Improve Tests: You can help by writing or improving tests.
- Documentation: Improve project documentation by submitting pull requests. Clear documentation is crucial for new contributors.
🎉 Thank you for considering contributing to Compass Analytics! 🎉
We follow the Prettier code formatting guidelines to make sure the code is properly formatted in a uniform way.
You can find the configuration in the .prettierrc.json file.
Note: For IntelliJ IDEA, if you make changes to the Prettier config, you may need to restart the IDE before formatting code using the IDE's formatting function.
We use pylint (with pylint-pydantic) as our linting tool for the Python backend.
You can find the configuration in the .pylintrc file.
Please follow the Conventional Commits format for commit messages.
To contribute to our code coverage goal, refer to our "Guidelines for Readable BDD Testing" in the testing-guidelines.md.
To ensure component stability, refer to our "Snapshot Testing Guidelines" in the snapshot-testing-guidelines.md.
To work with this repository you should have a system with a bash compatible terminal (linux, macOS, cygwin) as most of the scripts are written for bash and will not work on windows cmd or powershell.
-
Fork the repository and clone it to your local environment.
-
Create a new branch for your changes.
-
Set up each individual subproject. e.g. if you are working on
frontend/follow instructions infrontend/README.md. -
After making your changes, ensure the code is clean, properly formatted and passes all tests.
You can use the provided script,
run-before-merge.sh, for assistance. This script performs checking of the code formatting, linting, building, and testing on the subprojects of the repository. To run it, use the following command:./run-before-merge.sh
If you get any errors, fix them before proceeding. A common source of errors is not fully completing step
3from above. -
Commit them and push to your fork.
-
Use descriptive commit messages following Conventional Commits.
-
Open a pull request to our main branch.
Happy contributing! 🚀
This project is licensed under the MIT License. See the LICENSE file for more information.