High-Performance API for ASU Course Catalog written in Go.
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!
- Go - Programming Language
- Rod - Driver for DevTools Protocol
- Gin - Web Framework
- Redis - In-Memory Data Structure Store (for caching)
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/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.
See the open issues
- Add specific class endpoint
- Add semesters endpoint
- Add professors endpoint
- Add course descriptions endpoint
- Add Redis caching
- Add Docker support
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
Distributed under the GPL-3.0. See LICENSE.txt
for more information.