Photo by National Cancer Institute on Unsplash
Tuition Platform - Opensource project built using Django, Djangorestframework and Vue.js
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
Memcached,
sudo apt-get install memcached
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.