-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added CHANGELOG file to provide all new changes to the project ----- Updated CONTRIBUTORS.md & LICENCE file Ensured clear documentation for whole project including Makefile and reStructureText format Closes #52
- Loading branch information
1 parent
2da7886
commit f8c2223
Showing
5 changed files
with
323 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Changelog | ||
|
||
All notable changes to this project will be documented in this file. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
## Code of Conduct for Contributing to django_logging | ||
|
||
we’re thrilled that you want to contribute to `django_logging`! to ensure a positive and protective environment for everyone involved, please adhere to the following guidelines. | ||
|
||
## Contribution Workflow | ||
|
||
1. **Fork and Clone**: Start by forking the `django_logging` repository on Github and cloning it to your local machine: | ||
```bash | ||
git clone https://github.com/ARYAN-NIKNEZHAD/django_logging.git | ||
cd django_logging | ||
``` | ||
|
||
2. **Create a Branch**: Create a new branch for your feature or bugfix: | ||
```bash | ||
git checkout -b feature/your-feature-name | ||
``` | ||
|
||
3. **Install Dependencies**: Use Poetry to install the project’s dependencies. if poetry isn’t installed, refer to the [Poetry installation guide](https://python-poetry.org/docs/#installation) | ||
```bash | ||
poetry install | ||
``` | ||
|
||
4. **Write Code and Tests**: Make your changes and write tests for your new code. Ensure that all tests pass: | ||
```bash | ||
poetry run pytest | ||
``` | ||
5. **Run Code Quality Checks**: Ensure code quality with Pylint: | ||
```bash | ||
poetry run pylint django_logging | ||
``` | ||
|
||
6. **Commit Your Changes**: Use Commitizen to commit your changes according to the Conventional Commits specification: | ||
```bash | ||
cz commit | ||
``` | ||
|
||
7. **Push and Create a PR**: Push your changes to your fork on GitHub and open a pull request: | ||
```bash | ||
git push origin feature/your-feature-name | ||
``` | ||
|
||
8. **Bump Version**: Use Commitizen to update the version. | ||
```bash | ||
cz bump | ||
``` | ||
|
||
9. **Generate Changelog**: Create a changelog with Commitizen: | ||
```bash | ||
cz changelog | ||
``` | ||
|
||
10. **Export Dependencies**: Export the project dependencies for development and production: | ||
```bash | ||
poetry export -f requirements.txt --output packages/requirements.txt --without-hashes | ||
poetry export -f requirements.txt --dev --output packages/requirements-dev.txt --without-hashes | ||
``` | ||
|
||
## Commitizen Message Rule | ||
|
||
Commitizen follows the Conventional Commits specification. Your commit message should be structured as follows: | ||
|
||
``` | ||
<type>[optional scope]: <description> | ||
[optional body] | ||
[optional footer(s)] | ||
``` | ||
|
||
## Example of Commit Messages | ||
|
||
### 1. Initialization of Core | ||
``` | ||
feat(core): initialize the core module | ||
- Set up the core structure | ||
- Added initial configurations and settings | ||
- Created basic utility functions | ||
``` | ||
|
||
### 2. Release with Build and Tag Version | ||
``` | ||
chore(release): build and tag version 1.0.0 | ||
- Built the project for production | ||
- Created a new tag for version 1.0.0 | ||
- Updated changelog with release notes | ||
``` | ||
|
||
### 3. Adding a New Feature | ||
``` | ||
feat(auth): add user authentication | ||
- Implemented user login and registration | ||
- Added JWT token generation and validation | ||
- Created middleware for protected routes | ||
``` | ||
|
||
### 4. Fixing a Bug | ||
``` | ||
fix(api): resolve issue with data fetching | ||
- Fixed bug causing incorrect data responses | ||
- Improved error handling in API calls | ||
- Added tests for the fixed bug | ||
``` | ||
|
||
### 5. Update Documentation (Sphinx) | ||
``` | ||
docs(sphinx): update API documentation | ||
- Updated the Sphinx documentation for API changes | ||
- Added examples for new endpoints | ||
- Fixed typos and formatting issues | ||
``` | ||
|
||
### 6. Update Dependencies | ||
``` | ||
chore(deps): update project dependencies | ||
- Updated all outdated npm packages | ||
- Resolved compatibility issues with new package versions | ||
- Ran tests to ensure no breaking changes | ||
``` | ||
|
||
### 7. Update Version for Build and Publish | ||
``` | ||
chore(version): update version to 2.1.0 for build and publish | ||
- Incremented version number to 2.1.0 | ||
- Updated package.json with the new version | ||
- Prepared for publishing the new build | ||
``` | ||
|
||
### 8. Adding Unit Tests | ||
``` | ||
test(auth): add unit tests for authentication module | ||
- Created tests for login functionality | ||
- Added tests for registration validation | ||
- Ensured 100% coverage for auth module | ||
``` | ||
|
||
### 9. Refactoring Codebase | ||
``` | ||
refactor(core): improve code structure and readability | ||
- Refactored core module to enhance readability | ||
- Extracted utility functions into separate files | ||
- Updated documentation to reflect code changes | ||
``` | ||
|
||
### 10. Improving Performance | ||
``` | ||
perf(parser): enhance parsing speed | ||
- Optimized parsing algorithm for better performance | ||
- Reduced the time complexity of the parsing function | ||
- Added benchmarks to track performance improvements | ||
``` | ||
|
||
Thank you for contributing to `django_logging`! We look forward to your contributions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
# Contributing to django_logging | ||
|
||
|
||
We’re excited that you’re interested in contributing to `django_logging`! Whether you’re fixing a bug, adding a feature, or improving the project, your help is appreciated. | ||
|
||
## Overview | ||
|
||
|
||
- **Setting Up Your Environment** | ||
- **Testing Your Changes** | ||
- **Code Style Guidelines** | ||
- **Utilizing Pre-commit Hooks** | ||
- **Creating a Pull Request** | ||
- **Reporting Issues** | ||
- **Resources** | ||
|
||
## Setting Up Your Environment | ||
|
||
|
||
1. **Fork the Repository:** | ||
|
||
Begin by forking the `django_logging` repository on GitHub. This creates your own copy where you can make changes. | ||
|
||
2. **Clone Your Fork:** | ||
|
||
Use the following command to clone your fork locally: | ||
|
||
```bash | ||
git clone https://github.com/your-username/django_logging.git | ||
cd django_logging | ||
``` | ||
|
||
3. **Install Dependencies:** | ||
|
||
Install the necessary dependencies using `Poetry`. If Poetry isn't installed on your machine, you can find installation instructions on the [Poetry website](https://python-poetry.org/docs/#installation). | ||
|
||
```bash | ||
poetry install | ||
``` | ||
|
||
4. **Create a Feature Branch:** | ||
|
||
It’s a good practice to create a new branch for your work: | ||
|
||
```bash | ||
git checkout -b feature/your-feature-name | ||
``` | ||
|
||
## Testing Your Changes | ||
|
||
We use `pytest` for running tests. Before submitting your changes, ensure that all tests pass: | ||
|
||
```bash | ||
poetry run pytest | ||
``` | ||
|
||
If you’re adding a new feature or fixing a bug, don’t forget to write tests to cover your changes. | ||
|
||
|
||
## Code Style Guidelines | ||
|
||
Maintaining a consistent code style is crucial. We use `black` for code formatting and `isort` for import sorting. Make sure your code adheres to these styles: | ||
|
||
```bash | ||
poetry run black . | ||
poetry run isort . | ||
``` | ||
For linting, `pylint` is used to enforce style and catch potential errors: | ||
|
||
```bash | ||
poetry run pylint django_logging | ||
``` | ||
|
||
## Utilizing Pre-commit Hooks | ||
|
||
Pre-commit hooks are used to automatically check and format code before you make a commit. This ensures consistency and quality in the codebase. | ||
|
||
1. **Install Pre-commit:** | ||
|
||
```bash | ||
poetry add --dev pre-commit | ||
``` | ||
|
||
2. **Set Up the Hooks:** | ||
|
||
Install the pre-commit hooks by running: | ||
|
||
```bash | ||
poetry run pre-commit install | ||
``` | ||
3. **Manual Hook Execution (Optional):** | ||
|
||
To run all hooks manually on your codebase: | ||
|
||
```bash | ||
poetry run pre-commit run --all-files | ||
``` | ||
|
||
## Creating a Pull Request | ||
|
||
Once your changes are ready, follow these steps to submit them: | ||
|
||
1. **Commit Your Changes:** | ||
|
||
Write clear and concise commit messages. Following the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format is recommended: | ||
|
||
```bash | ||
git commit -am 'feat: add custom logging formatter' | ||
``` | ||
2. **Push Your Branch:** | ||
|
||
Push your branch to your fork on GitHub: | ||
|
||
```bash | ||
git push origin feature/your-feature-name | ||
``` | ||
|
||
3. **Open a Pull Request:** | ||
|
||
Go to the original `django_logging` repository and open a pull request. Include a detailed description of your changes and link any related issues. | ||
|
||
4. **Respond to Feedback:** | ||
|
||
After submitting, a maintainer will review your pull request. Be prepared to make revisions based on their feedback. | ||
|
||
## Reporting Issues | ||
|
||
Found a bug or have a feature request? We’d love to hear from you! | ||
|
||
1. **Open an Issue:** | ||
|
||
Head over to the `Issues` section of the `django_logging` repository and click "New Issue". | ||
|
||
2. **Describe the Problem:** | ||
|
||
Fill out the issue template with as much detail as possible. This helps us understand and address the issue more effectively. | ||
|
||
## Resources | ||
|
||
Here are some additional resources that might be helpful: | ||
|
||
- [Poetry Documentation](https://python-poetry.org/docs/) | ||
- [Black Documentation](https://black.readthedocs.io/en/stable/) | ||
- [isort Documentation](https://pycqa.github.io/isort/) | ||
- [pytest Documentation](https://docs.pytest.org/en/stable/) | ||
- [pylint Documentation](https://pylint.pycqa.org/en/latest/) | ||
- [Pre-commit Documentation](https://pre-commit.com/) | ||
|
||
--- | ||
|
||
Thank you for your interest in contributing to `django_logging`! We look forward to your contributions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,13 +4,13 @@ We would like to thank the following people for their contributions to the `djan | |
|
||
## Core Contributors | ||
|
||
| Name | Role | GitHub | Email | Contributions | Image | | ||
|----------------------|------------------|------------------------------------------------------------------------|----------------------|--------------------------------|--------------------------------------| | ||
| **Aryan Niknezhad** | Project Creator & Lead Maintainer | [ARYAN-NIKNEZHAD](https://github.com/ARYAN-NIKNEZHAD) | [email protected] | Project creator and lead maintainer. | ![Aryan Niknezhad](https://avatars.githubusercontent.com/u/127540182?v=4) | | ||
| **Mehrshad Mirshekary** | Maintainer | [MEHRSHAD-MIRSHEKARY](https://github.com/MEHRSHAD-MIRSHEKARY) | Not Provided | Maintainer | ![Mehrshad Mirshekary](https://avatars.githubusercontent.com/u/121759619?v=4) | | ||
| Name | Role | GitHub | Email | Contributions | Image | | ||
|----------------------|------------------|------------------------------------------------------------------------|-------------------------------|--------------------------------|--------------------------------------| | ||
| **Aryan Niknezhad** | Project Creator & Lead Maintainer | [ARYAN-NIKNEZHAD](https://github.com/ARYAN-NIKNEZHAD) | [email protected] | Project creator and lead maintainer. | ![Aryan Niknezhad](https://avatars.githubusercontent.com/u/127540182?v=4) | | ||
| **Mehrshad Mirshekary** | Maintainer | [MEHRSHAD-MIRSHEKARY](https://github.com/MEHRSHAD-MIRSHEKARY) | [email protected] | Maintainer | ![Mehrshad Mirshekary](https://avatars.githubusercontent.com/u/121759619?v=4) | | ||
|
||
--- | ||
|
||
To be added to this list, please contribute to the project by submitting a pull request, opening issues, or helping improve the documentation. We appreciate all contributions, big and small! | ||
|
||
If you have contributed and are not listed here, please feel free to add your name and details in a pull request. | ||
If you have contributed and are not listed here, please feel free to add your name and details in a pull request. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters