lockin progress
backend
> express.js prisma postgresql
> jwt auth with supabase integration
> challenge management apis (crud, join, results)
> proof submission system with admin review
> simulated crypto staking (wallet integration pending)
frontend
> next.js 14 react typescript
> dashboard with real challenge browsing
> dynamic challenge detail pages (/challenges/[id])
> join challenge flow with instant feedback
> “my challenges” with active/completed tabs
> user profile management (edit bio, upload pics)
db architecture
user ↔ userchallenges ↔ challenges
↓ ↓
transactions submissions
> user profiles & auth
> challenge creation/tracking
> staking transactions
> daily proof submissions
> admin review system
authentication flow
> supabase auth (google oauth)
> jwt middleware for protected routes
> real-time user session management
> profile sync between frontend/backend
> fallback jwt verification system