GithubHelp home page GithubHelp logo

acmutd / utd-grades Goto Github PK

View Code? Open in Web Editor NEW
17.0 8.0 10.0 13.29 MB

A tool to view grade distributions at UT Dallas.

Home Page: https://utdgrades.com

License: MIT License

JavaScript 4.58% CSS 2.16% TypeScript 92.24% Nix 1.01% Shell 0.02%
hacktoberfest visualization

utd-grades's Introduction

UTD Grades

Deploy to GitHub Pages

UTD Grades is an application for viewing grade distributions at UT Dallas.

Components

This monorepo consists of two sub-projects.

  • The client project contains the application itself, built with React and Next.js.
  • The db project contains everything related to the SQLite database that powers the app.

There is also a raw_data folder that contains all currently received grade data in CSV format.

Each component as a dedicated readme, and the architecture document describes how everything fits together.

Development

Due to some changes with the fetch API in Node v18 and sql.js not handling those changes, please use Node v17.
Install and switch between multiple node versions with nvm.

We make use of NPM workspaces to simplify development in the monorepo. To get started developing locally, simply clone this repository run the following commands...

  1. npm install - install dependencies
  2. npm run dev - create the SQLite database from the raw data and then launch the Next.js development server

Deploying

The project builds to a completely static web bundle, making it deployable pretty much anywhere. Simply run npm run build, and deploy the resulting client/out directory wherever you want.

Testing deployment locally

You can easily test the deployment locally using a package like http-server. After running npm run build, run npx http-server out/client.

Deploy to GitHub Pages

We have a workflow that automatically deploys the main branch to GitHub Pages.

Uploading New Data

Just add the data in CSV format to the raw_data directory (be sure to remove any lines before the header) and rebuild/redeploy.

utd-grades's People

Contributors

abdullah50053 avatar bharatari avatar charliemahana avatar darichey avatar dedsecknight avatar dependabot[bot] avatar ez314 avatar jocelynheckenkamp avatar michaeldhellman avatar sakshamsangraula avatar shannenigans avatar williecubed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

utd-grades's Issues

Migrate UTD Grades from AWS to Google Cloud deployment

Overview

Right now, the UTD Grades back-end functions are deployed to AWS Lambda using the acmutdlabs AWS root account. However, all other Project Nebula products use Google Cloud Platform, which integrates with our existing IAM solution (Google Workspace). Although UTD Grades is soon to be deprecated, it may need to exist in a backup form for our intended March 25, 2022 target for its deprecation and may need to stay up. Furthermore, redeploying to Google Cloud may give us the opportunity to reduce costs in the meantime, which may give more funding to other parts of the Project Nebula budget. As such, we should redeploy the service to use GCP resources.

Tasks

  • Ensure that the UTD Grades backend is properly containerized
  • Deploy the UTD Grades functions container to Google Cloud Run or equivalent
  • Configure settings to auto-scale the container to reduce resource usage when client request volume is low

Handle UTD Grades Deprecation

Overview

TL;DR: We're building an expanded service for UTD-related data - the Nebula Data Service. UTD Grades will remain accessible, but the new dashboard will include more information than purely grades.

Timeline

  • #18
  • UTD Grades will be deprecated on October 13, 2021
  • UTD Grades will be fully retired in spring 2022
    • utdgrades.com will redirect to grades.utdnebula.com or whatever will be the chosen route for grades data

Update UTD Grades data for fall 2020, spring 2021, and summer 2021 semesters

Overview

The UTD Grades database needs to be updated to display grade distributions for fall 2020, spring 2021, and summer 2021 data. Using the data that @Tmtomer and the Mercury have obtained using a Freedom of Information Act request, follow the repository's documentation on uploading the grades data to the database on AWS that currently stores grades data.

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.