This website, like most things on the internet, is made up of two layers: a frontend and a backend. In our case, the frontend – which is what you are seeing right now – was made using a JavaScript library called React.js. Meanwhile the backend – which consists of a web-scraping script and a database – was made using a JavaScript runtime called Node.js alongside a plugin called Puppeteer and a storage mechanism called Google Firestore. Below is an explanation on how these components came together to make a finished product.
React.js is a tool used to build website interfaces and is helpful in streamlining the process of frontend development. It was used to create the components and UI that our users interact with.
Usually JavaScript needs to run in a web browser – Node.js as a way to run it outside of a web browser. It was used to build the application that gathers class data and notifies users when changes occur.
Puppeteer is a Node.js library that allows for "web-scraping" through the use of headless browser simulations. It is used to read and collect all our needed class information from SBCC's class-search system.
Firestore is a realtime database – meaning it updates constantly – that allows for easy reading and writing of information. It is used to store all our data including things like user settings and class information.
CC Notify was designed and developed by Ethan Bresk with help from Elias Elmziat – two students at SBCC. Both had prior experience with web development and wanted to put it to use in a personal project, which ultimately became this website. Work began in the Fall of 2021 and was eventually finished in the late Summer of 2022 when we officially launched the project. Our goal with CC Notify is simple – to make it easier to register for college classes.