Skip to content

kevinmonisit/Scarlet-Navigator

Repository files navigation

Scarlet Navigator

MIT License GitHub issues

Jul-24-2022 23-25-51

About

Scarlet Navigator is a free and open source project designed to make planning your courses less confusing and more intuitive. By looking at the bigger picture, you'll be more confident about your path towards graduation. This project is not managed nor sponsored by Rutgers University, so any feedback or bug reports should either be posted here or emailed.

Check out the reddit post! @ go.rutgers.edu/scarletnav.

Awarded Best Fullstack Project by the Rutgers Computer Science Department!

Testimonies

image image image

and more...

Tech Stack

Frontend

  • React 17, a popular JavaScript framework for frontend development
  • React Beautiful DnD, a React library that acts as a wrapper to React DnD
  • Redux, a state manager for managing complex React state throughout Scarlet Navigator
  • Tailwind CSS, an opinionated in-line CSS framework for quickly styling elements
  • TypeScript adds types to enforce type-safe JavaScript practices
  • MUI used for a few components (would like to move away from this and focus on Tailwind CSS)

Backend

  • Firebase handles hosting, serverless functions, Algolia search integration, and provides a NoSQL database called Cloud Firestore
  • Algolia allows for fuzzy search of courses because Cloud Firestore doesn't allow users to search courses unless there is an exact match
  • Python was used to create scripts that parse course data and uploads them to Cloud Firestore via Firebase Python SDKs

Roadmap

  • Add all courses

  • Adding a linter and enforcing prettier

  • Adding Github CI/CD

  • Restructure Scarlet Navigator to be developer-friendly (adding a Getting Started section)

  • Create a wiki??

  • Decouple frontend from Firebase integration and instead opt for as much utilization of REST

Development

This project is deployed using Firebase and stores user and course data on Firestore, which does not support any native fuzzy search functionality. Instead, an SaaS like Algolia is used to search through the course documents.

To run this project locally, you are going to need to download Firebase CLI and setup a free account with Algolia.

Tools

Download the Firebase CLI here: https://firebase.google.com/docs/cli

Setup an Aloglia account here: https://www.algolia.com/

Setup

Features

Feedback

If you have any feedback, please click the "Feedback" button on the top right of Scarlet Navigator.

License

MIT