Skip to content

Spring 2026 Team Report

NishK05 edited this page May 7, 2026 · 10 revisions

Summary

BJC Teacher Tracker is a Ruby on Rails web application for the Beauty and Joy of Computing program at UC Berkeley. Its main purpose is to manage teachers who sign up to use BJC curriculum materials, especially protected teacher resources. Teachers can register, manage their own information, and, once approved, access protected solutions/content; admins use the app as a central dashboard to review teacher requests, approve or deny access, request more information, and track teacher/school participation.

In practice, the app is both an access-control portal and an admin operations tool. It lets admins manage teacher profiles, schools, email templates, workshops/PD attendance, duplicate records, teacher statistics, and communication workflows. The newer work done this semester adds more operational polish: email editing/validation, server-side table pagination and sorting, PD attendance improvements, AWS SES delivery tracking concepts, school-data cleanup, teacher verification notes, and MailBluster synchronization.

Epics and Major Features Completed

Mailbluster Integration to send out emails to active teachers

Using AWS to see what emails bounced to exclude those teachers from the mailing list

School Merging

Future Work

  • Rails 6 → 7 upgrade: Rails 6 is approaching end-of-life. Upgrading gets better ActiveRecord APIs, and better security. High effort but the right next infrastructure investment.
  • CI fully green: The test suite has flaky or broken tests unrelated to our features. 3 tests always fail and a couple other are non-deterministic
  • Move off Webpacker: It is a good start for a smoother Rails 7 upgrade. -Some notes for this: Need to switch to CSSbuilder and JSbuilder at the same time. If you try going one by one, the other portion will break. I would migrate to CSSbuilder first and then JSbuilder in that order if I were to reattempt this.
  • Refactor merge controller to remove redundancies
  • Move copy button next to snap username from far right to next to username
  • Fix elementary grade_level not being displayed in teacher view

Advice and Notes to the Next Team

  • Invest time in the setup
  • Make sure everyone has access to all the platforms/programs
  • Make sure everyone understands the app
  • Communicate often and early with your team and Michael
  • Give feedback on PRs
  • Make written meeting notes to revisit later
  • Don’t use Windows
  • Brainstorm with your team partners on persisting issues
  • Document well all the implementations you made
  • Maintain a checklist of all the features to implement (or use issues)
  • Here is a link to our progress tracker and notes over the iterations for reference.

From Kien: I'll be working on bug fixes and updates on the side, so feel free to contact me at k_huynh@berkeley.edu if you have any questions on anything we did. Hopefully, we didn't leave you with too much technical debt.

Our Final Presentation

https://drive.google.com/file/d/1Xj44KeMtIuvhBCNZdkzCakz1d1l4JW3-/view

Last updated by @kienthuynh

Clone this wiki locally