Buffonomics tracks the stock-trading disclosures of U.S. Congress members so students can explore which lawmakers are buying or selling specific equities.
Frontend:
- HTML
- CSS
- JavaScript
Backend:
- Node.js
- Express.js
Database:
- PostgreSQL
Containerization:
- Docker
External APIs:
- Quiver Quant – congressional trading history
- Docker Desktop
- Modern web browser (Chrome, Edge, Firefox, Safari)
- Quiver Quant API Key
- Clone & enter the repo
git clone https://github.com/Wheatlys/Buffonomics.git cd Buffonomics/ProjectSourceCode - Configure environment variables – copy
.envand update with your own secrets if needed.POSTGRES_USER=postgres POSTGRES_PASSWORD=pwd POSTGRES_DB=users_db SESSION_SECRET=change-me QUIVER_API_KEY=your-quiver-key
- Start the full stack with Docker Compose
This launches PostgreSQL (
docker compose up --build
db) and the Node.js web service (web) and automatically runs migrations plus the Mocha test suite before the server starts. - Visit the app at http://localhost:3000 and log in or register to explore the dashboard and
/congressprofile pages.
All automated tests live in ProjectSourceCode/test/server.spec.js (Mocha + Chai). To execute them:
cd ProjectSourceCode
npm testor, if Docker is already running:
docker compose run --rm web npm testThese cases validate the /welcome health endpoint and the registration flow (success + invalid input). Add new unit tests alongside server.spec.js to expand coverage.