Dev Patel
Jan 2024 → Apr 2024Source

Quant A&M

A Rails application for a quantum computing club, built test-first and shipped through CI to 300+ members.

The activities calendar — what replaced the group chat, rendered in the member's own timezone.
Type
Artifact
Where
Texas A&M
When
Jan 2024 → Apr 2024
Duration
3 mo
Status
Shipped
Source
GitHub
The problem

The problem

The club was running membership, events and resources out of spreadsheets and group chats. It needed an actual application, and it needed to survive being handed to whoever ran the club next year.

What I built

What I built

Ruby on Rails with PostgreSQL, containerised with Docker so a new maintainer gets a working environment without a day of setup.

Test-first with RSpec — not because the domain was risky, but because the handover was. A suite that runs on every push is the only documentation that can't go stale.

GitHub Actions runs the tests and deploys to Heroku; project workflow tracked in Jira on an Agile cadence.

Screens

Screens

The member dashboard: points earned, what is on this week, and the latest resources.
The member dashboard: points earned, what is on this week, and the latest resources.
The roster, with officers flagged — the permission boundary Pundit enforces everywhere else.
The roster, with officers flagged — the permission boundary Pundit enforces everywhere else.
Results

Results

300+users
TDDRSpec throughout
CI/CDActions → Heroku
  • Reached 300+ users inside the club.
  • Full RSpec suite gating every deployment.
  • Containerised so onboarding a new maintainer is a clone and a compose command.
Architecture

Architecture

Members300+Rails appMVCPostgreSQLDocker-composedGitHub ActionsRSpec → deployHerokuhosting
Nothing exotic — the value is that every box is reproducible by the next maintainer.
In hindsight

In hindsight

I wrote model tests thoroughly and request specs barely at all, so the suite caught logic errors and missed routing and permission mistakes — which were exactly the ones users hit.

Stack

Stack

Ruby on RailsPostgreSQLDockerRSpecGitHub ActionsHerokuJira