cleanyourtv-app
A community-built phone app for Clean Your TV: clean up an Android TV from your phone. No laptop, no coding agent, nothing uninstalled.
A precision feeding research prototype for African catfish. Log a sample, and PakaonAI recalculates the ration and syncs the ESP32 feeder.
OtherTypeScript · C++GitHub @J-Akiru5OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
This is the final project for capstone
Taken from the repository README
Loading the full README.
Read the full README ↗Precision feeding and pond management for African catfish farms. Built as PakaonAI, a capstone project for ISUFST Dingle Campus.
Start at docs/README.md — the map of the plan, the
decisions, the workflow and the runbooks. It is the entry point for humans and
agents; the rules themselves live in CONTRIBUTING.md,
HANDOFF.md and docs/deployment-workflow.md.
@commitlint/cli 21 requires it; CI runs Node 22)Install dependencies:
pnpm install
Copy apps/web/.env.example to apps/web/.env and fill in your Supabase credentials:
DATABASE_URL (pooled connection)DIRECT_URL (direct connection for migrations)NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYGenerate the Prisma client. pnpm install runs this through the guarded
root postinstall when apps/web/prisma/schema.prisma exists; rerun it
after pulling a schema change:
pnpm prisma:generate
Run database migrations:
pnpm prisma:migrate
Start the development server:
pnpm dev
| Script | Description |
|---|---|
pnpm dev | Start the Next.js dev server |
pnpm build | Build the Next.js app for production |
pnpm lint | Run Biome lint checks |
pnpm lint:fix | Run Biome lint checks with auto-fixes |
pnpm format | Format files with Biome |
pnpm prisma:generate | Generate the Prisma client |
pnpm prisma:migrate | Run Prisma migrations |
pnpm security:overrides | Verify the pnpm security pins resolve as intended |
pnpm typecheck | Run TypeScript checks across the workspace |
All HTTP+JSON endpoints follow API_REGULATION.md: one { data, meta } /
{ error } envelope, a versioned /api/v1 tree, the 300/400 ms budgets, Server-Timing and
X-Request-Id on every response (including errors), and a recorded sunset for the legacy tree.
| Command | Purpose |
|---|---|
pnpm api:check | Static conformance: every route instrumented, list queries bounded, declarations present. Runs in CI. |
pnpm api:live -- --mode warn | Live contract + latency suites. Needs API_BASE_URL and API_TEST_COOKIE or API_TEST_BEARER. |
pnpm api:live -- --mode fail | Enforcement mode. Coverage below 90 % fails in both modes. |
Endpoint inventory and documented exemptions live in API_REGULATION.md; the ranked burn-down is
docs/api-regulation-backlog.md.
Development moves through four stages; only two of them deploy.
feature/* ──PR──▶ develop ──PR──▶ staging ──PR + Jeff──▶ main
│ │ │
validate only staging deploy production deploy
develop; open PRs into develop.develop is the shared integration branch and never deploys.staging is the default branch and the release candidate; it deploys the
staging environment.main is production and is only advanced by a PR from staging, approved
and merged by Jeff.Full rules: CONTRIBUTING.md.
Pipeline details, deployment policy, and known blockers:
docs/deployment-workflow.md.
Start with CONTRIBUTING.md for the workflow, then
HANDOFF.md for repository orientation and the database safety
rules. Never run prisma migrate reset against production.