Skip to content

djchie/uci-course-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UCI Courses API

Welcome! I originally built this as an internal tool to build a UCI app that relies on course times and location. While building this out, I thought why not just go ahead and build an API for all of you ambitious UCI developers so that you guys can create amazing apps as well!

Table of Contents

  1. Usage
    1. Routes
    2. Things to Note
  2. Requirements
  3. Development
    1. Installing Dependencies
    2. Running API Locally
    3. Roadmap
  4. Contributing

Usage

The API server is deployed on Heroku at uci-course-api.heroku.com

Routes

  • GET /courses/title/:title
    • Returns all courses and relevant sessions by course title
  • GET /courses/department/:department
    • Returns all courses and relevant sessions by department
  • GET /courses/number/:number
    • Returns all courses and relevant sessions by course number
  • GET /courses/department/:department/title/:title
    • Returns all courses and relevant sessions by department and course title
  • GET /courses/department/:department/number/:number
    • Returns all courses and relevant sessions by department and course number
  • For specialized requests on endpoints, please send me a pm

Things to Note

  • When talking about the department endpoint, the API is referring to the abbreviated format (department code).
    • Eg. for all Computer Science courses, the parameter for :department would be COMPSCI.
  • For a list of all department codes, please refer to the UCI Webreg. There is a dropdown in the form that has reveals the list. You can easily go into the source code of the html page and copy the entire list!

Requirements

  • Node
  • PostgreSQL

Development

Installing Dependencies

From within the root directory:

sudo npm install -g bower
npm install

Running API Locally

Start up PostgreSQL server with correct relations setup, and from within the root directory:

npm run start

Then send your requests to localhost:8080

Roadmap

View the project roadmap here

Contributing

See CONTRIBUTING.md for contribution guidelines.

About

An API for accessing UCI course information

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published