Giter VIP home page Giter VIP logo

ieeeprofmatch's Introduction

Professor Matching Project Build Status

The Backend Repository of IEEE Envision(NITK) project Professor Matching

Installation Instructions

  1. Clone the repository into the desired location

  2. Create a virtual environment to run the application using :

virtualenv -p python3 ProfMatchEnv
source ProfMatchEnv/bin/activate
  1. Change directory into the location containing the requirement.txt and manage.py

  2. Run the following commands(while the virtualenv is running) to install the project dependencies :

pip install -r requirements.txt
  1. Make the database migrations :
python manage.py migrate
  1. Test the application on localhost by running the server
python manage.py runserver

This starts up the server on localhost:8000/

Usage Instructions

  • This repository is the backend system of Professor Matching project under IEEE Envision programme.
  • To get the system up and running on your local machine, carry out the installation instructions listed above and configure the database.
  • You can use the default inbuilt SQLite database for testing. For using MySQL database, carry out the above database configurations
  • At the end of the process, the backend server will be running on localhost:8000/
  • To test the services and apis, check out the wiki section for technical implementation details about the database schemas and API endpoints.
  • We recommend using API testing tools like "postman" for testing the endpoints.

More about Postman

Database configurations

By default this application when cloned will use the embedded sqlite3 database. But other databases can be configured as well.

The followwing segment guides how to use Mysql database instead of sqlite3. Mysql is the intended production database server.

Configuring MySQL with the project(Linux)

  1. Install mysql and setup
sudo apt-get update
sudo apt-get install python-pip python-dev mysql-server libmysqlclient-dev
sudo mysql_secure_installation
  1. Install the django mysql depedencies(First activate the virtual environment)
pip install mysqlclient
  1. Change the configuration in the {installation_dir}/ProfMatch/settings.py
Go to the DATABASES section of the file and commet out the sqlite3 settings and uncomment the mysql settings
Give appropriate values to the USER and PASSWORD fields, supply the ones you used to setup the mysql installation
Leave the NAME field as it is. This field is the name of the Database to use.
  1. Create the database of the same name as in the NAME field above. Assuming you left the field as it is with the name 'ProfMatch' type the following in the terminal :
sudo service mysql start
mysql -h 127.0.0.1 -u <username> -p

<username> is the username you provided during the mysql setup. If left as default it will be 'root'. The above command will prompt for a password as well. Provide the password used during the mysql setup

  • To create the database (named ProfMatch):
CREATE DATABASE ProfMatch;
SHOW DATABASES;

Using SHOW DATABASES Command your created database will appear in the list of databases

  1. To use this database, again migrate
python manage.py migrate 
  1. Run the server
python manage.py runserver

Technical details

  • For more information like Database schemas, the modules present, the services implemented and the API endpoints, please refer the wiki section.

ieeeprofmatch's People

Contributors

njnisarg avatar

Watchers

James Cloos avatar Moksh Jain avatar Salman Shah avatar Vaibhav avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.