Skip to content

UBC Explorer is a modern course search tool and degree planner that enables all students to browse UBC course prerequisites/dependencies, and plan their degree via our dashboard.

License

Notifications You must be signed in to change notification settings

HelloWorldFam/UBCExplorer

Repository files navigation

UBC Explorer & BCS Dashboard

Welcome

Hello! Welcome to the UBC Explorer project - the full stack application and repo hosting both the frontend and backend of the UBC Course Search tool and the BCS Explorer / Degree planner.

Try it out at

ubcexplorer.io


Intro

UBC Explorer is a product offering two solutions for students aimed at course search and degree planning: UBC Course Explorer and BCS Explorer. UBC Explorer was created in 2020 by a group of second degree students (BCS) at the University of British Columbia. It was due to the lack of planning tools offered to us as students. Students would plan their degree through a pdf which seemed silly and required a modern solution.

Our mission was to provide students a seamless course search experience with a modern look. Additionally, we wanted to provide a dashboard for students to manage course worklists / course plans with emphasis on BCS program requirements.

You can read our journey at To Boldly Build: Insights for New Developers to Kickstart their Projects about how we got started. After 3 years of serving the entire UBC student community with our course search tool, our team is graduating and decided to open source this project to enable future students to contribute.

Products

  • UBC Course Explorer is a a modern course search tool that enables all students to browse UBC course prerequisites and dependencies.
  • BCS Explorer and Dashboard is a modern dashboard with increased functionality related to course search features such as a worklist builder, degree progress tracker, and overview for users to quickly see their stats.
  • UBC Explorer API is an API enabled devs to access our MongoDB database containing our course data. We are proud to support numerous UBC developers in their projects.

This work is to enable students to be incredibly efficient when course planning and to replace the pdf planner offered to UBC BCS students. The BCS Dashboard has been officially endorsed by the UBC BCS director and is home to over 1k users.

UBC Explorer Screenshots

Expand to view Images

bcsexplorer_8 bcsexplorer_7 bcsexplorer_6 bcsexplorer_5 bcsexplorer_4 bcsexplorer_3 bcsexplorer_2 bcsexplorer_1 bcsexplorer_9

Contents

Setup

Our stack consists of React, JavaScript, MaterialUI, MongoDB, Express.js.

Setting up Local Environment

To set up your local environment, be sure to have the following installed:

  • Node.js
  • Git

Clone the GitHub Repo

git clone https://github.com/HelloWorldFam/BCS-Course-Selector.git

The directory of importance is the bcs-dashboard. Change directory into this directory and run the installation script. The bcs-landing-page is a separate directory for the landing page and is no longer in use. The landing page used is moved to bcs-dashboard/src/pages/landingpage

cd bcs-dashboard
npm run install

# Open another terminal window
cd bcs-dashboard/backend
npm install

To be able to read/write to the mongoDB database, you will need to add credentials.

  • Request access to the test database
  • Add credentials to your .env file locally.
cd bcs-dashboard/backend

# create a file called: .env
# inside this file, paste your credentials.
# it will look like the following but with the <username> and <password> replaced with your credentials

ATLAS_URI=mongodb+srv://<username>:<password>@cluster0.f6swi.gcp.mongodb.net/?retryWrites=true&w=majority

Running the code locally

To run the code locally, you will need to run both the frontend and the backend and have an .env file containing mongoDB read access.

cd bcs-dashboard
npm start

# in new terminal window
cd bcs-dashboard/backend
nodemon server

You should be able to view the UBC Explorer- Course Search on your localhost.

http://localhost:3000

# to view the BCS Explorer, navigate to this url
http://localhost:3000/bcs/start

Deploying to GCP

To deploy to GCP, install the gcloud CLI. To authenticate, run gcloud init.

Once installed, fill in the ATLAS_URI in app.yaml and run:

gcloud app deploy

Documentation

We will have some documentation coming soon.

How to Contribute

The main purpose of this repository is to continue evolving UBC Explorer. We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bugfixes and improvements.

Read our Contributing Guide to learn about our development process, how to propose bugfixes and improvements.

Check out the issues labeled with good-first-issue for bugs/fixes/additions that have limited scope.

Code of Conduct

We have adopted a Code of Conduct.

Contributors

A huge thanks to all the contributors working to maintain the project.

About

UBC Explorer is a modern course search tool and degree planner that enables all students to browse UBC course prerequisites/dependencies, and plan their degree via our dashboard.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published