Tuition Platform
Platform to connect student and tutors. An opensource project developed for the purpose of learning. It is built on top of Django, Djangorestframework and Vue.js. There might me few things missing from the project, you can make them according to your needs. Just fork and create a pull request if you found a bug fixed something, so that others can benefit from this.
Github: https://github.com/nitinraturi/searchyourguru
Let's setup the project now
Dependencies
- Python - Checkout
- Memcached
sudo apt-get install memcached
* Above link are provided for installing the dependencies, if they dont work for you, you can google and find a solution for you. Make sure to put the problem and solution below in the comments.
Usage
Step 1 - Create and activate your virtual environment
virtualenv -p python3 venv
source venv/bin/activate
Step 2 - Install requirements.txt
pip install -r requirements.txt
Step 3 - Set your environment variables
Create a file .env where manage.py is located similar to .env-sample and set your environment variables (mandatory).
Step 4 - Create required Directories
mkdir -p static/{css,js,img} static_cdn/{static_root,media_root} templates/{snippets,layouts} apps logs locale
Step 5 - Run Migrations & Migrate and Create superuser
python manage.py makemigrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
Step 6 - Run management command to fill zipcode database
python manage.py fill_zipcode apps/users/states_pincode/indian_states_zipcode.xls
* This will take long, better to open a new terminal and proceed.
Step 7 - Run Django server
python manage.py runserver 0:8005
Step 8 - Setup Frontend (Vue.js)
# Open a new terminal first
cd frontend/searchyourguru
# Create .env file here to
touch .env
# Set the api endpoint where you will run your django server
# Make sure this is correct, otherwise your api wont work
VUE_APP_API_ENDPOINT=http://localhost:8005
Step 9 - Install npm packages
npm install
Step 10 - Run vue server
npm run serve
# It will run server on default port 8080
That's all