Tuition Platform

Platform to connect students and tutors. An open-source project developed for the purpose of learning. It is built on top of Django, Djangorestframework and Vue.js.

Refer to the github repository for reference.

Let's setup the project now

Dependencies

Above links are provided for installing the dependencies, if they don't work for you, you can google and find a solution for you. Make sure to put the problem and solution below in the comments or create a pull requests.

How to run

Create and activate a virtual environment.

virtualenv -p python3 venv 
source venv/bin/activate

Install requirements.txt

pip install -r requirements.txt

Create a file .env where manage.py is located similar to .env-sample and set your environment variables (mandatory).

Create required Directories

mkdir -p static/{css,js,img} static_cdn/{static_root,media_root} templates/{snippets,layouts} apps logs locale

Run Migrations & Migrate and Create a superuser

python manage.py makemigrations 
python manage.py migrate 

# Create superuser 
python manage.py createsuperuser

Run management command to fill the zip code database using zipcode csv.

python manage.py fill_zipcode apps/users/states_pincode/indian_states_zipcode.xls

This will take a long, better to open a new terminal and proceed.

Run Django server

python manage.py runserver 0:8005

Setup Frontend (Vue.js)

# Open a new terminal first 
cd frontend/searchyourguru 

# Create a .env file here
touch .env 

# Set the API endpoint where you will run your Django server 
# Make sure this is correct, otherwise your API won't work 

VUE_APP_API_ENDPOINT=http://localhost:8005

Install npm packages using the command

npm install

Run vuejs server

npm run serve # It will run the server on default port 8080

That's all.

If you find this useful, do join this python newsletter for more.