- How to Contribute
- Contributing to Zango backend
- Contributing to Zango frontend
- Contributing to documentation
- Community
If you find a bug or have a feature request, please create an issue in our issue tracker. When reporting an issue, please include as much detail as possible, including steps to reproduce the problem, your environment, and any relevant log output.
This section describes the general practices for contributing to zango, you can check the next sections which describe how to contribute to frontend, backend and documentation
- Fork the Repository: Fork the Zango repository to your GitHub account.
- Clone the Repository: Clone your forked repository to your local machine.
- Set Up Environment: Follow the setup instructions in Setup.md to configure your development environment.
- Create a Branch: Create a new branch for your changes.
git checkout -b feature/your-feature-name
- Implement Changes: Make your changes, ensuring to follow the coding standards and best practices.
- Install pre-commit: In the root directory of this repo run
pre-commit install
.This will ensure that pre-commit automatically runs the configured hooks (such as code formatters, linters, and other checks) on your files before each commit, helping to maintain code quality and consistency. - Commit Changes: Commit your changes with a meaningful commit message.
git add .
git commit -m "Add feature <feature_name>"
- Push to GitHub: Push your changes to your forked repository.
git push origin feature/your-feature-name
- Create a Pull Request: Open a pull request from your branch to the main branch of the original repository. Provide a clear description of your changes and link any related issues.
- Respond to Feedback: Be prepared to make changes based on feedback from code reviewers.
- Update PR: Push any updates to your branch to reflect the feedback received.
- Clone the zango repository
- Create a new virtual environment inside a fresh directory (this virtual env will be used to setup a zango project using local copy of zango similar to django.)
- Activate your virtual env and run the below command to install local copy of zango:
pip install -e path/to/your/zango_repo/backend
- Perform the steps to setup a new project as described in the docs here.
- Start your project and launch a new app.
- Now whatever changes you will do to your local zango it will be reflected in your project.
Running Migrations: You can run all the Zango migrations using the command python manage.py migrate_schemas
, this is for the zango
core migrations only, you can create and run app specific migrations as described here.
Static Files: To add static files that you have added to Zango, you can use the command python manage.py collectstatic
.
- Go to the frontend directory of the repository and install the dependencies
cd frontend
yarn install
- Start the application with mock service worker
yarn mock
- Generating and Using frontend build in Zango To test your frontend app with the Zango framework, follow these steps:
Run the build command:
yarn build
This command generates the build and places it inside the backend/src/zango/assets/app_panel/js
directory of Zango.
The generated build will include the latest timestamp in its filename (build.<timestamp>.min.js
). By default, the most recent build will be served. If you need to use a different build, you can update the filename in the backend/src/zango/apps/shared/tenancy/templates/app_panel.html
file.
- Collecting Static Build for Your Project
Before testing the build, collect the static files for your project. Ensure your project is already created and your environment is activated.
Change directory to your project:
cd <project_name>
Collect the static build:
python manage.py collectstatic
We use docusaurus for maintaining Zango's documentation
- Go to the docs directory of the repository and install the dependencies
cd zango/docs
yarn install
- Start the application
yarn start
If you face any issues or need any help you can use our discord to connect with other contributors.