Tartan Vote
Tartan Vote is a CMU Undergraduate Senate-commissioned, ScottyLabs-developed voting app, to help the Senate and other student organizations manage attendance and host elections and motions. Currently, the app is still under development, but we strongly hope to get it completed very soon!
Built With
- Svelte
- Rust
- PostgreSQL
- Better Auth
Assumptions about the reader
Hello, reader! For the remainder of this README, and other documentation, we will assume that you are a developer or contributor, using WSL or a Unix development system, and have some familiarity with the command line. If you need any help, you are free to contact one of the codeowners found in CODEOWNERS, or join the discord.
Photos







Getting Started
Prerequisites
Quick Setup
For detailed setup instructions, see SETUP.md. Configuration and secrets are documented in secrets-and-config.md.
Authenticate once per machine with OpenBao so secretspec can read dev secrets:
export BAO_ADDR=https://secrets2.scottylabs.orgbao login -method=oidcAllow direnv (or enter the shell manually):
direnv allow# or: devenv shellStart all dev processes:
devenv up# or: devenv processes upThis starts the API (api), Better Auth service (auth), and Svelte frontend (frontend). Inside the devenv shell, constants, host URLs, DATABASE_URL, and secrets are provided automatically.
Deployment
Production runs on Kennel via devenv and secretspec.
Contributing
Please check CONTRIBUTING.md before you contribute to this project!
Licenses
Voting App is distributed under the Apache 2.0 and MIT Licenses, found in the files LICENSE-APACHE-2.0 and LICENSE-MIT respectively.