This page explains how to install AquaOps locally and seed a usable demo environment.
Prerequisites
You need:
- Node.js
- npm
- a Supabase project
- the database schema already provisioned in that Supabase project
Environment variables
Create a .env.local file in the project root with:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=
SUPABASE_SERVICE_ROLE_KEY=
What each variable does
NEXT_PUBLIC_SUPABASE_URL
The URL of your Supabase project.
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY
The browser-safe key used by the web app.
SUPABASE_SERVICE_ROLE_KEY
A server-only key used for privileged actions such as seeding and admin operations.
Never expose the service role key to the client.
Install dependencies
Seed demo data
Run:
The seed script creates:
- one demo organization
- one demo location
- two demo pools
- default Illinois-based chemical profiles for the demo pools
- several demo roles
- several demo users
Seeded demo accounts
The script prints the seeded emails when it runs. By default it creates:
Each run also generates and prints a fresh temporary password per user. The seed no longer relies on a shared fixed demo password.
Run the app
Then open:
First login
After login, the app opens to the dashboard. From there you can:
- add chemical records
- add maintenance logs
- open settings to manage your organization data
Troubleshooting
Seed fails
Check:
- the Supabase URL is correct
- the service role key is present
- the database schema already exists
Login fails
Check:
- the seeded user exists in Supabase Auth
- you are using the latest temporary password printed by the seed run
- the user account is still active
No data appears
Check:
- the seed script completed successfully
- you are logged into one of the seeded accounts
- the users table and tenant data were created correctly