Skip to content

Latest commit

 

History

History
97 lines (65 loc) · 4.67 KB

CONTRIBUTING.md

File metadata and controls

97 lines (65 loc) · 4.67 KB

Contributing to Smart Learning API

Thank you for your interest in contributing to the Smart Learning API repository. We appreciate your support in making this project better. Before you get started, please take a moment to review the guidelines below to ensure a smooth and effective contribution process.

Introduction

The Smart Learning API is a powerful tool built with Django Rest Framework (DRF) that enables users and instructors to manage courses, modules, lessons, and quizzes. This document provides instructions and guidelines for contributing to the project.

Getting Started

To set up the development environment and run the API locally, please follow the steps outlined in the README.md file. It contains detailed instructions on cloning the repository, creating a virtual environment, installing dependencies, and starting the development server.

Contributing Process

To contribute to the Smart Learning API repository, please follow these steps:

  1. Fork the repository on GitHub:

    • Click the "Fork" button in the top-right corner of the repository page.
  2. Clone your forked repository to your local machine:

    • Use the following command to clone the repository:
      git clone <your_forked_repository_url>
      
  3. Create a new branch for your feature or bug fix:

    • Use a descriptive name for your branch. For example:
      git checkout -b feature/your-feature
      
      or
      git checkout -b bugfix/your-bugfix
      
  4. Make the necessary changes and stage them for commit:

    • Use the following command to stage your changes:
      git add .
      
  5. Commit the changes with a clear and concise commit message:

    • Use the following command to commit your changes:
      git commit -m 'Add some feature'
      
  6. Push the changes to your forked repository:

    • Use the following command to push your changes:
      git push origin feature/your-feature
      
  7. Navigate to the original repository on GitHub and create a pull request:

    • Click the "Compare & pull request" button next to your pushed branch.
  8. Provide a clear and descriptive title and description for your pull request, explaining the purpose and changes made.

  9. Be responsive to any feedback or changes requested during the review process:

    • Iterate on your changes if necessary and update the pull request accordingly.

Coding Guidelines

When contributing to the Smart Learning API, please adhere to the following coding guidelines:

  • Use consistent indentation with 4 spaces and follow the PEP 8 style guide for Python code.
  • Write clear and meaningful variable and function names that accurately describe their purpose.
  • Include comments where necessary to improve code readability and provide explanations for complex logic.
  • Follow best practices and apply common software engineering principles to ensure high-quality code.

Testing

Writing tests is highly encouraged for any new features or bug fixes to ensure the stability and reliability of the API. Please follow the guidelines below:

  • Write clear and comprehensive tests that cover the functionality being implemented or fixed.
  • Run the tests locally to ensure they pass successfully before submitting your pull request.
  • Aim for a test coverage of at least 80% to ensure adequate test protection.

Documentation

Maintaining clear and comprehensive documentation is essential for the Smart Learning API. Please consider the following:

  • Update the README.md file to reflect any changes or additions made to the project. Provide clear and concise explanations of the API endpoints, their purpose, and how to use them.
  • Include docstrings in your code to provide inline documentation and improve code comprehension. Follow the standard conventions for docstring formatting.

Issue and Discussion

If you encounter a bug, have a question, or want to suggest an improvement, please create a new issue in the repository. We value your feedback and participation in discussions related to the Smart Learning API.

When creating an issue, be sure to provide a clear and detailed description of the problem or suggestion. If applicable, include steps to reproduce the issue and any relevant error messages or logs.

License

By contributing to the Smart Learning API repository, you agree that your contributions will be licensed under the MIT License. This ensures that your contributions can be freely used, modified, and distributed by others.

If you have any further questions or need additional assistance, please don't hesitate to reach out. We appreciate your contribution and look forward to your involvement in making the Smart Learning API even better!