Welcome to DeliverEase! We are excited to have you contribute to our project. Your contributions can help us improve and enhance the platform, empowering delivery partners and connecting communities even more effectively.
-
Fork the repository into your GitHub account.
-
Clone your fork into your system
-
Create a virtual environment
-
If you are using virtualenv, install all the dependencies on your system by:
pip install -r requirements.txt. -
Or if you are using poetry, install all the dependencies on your system by:
poetry install -
Make migrations into the codebase:
python manage.py makemigrations -
Migrate your changes:
python manage.py migrate -
Run the server locally:
python manage.py runserver -
Now we need to enable the git hooks, so for that, you need to cd to the _hooks directory and run hooks_setup file.
Step 1:
cd _hooksStep 2:
./hooks_setup -
Now you can setup HTML & CSS Linter by following the steps given below:
• Step 1: NodeJS latest version must be installed in your system. If not then install it from here.
• Step 2: npm install --save-dev htmlhintto install HTML linter.
• Step 3: npm install stylelint-config-standard --save-dev to install the CSS linter.
• To run all HTML files in the project directory, run npx htmlhint "**/*.html"(to run only one file; cd into that folder -> replace "**/*.html"(npx htmlhint example.html) with the file name.)
• To run all CSS files in the project directory, run npx stylelint "**/*.css"(to run only one file; cd into that folder -> replace "**/*.css"(npx stylelint example.css) with the file name.)
- After that, You can setup and view front-end testcases and code coverage by the following the steps given below:
• Step 1: npm install --save-dev jest to install jest for the testcases.
• Step 2: npm install jsdom to install jsdom.
• Step 3: npm test to run the testcases and print the code coverage report for the front-end.
- Now that the Project's setup is complete, Thank you for setting up the project locally. Now you can start contributing to the project.
To contribute to DeliverEase, please follow these guidelines:
-
Check if there is a stale issue by asking out the current assignee or the maintainer about the progress of the issue or if there is a unassigned issue.
-
In either case get the issue assigned to yourself by commenting on the issue like I would like to work on this issue please assign me and tag a maintainer, and start working on it after you are assigned the issue.
-
Check out a new branch whose name will be similar to the issue you worked on. For example, if you worked on the readme, you can name it as "docs/readme":
git checkout -b docs/readme -
Make your changes to the codebase or documentation in your branch. Be sure to follow the coding style and conventions used in the project.
-
Test your changes thoroughly to ensure they work as expected.
-
Update or create new tests where applicable, and also update the dependencies if you have used a new software.
-
Ensure that all existing tests pass successfully before submitting your changes.
-
Add your changes to git.
-
Commit your changes.
-
Write clear and concise commit messages for your changes and add GH-(issue number), for example, add GH-9, in the end of the commit message if you are working on issue 9.
-
Add the remote upstream branch to git:
git remote add upstream https://github.com/TeamCodeArena/DeliverEase -
Fetch all the updates in the remote branch while you were working on the issue:
git fetch upstream -
Merge your local branch with the remote branch:
git merge upstream/main. -
Add a remote origin:
git remote add origin <link_to_your_forked_copy> -
Push your changes to the new branch:
git push origin <name_of_ur_current_branch> -
Go to your forked repo on Github, and you will see an option to create a PR. Select the option and create a PR.
-
Provide a detailed description of your changes in the pull request, including the problem you are solving, the approach you took, and any relevant information for reviewers.
-
Attach an issue number in the description while creating the PR so that GitHub can automatically link it to the issue. For. ex: add #9 if you are making PR for issue number 9 and also make sure to tag @SID262000. So that he can be notified about your PR and review it accordingly.
-
Be responsive to feedback and comments on your pull request. If changes are requested, make the necessary adjustments.
-
Once your pull request is approved and meets the project's quality standards, it will be merged into the main repository.
To maintain a consistent codebase, we follow specific code styles and guidelines. Please adhere to the following conventions when contributing:
- Python code should conform to the latest PEP style guide
- HTML and CSS should follow best practices and conventions for web development.
- Write clear and well-documented code.
- Use meaningful variable and function names.
- Include comments where necessary to explain complex logic or processes.
Click on this link to join our Slack community.
If you come across any issues, or bugs, or have suggestions for improvements, please report them using GitHub Issues. When reporting issues, provide as much relevant information as possible, including steps to reproduce the problem, your operating system, browser details, etc.
We expect all contributors to adhere to our Code of Conduct, which promotes a welcoming and inclusive community. Please be respectful and considerate of others' opinions and contributions.
Please check out CODE_OF_CONDUCT.
Thank you for your interest in contributing to DeliverEase. Your contributions are valuable and help us create a better platform for everyone. Happy contributing!