PostgreSQL database and web app for StreamWatch (Watershed Institute) environmental monitoring data.
app/— Next.js web app (dashboards, read-only API, future forms). Run fromapp/withnpm installthennpm run dev. Seeapp/README.md.scripts/— ETL, schema, fixes, tools (Python).docs/— Schema, relationships, guides.data/raw/— Source Excel files.
-
Setup:
cp env.example .env # Edit .env with your database credentials pip install -r requirements.txt -
Database Connection:
- Edit access:
streamwatch_edituser - Read-only access:
streamwatch_readonlyuser - See
docs/SECURE_CREDENTIALS.mdfor connection details
- Edit access:
app/- Next.js web app (run fromapp/; seeapp/README.md)scripts/etl/- Data loading scriptsscripts/schema/- Schema modification scriptsscripts/fixes/- Data quality fixesscripts/tools/- Utility scriptsdocs/- Documentationdata/raw/- Original Excel filesdata/processed/- Cleaned data files
docs/STREAMWATCH_DATABASE_STATUS.md- Current schema referencedocs/VOLUNTEERS_WATERSHED_REQUIREMENTS_CHECKLIST.md- Volunteers table statusdocs/DATABASE_RELATIONSHIPS.md- Table relationshipsdocs/PROJECT_STRUCTURE.md- Detailed project organization
Core Tables (7): sites, samples, bugs, bacteria, volunteers, taxonomy, chemical
Legacy Tables (8): sample_dates, bug_results, rbp100_bugs, bug_list, cat_meters, cat_assignments, wqx_sites, wqx_biohabphys
System Tables (1): users
Relationship Tables (3): training, volunteer_assignments, visit_attendance
Total: 19 tables
- ✅ All 14 data tables loaded
- ✅ Volunteers table aligned with Watershed requirements
- ✅ Relationship tables populated (training: 167, assignments: 56)
- ✅ Data quality fixes applied
- ✅ Next.js app in
app/(Phase 2): read-only API and home page with stats + sites table