Skip to content

nowyasimi/no8am

Repository files navigation

no8am

Build Status Website

Help students easily create their course schedules each semester.

Features

  • Single-page web interface
  • Fast retrieval of course data using a Redis cache
  • CDN for static assets through Amazon CloudFront
  • Custom links to course schedules using Amazon DynamoDB
  • One-line deployment to AWS
  • API to support external applications
  • Modern interface using React, Redux, and Material Design (coming soon!)

Develop

It's a good idea to create a virtualenv environment first to avoid installing dependencies globally.

git clone ssh:https://[email protected]/nowyasimi/no8am.git && cd no8am
pip install -r requirements.txt
npm install
python run.py

That's it! Open a web browser and go to localhost:3000.

API Reference

If you would like to use no8am data in another application, feel free to use this API!

Course

Endpoint Description
GET /course Get a list of departments
GET /course/:department Get a list of course data for the department
GET /course/:department/:course_number Get a list of sections for the course

Category

Endpoint Description
GET /category/:category Get a list of lookup options for the category
GET /category/:category/:value Get a list of course data for the category

Keep in mind that this API is not yet versioned and is subject to change at any time.

Deploy

No8am is currently deployed on Amazon Web Services. Full deployment guide coming soon.

AWS diagram

Contributing

This project has features that can be developed by students with any level of CS experience. Look for the good first bug label on the issues page to get started.

Please create an issue for discussion before submitting pull requests. Pull requests should target master and leave it in a deployable state.

License

This project is licensed under the terms of the The GNU General Public License v3.0.

no8am no8.am  ·  Nadeem Nasimi nadeem.io  ·  Github @nowyasimi