Skip to content

High-Performance API for ASU Course Catalog written in Go.

License

Notifications You must be signed in to change notification settings

spabolu/asu-course-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASU Course Explorer 🔱

High-Performance API for ASU Course Catalog written in Go.

About The Project

Arizona State University doesn't have an openly available API to access their course catalog. As it stands, students must navigate through the university's website to find this information, which is often buried in several layers of webpages. ASU Course Explorer aims to solve the missing piece to the problem.

Built this as a fun side project and a heavily-modified production version written in TypeScript is what's running the backend for Courseer! Feel free to implement this project into your personal open-source projects!

Built With

  • Go - Programming Language
  • Rod - Driver for DevTools Protocol
  • Gin - Web Framework
  • Redis - In-Memory Data Structure Store (for caching)

Get Started

Clone the repository and make sure Go is installed before running the following commands.

cd asu-course-explorer/

# Install dependencies
go mod download

# Run the server
go run .

API Endpoints (so far)

Classes

/api/classes - Fetches a list of all classes.

/api/classes/{classId}: Fetches information about a specific class.

/api/classes/course/{classId}: Fetches all classes associated with a specific course.

Roadmap

See the open issues

  • Add specific class endpoint
  • Add semesters endpoint
  • Add professors endpoint
  • Add course descriptions endpoint
  • Add Redis caching
  • Add Docker support

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  • Fork the Project
  • Create your Feature Branch (git checkout -b feature/AmazingFeature)
  • Commit your Changes (git commit -m 'Add some AmazingFeature')
  • Push to the Branch (git push origin feature/AmazingFeature)
  • Open a Pull Request

License

Distributed under the GPL-3.0. See LICENSE.txt for more information.

About

High-Performance API for ASU Course Catalog written in Go.

Topics

Resources

License

Stars

Watchers

Forks

Languages