Skip to content

mitchell2001wong/BJC-Teacher-Tracker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BJC Teacher Tracker

Specs StatuscodecovRubocop Status

CS169L Badges (Delete These When Merged into Golden Repo):

Specs Status Pivotal Tracker Bluejay Dashboard

Description

The Beauty and Joy of Computing (BJC) is an introductory computer science curriculum developed at UC Berkeley meant for high school freshmen up to college freshmen. The program has a teacher guide and a newly generated password that is to be given to any teacher who signs up for the program as a volunteer educator in the Bay Area - there are plans to expand the program to other states in late 2020. This pilot application is designed as a dashboard to track the workflow of teachers who run the program and provide high-level, descriptive statistics on the courses taught and participating schools. The BJC Teacher Tracker is a NEW project started in Fall 2019 by a group of 5 student developers in UC Berkeley's CS 169: Software Engineering.

Key Features and Functionality

We have worked on the adding following core features and functionality:

  • Feature: A application form for prospective teachers to request access to the platform
  • Functionality: Administrators are immediately notified of new applications via email
  • Feature: Administrators can validate or deny applicants with a button click
  • Functionality: An email is automatically sent to successful applicants notifying them of their acceptance to the teaching program
  • Feature: A separate administrators' view that uses Google OAuth to allow logins from UC Berkeley-registered users (@berkeley.edu)
  • Functionality: Administrators can login to the dashboard to view unvalidated applications, statistics on validated applicants, and a list of current teachers
  • Feature: The administrators' view contains a main page with
    • buttons to delete or validate newly submitted forms
    • tables for statistics about the schools and the courses current teachers are teaching
    • a map with the locations of all the schools that teachers are a part of
    • a separate page with all the validated teachers and their information

Installation:

Postgres Installation (MacOS):

  • brew install postgresql chromedriver
  • Start postgres if necessary. brew services start postgresql

Postgres Installation (Linux):

  • sudo apt install postgresql
  • Create a postgres user.
    • sudo su - postgres (to get into postgres shell)
    • createuser --interactive --pwprompt (in postgres shell)
    • Save these information in database.yml under default. (username: [username] password: [password])
  • Start postgres if necessary. pg_ctlcluster 12 main start

General Installation

  • rvm use 2.7.5 # Double-check .ruby-version
  • bundle
  • bin/rails db:setup (Run this after setting up Postgres)

Few Things to Know:

  • Before running our application on localhost (`bundle exec rails server', default port 3000), the encrypted application.yml.asc file in the config folder needs to be unencrypted into the application.yml file. Only Michael, the current customer ([email protected]), has the secret key to do this.
  • For RSpec tests run bundle exec rspec
  • For Cucumber tests run bundle exec cucumber
  • To make someone an admin use db console access

Deployed Site:

Steps to Deploying on Heroku

  • ... create a heroku app
  • heroku buildpacks:set heroku/nodejs # this must be the first buildpack.
  • heroku buildpacks:set heroku/ruby
  • git remote set-url heroku https://git.heroku.com/bjc-teachers.git
  • Make your local changes and start the commit process
  • git add .
  • git commit -m "<Message>"
  • git push heroku master

If bundler install runs successfully, continue with the following commands to correctly setup the PostgreSQL database on Heroku:

  • heroku run rake db:drop
  • heroku run rake db:schema:load
  • heroku run rake db:migrate
  • figaro heroku:set -e production
  • heroku open

About

Access Portal and Dashboards for BJC Teachers

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 56.2%
  • Gherkin 21.2%
  • HTML 18.5%
  • JavaScript 2.6%
  • SCSS 1.5%
  • CSS 0.0%