Skip to content

vugarmammadli/ta-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TA Application API

A simple part of a TA application system using the RESTful API approach using Python Django Web Framework and Django REST Framework which is a powerful and flexible toolkit for building Web APIs.

The online version of the project can be found here. Feel free to play around :)

REST Specifications

Applicants

  • GET /applicants/ Get all applicants. The JSON will return the following information about each applicants: Student number, Given name, Family name, Status, Year, and Courses which is a list of courses that applicant is applied for.
  • GET /applicants?status=status Filter all applicants with a given status (eg. Undergrad, MSc, PhD, MScAC, MEng). The JSON will return the same information as above.
  • GET /applicants?fname=fname Filter all applicants with a given Family Name. The JSON will return the same information as above.
  • POST /applicants/ Add a new applicant. Required fields are student_number, given_name, family_name, status, year.
  • GET /applicant/student_number/ Get the information about an individual applicant with a particular student number.
  • DELETE /applicant/student_number/ Remove an applicant and all the applications related to this applicant.

Courses

  • GET /courses/ Get all available courses. The JSON will return the following information about each courses: code, name, and description.
  • GET /courses?course=code Filter a course with a particular code.
  • POST /courses/ Add a new course. Required fields are code, name and description.

Applications

  • GET /applications Get all applications which applicants are applied for courses with a ranking and an experience level. The JSON will return the following information about each applications: applicant (the student number of applicant), course (the code of the course), rank, and experience.
  • POST /applications/ Applicant applies TAship for a course. Required fields are applicant, course, rank and experience.

How to run

The live version of the project is available here. Feel free to play around. But if you would like to test it in your local machine, please follow these steps:

  • First of all, please make sure that you have installed Python in your machine.
  • Install virtualenv globally as well
     	pip install virtualenv
  • Clone this repository to your local machine
     	git clone https://github.com/vugarmammadli/ta-application.git
  • Change your directory to this repository
     	cd ta-application
  • Create your virtual environment
     	virtualenv venv -p python3
     	source venv/bin/activate
  • Install all the requirements for this project
     	pip install -r requirements.txt
  • Make all migrations
     	python manage.py makemigrations
     	python manage.py migrate
  • Run it
     	python manage.py runserver
  • Finally, enjoy :)
     	http://127.0.0.1:8000/applicants/

Extra details

Please refer to examples.txt file for example requests and responses.

Here is the list of sources I used while developing this project:

About

A simple part of a TA application system using the RESTful API approach using Python Django Web Framework.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages