FusionIIIT is the automation of various functionalities, modules and tasks of/for PDPM Indian Institute of Information Technology, Design and Manufacturing, Jabalpur being developed in python3.8 and using Django Webframework.
- Ubuntu 20.04(Recommended)
- OR WSL for Windows 10(Follow the guide below) :
 Windows Subsystem for Linux Installation Guide for Windows 10
- OR Windows 7/8/8.1/10
- Python 3.8
- Git
- 
on Ubuntu: // Install the required packages using the following command: sudo apt install python3-pip python3-dev libpq-dev python-virtualenv build-essential git sudo -H pip3 install --upgrade pip sudo -H pip3 install virtualenv 
- 
on Windows: - Get Python 3.8 from here for AMD64/x64 or here for x86
- Git from here
- Install both using the downloaded exefiles
 Important: Make sure to check the box that says Add Python 3.x to PATH to ensure that the interpreter will be placed in your execution path 
- Go to (https://github.com/FusionIIIT/Fusion) and click on Fork
- You will be redirected to your fork, https://github.com/<your_user_name>/Fusion
- Open the terminal, change to the directory where you want to clone the Fusion repository
- Clone your repository using git clone https://github.com/<your_user_name>/Fusion
- Enter the cloned directory using cd Fusion/
- Create a virtual environment
- on Ubuntu: virtualenv env -p python3
- on Windows Powershell: virtualenv env
 
- on Ubuntu: 
- Activate the env
- on Ubuntu: source env/bin/activate
- on Windows Powershell: . .\env\scripts\activate
 
- on Ubuntu: 
- Install the requirements: pip install -r requirements.txt
- Change directory to FusionIIIT cd FusionIIIT
- Run the server python manage.py runserver
- git remote add upstream https://github.com/FusionIIIT/Fusion- Adds the remote repository (the repository you forked from) so that changes can be pulled from/pushed to it
 
- git checkout -b <module-name>- Creates a new branch <module-name>in your repository
 
- Creates a new branch 
- git checkout <module-name>- Switches to the branch you just created
 
- Make migrations $ python manage.py makemigrations
- Migrate the changes to the database $ python manage.py migrate
- git add .- Adds the changes to the staging area
 
- git commit- Commits the staged changes
 
- git pull upstream master- Pulls the changes from the upstream master branch
 
- git push -u origin <module-name>- Pushes the changes to your repository (First time only); using git pushis sufficient later on
 
- Pushes the changes to your repository (First time only); using 
- Go to https://github.com/<your_user_name>/Fusion/tree/<module-name>and create pull request
- (Recommended) Use Visual Studio Code as a text editor. Go through the Tutorial for getting started with Visual Studio Code for Python.
 Note : Use the following guide if using WSL for Development
 (https://code.visualstudio.com/docs/remote/wsl)
- Use the inbuilt Source Control feature for checking out, committing, pushing, pulling changes. You can also use Github Desktop (Windows/Mac only).
- Refer to below link for best practices regarding commit messages :
 (https://gist.github.com/robertpainsi/b632364184e70900af4ab688decf6f53)
- Academic database management
- Academic workflows
- Finance and Accounting
- Placement Cell
- Mess management
- Gymkhana Activities
- Scholarship and Awards Portal
- Employee Management
- Course Management
- Complaint System
- File Tracking System
- Health Centre Mangement
- Visitor's Hostel Management
- Leave Module