Skip to content

Latest commit

 

History

History
196 lines (141 loc) · 6.7 KB

CONTRIBUTING.md

File metadata and controls

196 lines (141 loc) · 6.7 KB

Contributing Guidelines

This documentation contains a set of guidelines to help you during the contribution process. We are happy to welcome all the contributions from anyone willing to improve/add new features to this project. Thank you for helping out and remember, no contribution is too small.

Need some help regarding the basics?🤔

You can refer to the following articles on basics of Git and Github and also contact the Project Mentors, in case you are stuck:

Submitting Contributions👩‍💻👨‍💻

This project requires the following tools:

  • Python - The programming language used by Flask.
  • Pipenv or Virtualenv - Tools used for managing virtual environments.

To get started, install Python from here on your local computer if you don't have already.

Below you will find the process and workflow used to review and merge your changes.

Step 0 : Find an issue

  • Take a look at the Existing Issues or create your own Issues!
  • Wait for the Issue to be assigned to you after which you can start working on it.
  • Note : Every change in this project should/must have an associated issue.

issues

Step 1. Fork the repository from here.

fork

Step 2. Clone the forked repository into a fresh folder

$ git clone https://github.com/<your-username>/EazyLoader.git
$ cd EazyLoader

Note : Replace <your-username> with your own username in the above command.

  • Keep a reference to the original project in upstream remote.

    git remote add upstream https://github.com/ashutoshkrris/EazyLoader
  • If you have already forked the project, update your copy before working.

    git remote update
    git checkout main
    git rebase upstream/main

Step 3. Create a Virtual Environment and install Dependencies.

  • We'll be using venv module that comes in-built with Python 3.4 and above. Learn more about Virtual Environments.

    • Create virtual environment using the following command on Windows, Linux or MacOS :

      python -m venv env
      • Activate the virtual environment:

        • On Windows:

          env\Scripts\activate.bat
          
        • On Linux and MacOS:

          source env/bin/activate
      • Deactivate the virtual environment (not needed at this stage):

        deactivate
        
  • Instead of using venv module, you can also use pipenv to manage virtual environment. If you don't have it installed, use the command to install it:

    pip install pipenv
    • To create new virtual environment and activate it using pipenv:

      pipenv shell
    • To deactivate the virtual environment (not needed at this stage):

      exit

Next, we need to install the project dependencies, which are listed in requirements.txt or Pipfile.

  • If you've used venv module in the previous step, use this command :

    pip install -r requirements.txt
  • If you've used pipenv module in the previous step, use this command :

    pipenv install

Step 4: Update environment variables and run the Server.

Create a new file named .env and update the new file with the following data. It should look similar to this:

SECRET_KEY=fdkjshfhjsdfdskfdsfdcbsjdkfdsdf
DEBUG=True
APP_SETTINGS=config.DevelopmentConfig
GOOGLE_CLIENT_API_KEY=None
GITHUB_API_TOKEN=None
IG_USERNAME=None
IG_PASSWORD=None
ADMIN_EMAIL=None
EMAIL_ADDRESS=None
EMAIL_PASSWORD=None

Note :

  • Every time you modify the environment variables,you need to deactivate the virtual environment and activate it again.
  • Get started with YouTube Data API here.
  • Learn how to generate Personal Access Tokens on Github here
  • Learn more about the Environment Variables here.

Now we're ready to start our server which is as simple as:

(venv) $ python main.py

Open http://127.0.0.1:5000 to view it in your browser.

The app will automatically reload if you make changes to the code. You will see the build errors and warnings in the console.

If you get BadCredentialsException, checkout this discussion

Step 5 : Work on the issue assigned

  • Work on the issue(s) assigned to you.

  • Add all the files/folders needed.

  • After you've made changes or made your contribution to the project add changes to the branch you've just created by:

    # To add all new files to your branch
    git add .  
    
    # To add only a few files to Branch_Name
    git add <some files>

Step 6 : Commit

  • To commit give a descriptive message for the convenience of reviewer by:

    # This message get associated with all files you have changed  
    git commit -m "message"  
  • NOTE: A PR should have only one commit. Multiple commits should be squashed.

Step 7 : Work Remotely

  • Now you are ready to your work to the remote repository.

  • When your work is ready and complies with the project conventions, upload your changes to your fork:

    # To push your work to your remote repository
    git push -u origin <branch-name>

Step 8 : Pull Request

  • Go to your repository in browser and click on compare and pull requests. Then add a title and description to your pull request that explains your contribution.
  • Voila! Your Pull Request has been submitted and will be reviewed by the moderators and merged.🥳

< Happy Contributing />
Ashutosh Krishna | © 2021