Class Search API
The Class Search application at JHU exemplifies the client-server architecture. A key benefit of this model is the ability to support multiple clients using the same server. For instance, JHU offers another course search at https://e-catalogue.jhu.edu/course-search/.
Furthermore, the client-server model facilitates making APIs available to the public or selected clients for developing additional applications. For example, Hopkins has its Course Search API accessible at https://sis.jhu.edu/api, which is utilized by platforms like ucredit.me and semester.ly. Exploring Hopkins Course Search API is highly recommended.
Application Programming Interface (API)
An Application Programming Interface (API) enables communication between different software applications. APIs are the backbone of most modern software and virtually the entire Web.
Public APIs, like those offered by Slack and GitHub, allow developers to create diverse applications and integrations. However, some services like Gradescope and Piazza do not offer public APIs, limiting such integrations. For instance, you can link GitHub issues to Slack notifications using their APIs, but you can't create an integration between Piazza and Gradescope due to the absence of public APIs in these services.
Recommendation: For your OOSE project, aim to develop a public and well-documented API.
If you're new to APIs, these resources are a good starting point:
- An Introduction to APIs by Zapier.
- Fireship's YouTube video: RESTful APIs in 100 Seconds.
- FreeCodeCamp's YouTube tutorial: APIs for Beginners - How to use an API (Full Course / Tutorial).