Git Product home page Git Product logo

coursebook-api's Introduction

Fancy seeing you here!

I am Anirudh Emmadi, people call me Ani, a recent computer science graduate from The University of Texas at Dallas. I am a tech enthusiast & an open-source advocate. Always open to collaborating on projects and innovative/disruptive ideas. Feel free to connect with me here:

Linkedin Badge Instagram Badge Youtube Badge Medium Badge Gmail Badge

⚡ Technologies

JavaScript Nodejs Python React Java C++ HTML5 CSS3 Bootstrap TypeScript MongoDB Redis ElasticSearch GraphQL Apollo GraphQL PostgreSQL MySQL Heroku Docker DigitalOcean Amazon AWS Microsoft Azure Google Cloud Git GitHub GitLab BitBucket Raspberry Pi

Github Stats

Visitor Badge

coursebook-api's People

Contributors

aemmadi avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

coursebook-api's Issues

API crash for some classes that don't include "Cross Listed With" row in class details

The Problem (with steps to reproduce)

Not all classes return the same amount of details on coursebook.utdallas.edu.

For example:
CS 4337 has a row called Cross Listed With at the bottom of class details, whereas a course like MATH 2418 does not.

When the API is called for MATH 2418 users are presented with a Error Code 500: Internal Server Error, and an index out of bounds error on the server logs.

Potential Solution (optional)

API can no longer assume everything is where its supposed to be. Have to dynamically scrape information returned by coursebook.utdallas.edu.

Add Database

  • Add backend for caching course data into a database
  • POST /update to refresh contents of the database

Add more v1 endpoints

  • GET /v1/<course> : Returns class info for all sections for the course
  • GET /v1/prof/<term>/<lastname>/<firstname> : Returns all classes taught by professor
  • POST /v1/prof/<term>/update : Refreshes database with professors freshly fetched from coursebook

API fails randomly, regardless of the request

The Problem (with steps to reproduce)

API returns a Error Code 500: Internal Server Error for requests that are valid. Occurs randomly, can be fixed if request is re-sent by client.

Potential Solution (optional)

The webscraper is not accounting for any delays caused by coursebook.utdallas.edu.

Informative Error Codes

Currently API only returns Error Code 500: Internal Server Error. Need to send proper error codes depending on the error.

Improve data processing times

A lot of redundancy calls to O(N) functions. Can make it more efficient by processing data directly during the scraping process.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.