Contributing

Contribution Guidelines for Next-DRF

Thank you for considering contributing to Next-DRF! This project is proudly developed by Cointavia, and we welcome contributions that help improve and expand the framework. The following guidelines will help you get started and ensure that your contributions are valuable to the entire community.


1. How to Contribute

1.1 Reporting Issues

  • Bug Reports: If you encounter a bug, please open an issue in the GitHub repository. Make sure to include detailed steps to reproduce the issue, expected behavior, and any relevant logs or screenshots.
  • Feature Requests: If you have a feature request, please describe it in detail, including why it would be useful and any potential implementation ideas.

1.2 Submitting Pull Requests

  • Fork the Repository: Start by forking the Next-DRF repository to your own GitHub account.
  • Create a Feature Branch: Use a descriptive branch name that reflects the purpose of the changes. For example:
    git checkout -b add-user-authentication
    
  • Write Clear Commits: Write meaningful commit messages that describe the changes. Each commit should focus on a single task or bug fix.
  • Run Tests: Ensure that all existing tests pass and write new tests to cover your changes.
  • Submit a Pull Request: Open a pull request against the main branch. Include a detailed description of the changes, the issue it addresses, and any relevant context.

1.3 Coding Standards

  • Code Style: Adhere to the coding style and best practices used in the Next-DRF codebase.
    • Python: Follow PEP 8 guidelines.
    • JavaScript/TypeScript: Use ESLint to maintain consistent code style.
  • Documentation: Update or add documentation for any changes, especially new features or changes to public APIs.

2. Setting Up the Development Environment

2.1 Prerequisites

  • Node.js: Version 20 or later
  • Python: Version 3.9 or later
  • npm and pip: Ensure both package managers are installed.

2.2 Cloning the Repository

  • Clone the repository from GitHub to your local machine:
    git clone https://github.com/cointavia/next-drf.git
    cd next-drf
    

2.3 Installing Dependencies

  • Backend: Install Python dependencies using:
    pip install -r requirements.txt
    
  • Frontend: Install Node.js dependencies using:
    npm install
    

2.4 Running the Development Server

  • Run both the frontend and backend servers to set up the local development environment:
    npm run dev
    

3. Guidelines for Pull Requests

3.1 General Rules

  • Stay Focused: Each pull request should address a single feature or bug. This makes it easier for reviewers to understand the changes.
  • Keep It Simple: Avoid making unrelated changes in the same pull request.
  • Testing: Make sure that your code is well-tested. Tests are essential to maintain the reliability of the framework.

3.2 Writing Tests

  • Unit Tests: Write unit tests for new features or bug fixes.
  • Testing Tools: Use pytest for Python tests and Jest for frontend tests.
  • Run Tests Locally: Run all tests locally before submitting your pull request to ensure that they pass.
    npm run test
    pytest
    

4. Code of Conduct

4.1 Our Pledge

  • We are committed to providing a friendly, safe, and welcoming environment for all contributors.

4.2 Expected Behavior

  • Respect: Be respectful of differing viewpoints and experiences.
  • Constructive Feedback: Offer constructive feedback and be open to suggestions.

4.3 Reporting Issues

  • If you experience or witness behavior that violates the code of conduct, please contact the maintainers.

5. Community and Support

  • Discussions: Join the community discussions on our GitHub Discussions page to share your ideas and collaborate with other contributors.
  • Questions: If you have questions, feel free to open a GitHub Issue or check the FAQ section in the repository.

Summary

We appreciate your interest in contributing to Next-DRF! By following these guidelines, you can help us maintain a high-quality, collaborative project that benefits everyone. Thank you for being part of the Cointavia community, and we look forward to your contributions!

Previous
Fixing Common Errors