This web application aims to facilitate the Alumni Affairs of IIITDM Jabalpur. Please read the contributing guidelines before starting.
- Python: 3.9 and above
- Django: 2.2.28
- And additional requirements are in requirements.txt. These will automatically be installed with the below steps.
-
For Windows
- Open Command Prompt (cmd) as an administrator.
$ git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%\.pyenv $ setx PYENV "%USERPROFILE%\.pyenv" $ setx PATH "%PYENV%\bin;%PYENV%\shims;%PATH%"
-
For Linux
- Open Terminal
$ sudo apt update $ sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git
- Run
$ curl https://pyenv.run | bash
- Clone the repository
$ git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%\.pyenv
- Add pyenv to your shell configuraion
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init --path)"' >> ~/.bashrc $ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
- Fork the repository.
- Clone the repository to your local machine
$ git clone https://github.com/<your-github-username>/alumni.git
- Change directory to alumni
$ cd alumni
- Add a reference to the original repository
$ git remote add upstream https://github.com/BitByte-TPC/alumni.git
- Install the required version of Python for the project
$ pyenv install 3.9
- Set the local Python version for the project
$ pyenv local 3.9
- Install virtualenv
$ pip3 install virtualenv
- Create a virtual environment
$ virtualenv env -p python3
- Activate the env:
$ source env/bin/activate
(for linux)> ./env/Scripts/activate
(for Windows PowerShell) - Install the requirements:
$ pip install -r requirements.txt
Note: If some requirement causes some error, remove the version from that requirement (ex. convertanyjson==0.3.3
toanyjson
) and run the above command again. - Make migrations
$ python manage.py makemigrations
- Migrate the changes to the database
$ python manage.py migrate
- Run the server
$ python manage.py runserver
- Create admin
$ python manage.py createsuperuser
- Create tables
$ python manage.py migrate --run-syncdb
- Create a new branch with a related name of the motive. Branch name should follow these conventions.
feature/*
if you're implementing a new feature or adding some new functionality.refactor/*
if you're refactoring code or upgrading anything.bug/*
if you've fixed a bug that's not deployed onto Production yet.hotfix/*
if you've fixed a bug that is deployed and/or causing problems in Production.- Note: DON'T push to
master
orrelease
branch.
- Use an IDE linter, like SonarLint, to fix common bugs/code quality issues.
- Update your task's status in the provided spreadsheet.
- Send a pull request anytime :)