25 Commits

Author SHA1 Message Date
EugeneTes
800b8b3021 Add CLAUDE.md documenting the repo as a Supabase boilerplate 2026-08-15 12:31:06 +00:00
EugeneTes
72248090e8 Ignore deploy.json (holds app secrets for Coolify) 2026-08-15 12:17:28 +00:00
EugeneTes
46a5f40f23 Add Dockerfile + docker-compose for Coolify deployment
Multi-stage build: node builds the SPA, dotnet publishes the API, the
runtime image serves the SPA from wwwroot/ and exposes /health. Frontend
Supabase URL + publishable key are baked in at build time; DB conn string
and Supabase JWKS metadata come from Coolify env vars. VITE_API_URL empty
means same-origin, so the browser hits /api/todos on the same host that
serves the SPA.
2026-08-15 12:10:45 +00:00
EugeneTes
b5f4cf5ee6 Update README with real setup instructions 2026-08-15 12:04:30 +00:00
EugeneTes
42a739ab35 Minimize Vite template's index.css to avoid clashing with inline styles
The scaffolded template shipped an opinionated marketing-page CSS
(fixed #root width, large h1 sizes, letter-spacing) that made the
TodoList header overlap. Replaced with a minimal reset so component
inline styles render as intended.
2026-08-15 12:03:56 +00:00
EugeneTes
41ac4fd662 Route between sign-in and todo list based on session 2026-08-15 11:57:09 +00:00
EugeneTes
77511a02af Add TodoList component 2026-08-15 11:56:12 +00:00
EugeneTes
aa27ac1142 Add authenticated fetch wrapper for the todos API 2026-08-15 11:55:09 +00:00
EugeneTes
cbcba53943 Add sign-in / sign-up form 2026-08-15 11:54:19 +00:00
EugeneTes
676b3b3a86 Add AuthProvider tracking Supabase session 2026-08-15 11:53:22 +00:00
EugeneTes
22240c89e8 Add Supabase client and env template 2026-08-15 11:52:31 +00:00
EugeneTes
94fe6d3358 Switch backend port from 5000 to 5057
Port 5000 caused recurring collisions with stray processes across subagent
runs. 5057 is uncontested in this environment. CORS unaffected (Vite dev
origin is 5173).
2026-08-15 11:51:23 +00:00
EugeneTes
a1ac658fce Scaffold Vite + React + TypeScript frontend 2026-08-15 11:50:53 +00:00
EugeneTes
a2b78fc856 Enable CORS for the Vite dev origin 2026-08-15 11:35:34 +00:00
EugeneTes
5d9eef56ff Add TodosController with GET/POST/PATCH/DELETE endpoints 2026-08-15 11:33:42 +00:00
EugeneTes
73676d3d01 Configure JWT bearer auth against Supabase JWKS via OpenID metadata 2026-08-15 11:32:16 +00:00
EugeneTes
00cba42ba4 Plan: pin NuGet package versions to 9.* for net9.0 compat 2026-08-15 11:30:49 +00:00
EugeneTes
1e2a60880e Add EF Core, Npgsql, Todo entity, and AppDbContext 2026-08-15 11:29:39 +00:00
EugeneTes
f7b0b7fb59 Scaffold ASP.NET Core Web API backend 2026-08-15 11:26:23 +00:00
EugeneTes
fd9ff55ffa Plan: use Supabase session pooler (IPv4) for Postgres connection
Direct DB host is IPv6-only for new Supabase projects and unreachable from
IPv4-only environments. The session pooler (Supavisor, port 5432) is the
correct entry point and keeps prepared statements working with EF Core.
2026-08-15 11:24:23 +00:00
EugeneTes
afe9ba1956 Add todos table migration 2026-08-15 11:23:40 +00:00
EugeneTes
d69e65a979 Add gitignore and README skeleton 2026-08-15 11:14:38 +00:00
EugeneTes
a08138a772 Add implementation plan for Supabase + .NET + React todo app
17 bite-sized tasks with manual verification (curl for backend,
browser for frontend) since the spec excludes automated tests
in the first pass. Uses marker-comment replacements in Program.cs
so JWT auth and CORS drop in cleanly without depending on the
exact template output.
2026-08-15 11:11:31 +00:00
EugeneTes
3dc90f41b2 Add design doc for Supabase + .NET + React todo app
Captures the approved brainstorming design: React SPA (Vite+TS) talks only
to the ASP.NET Core Web API; the API validates Supabase JWTs against the
JWKS URL and owns the Postgres connection. Minimal per-user todo CRUD,
local dev only.
2026-08-15 11:02:54 +00:00
c49f051994 Initial commit 2026-08-15 10:50:43 +00:00