Web platform to coordinate residential construction and renovation projects. The idea is to keep the contractor, client, subcontractors and professionals all aligned in one place, with communications, decisions, tasks, appointments and documents always tracked, so delays, misunderstandings and disputes are reduced.
Live at edilsync.rdlabs.digital.
- Frontend: React, Vite, TanStack Query, Tailwind CSS
- Backend: Supabase (PostgreSQL, RLS, Auth, Storage, Edge Functions)
- Auth: Supabase Auth (Google OAuth)
- Storage:
project-filesbucket - Edge Functions:
syncUserAccess,sendNotificationOrEmail - Testing: Vitest, Playwright
- Node.js 20+
- npm
If you use nvm, the repository includes .nvmrc — just run nvm use.
Create a .env.local (or .env) file with:
VITE_SUPABASE_URL=https://<project-ref>.supabase.co
VITE_SUPABASE_ANON_KEY=<supabase-anon-or-publishable-key>
VITE_SUPABASE_AUTH_PROVIDER=googleVITE_* variables are always included in the frontend bundle and should never contain secrets, tokens or server-side keys. The app blocks startup if it detects variables matching patterns like VITE_*SECRET*, VITE_*ACCESS_TOKEN* or VITE_*SERVICE_ROLE*.
npm install
npm run devProduction build:
npm run build
npm run previewAll test-related documentation is in tests/README.md. Main commands:
npm run qa # full QA run
npm run test:unit # unit tests (Vitest)
npm run test:integration:qa # integration tests
npm run test:db # database tests (pgTAP)
npm run test:e2e # end-to-end tests (Playwright)
npm run test:e2e:smoke # smoke tests only
npm run test:all # everythingAdditional docs:
public/Docs/qa/README.mdpublic/Docs/qa/scenario-matrix.mdpublic/Docs/qa/vitest-backlog.mdpublic/Docs/qa/playwright-backlog.md
Test reports:
tests/reports/index.htmltests/playwright-report/tests/test-results/
Migrations live in supabase/migrations and cover the application schema, RLS policies, audit triggers and related stored procedures.