Thank you for your interest in contributing to Zero-TOTP! We value security above all, and your contributions play a crucial role in making this project even better. Please take a moment to read and follow these guidelines to ensure a smooth and effective contribution process.
- Introduction
- Getting Started
- Contribution Process
- Submitting Pull Requests
- Security
- Community and Communication
- Acknowledgements
- License
Zero-TOTP is an open-source project focused on providing a secure and reliable implementation of Time-based One-Time Password (TOTP) client. We welcome contributions from the community to enhance its functionality, security, and usability.
Before you start contributing, make sure to fork the Zero-TOTP repository to your GitHub account. You will be working on your forked repository and submitting pull requests from there.
- Clone your forked repository to your local machine:
git clone https://github.com/your-username/zero-totp.git
cd zero-totp
- Install the required dependencies:
make install_frontend
make install_api
- Define your env variables : Create a .env file at the root project and define these variables :
export DATABASE_URI="mysql://<mysqlUser>:<mysqlPassword>@127.0.0.1:3306/zero_totp"
export ENVIRONMENT="DEV"
export JWT_SECRET=
export MYSQL_ROOT_PASSWORD=
export MYSQL_DATABASE=zero_totp
export MYSQL_USER=
export MYSQL_PASSWORD=
- Run the API, frontend and database :
make run_pai
make run_frontend
docker compose up database
If you want to work on a new feature, bug fix, or other enhancements, please check the Issue Tracker first. It's possible that someone else is already working on something similar or that the issue has already been addressed.
If you find a new issue or want to suggest an enhancement, please open a new issue on the Issue Tracker. Provide a clear description and, if applicable, steps to reproduce the problem.
For every contribution, create a new branch with a descriptive name that summarizes the changes you plan to make. Use lowercase letters and dashes to separate words, for example:
git checkout -b feature/add-qr-code-generation
We follow a consistent coding style to ensure readability and maintainability. Please follow these guidelines:
- Use meaningful variable and function names.
- Write clear comments and documentation as needed.
- Maintain a consistent indentation style (e.g., 2 spaces).
Your contributions should include appropriate test cases. Ensure that all tests pass before submitting a pull request.
When you're ready to submit your changes, follow these steps:
- Commit your changes with a descriptive commit message.
- Push your changes to your forked repository:
git push origin your-branch-name
- Go to the Zero-TOTP repository on GitHub and create a new pull request from your branch.
- Provide a clear title and description for your pull request, including any relevant information about the changes you made.
Security is our top priority. If you discover any security vulnerabilities or potential issues, please DO NOT open a public issue. Instead, contact us directly at security@zero-totp.com with all the details. We appreciate your responsible disclosure.
We value a friendly and inclusive community. Be respectful and considerate when communicating with other contributors. If you have questions or need help, you can reach out to us on our Discord channel.
We appreciate all contributions to Zero-TOTP, and we recognize and acknowledge everyone's effort and time. Contributors will be listed in the project's contributors section.
By contributing to Zero-TOTP, you agree that your contributions will be licensed under the GPL-3.0 license.