{ "project": { "name": "todo-super", "version": "0.1.0", "description": "A complete earn-to-play app", "tech_stack": { "framework": "Next.js 16", "language": "TypeScript", "styling": "Tailwind CSS 4", "runtime": "React 19" } }, "state": { "current_phase": "IMPLEMENTED", "last_updated": "2025-12-18" }, "entities": { "data_models": [ { "id": "model_user", "name": "User", "status": "IMPLEMENTED", "file_path": "app/lib/db/schema/user.ts" }, { "id": "model_points", "name": "Points", "status": "IMPLEMENTED", "file_path": "app/lib/db/schema/points.ts" }, { "id": "model_task", "name": "Task", "status": "IMPLEMENTED", "file_path": "app/lib/db/schema/task.ts" }, { "id": "model_user_task", "name": "UserTask", "status": "IMPLEMENTED", "file_path": "app/lib/db/schema/user_task.ts" }, { "id": "model_badge", "name": "Badge", "status": "IMPLEMENTED", "file_path": "app/lib/db/schema/badge.ts" }, { "id": "model_user_badge", "name": "UserBadge", "status": "IMPLEMENTED", "file_path": "app/lib/db/schema/user_badge.ts" }, { "id": "model_quiz", "name": "Quiz", "status": "IMPLEMENTED", "file_path": "app/lib/db/schema/quiz.ts" }, { "id": "model_referral", "name": "Referral", "status": "IMPLEMENTED", "file_path": "app/lib/db/schema/referral.ts" } ], "api_endpoints": [ { "id": "api_auth_register", "path": "/api/auth/register", "method": "POST", "status": "IMPLEMENTED", "file_path": "app/api/auth/register/route.ts" }, { "id": "api_auth_login", "path": "/api/auth/login", "method": "POST", "status": "IMPLEMENTED", "file_path": "app/api/auth/login/route.ts" }, { "id": "api_auth_me", "path": "/api/auth/me", "method": "GET", "status": "IMPLEMENTED", "file_path": "app/api/auth/me/route.ts" }, { "id": "api_users_points", "path": "/api/users/me/points", "method": "GET", "status": "IMPLEMENTED", "file_path": "app/api/users/me/points/route.ts" }, { "id": "api_users_badges", "path": "/api/users/me/badges", "method": "GET", "status": "IMPLEMENTED", "file_path": "app/api/users/me/badges/route.ts" }, { "id": "api_tasks_list", "path": "/api/tasks", "method": "GET", "status": "IMPLEMENTED", "file_path": "app/api/tasks/route.ts" }, { "id": "api_tasks_checkin", "path": "/api/tasks/checkin", "method": "POST", "status": "IMPLEMENTED", "file_path": "app/api/tasks/checkin/route.ts" }, { "id": "api_tasks_complete", "path": "/api/tasks/:id/complete", "method": "POST", "status": "IMPLEMENTED", "file_path": "app/api/tasks/[id]/complete/route.ts" }, { "id": "api_quizzes_get", "path": "/api/quizzes/:taskId", "method": "GET", "status": "IMPLEMENTED", "file_path": "app/api/quizzes/[taskId]/route.ts" }, { "id": "api_quizzes_submit", "path": "/api/quizzes/:taskId/submit", "method": "POST", "status": "IMPLEMENTED", "file_path": "app/api/quizzes/[taskId]/submit/route.ts" }, { "id": "api_leaderboard", "path": "/api/leaderboard", "method": "GET", "status": "IMPLEMENTED", "file_path": "app/api/leaderboard/route.ts" }, { "id": "api_referrals_create", "path": "/api/referrals", "method": "POST", "status": "IMPLEMENTED", "file_path": "app/api/referrals/route.ts" }, { "id": "api_referrals_claim", "path": "/api/referrals/claim", "method": "POST", "status": "IMPLEMENTED", "file_path": "app/api/referrals/claim/route.ts" } ], "pages": [ { "id": "page_login", "name": "Login Page", "route": "/login", "status": "IMPLEMENTED", "file_path": "app/login/page.tsx" }, { "id": "page_register", "name": "Register Page", "route": "/register", "status": "IMPLEMENTED", "file_path": "app/register/page.tsx" }, { "id": "page_dashboard", "name": "Dashboard", "route": "/", "status": "IMPLEMENTED", "file_path": "app/page.tsx" }, { "id": "page_tasks", "name": "Tasks Page", "route": "/tasks", "status": "IMPLEMENTED", "file_path": "app/tasks/page.tsx" }, { "id": "page_quiz", "name": "Quiz Page", "route": "/quiz/[id]", "status": "IMPLEMENTED", "file_path": "app/quiz/[id]/page.tsx" }, { "id": "page_profile", "name": "Profile Page", "route": "/profile", "status": "IMPLEMENTED", "file_path": "app/profile/page.tsx" }, { "id": "page_leaderboard", "name": "Leaderboard Page", "route": "/leaderboard", "status": "IMPLEMENTED", "file_path": "app/leaderboard/page.tsx" }, { "id": "page_referral", "name": "Referral Page", "route": "/referral", "status": "IMPLEMENTED", "file_path": "app/referral/page.tsx" } ], "components": [ { "id": "component_auth_form", "name": "AuthForm", "status": "IMPLEMENTED", "file_path": "app/components/AuthForm.tsx" }, { "id": "component_points_display", "name": "PointsDisplay", "status": "IMPLEMENTED", "file_path": "app/components/PointsDisplay.tsx" }, { "id": "component_task_card", "name": "TaskCard", "status": "IMPLEMENTED", "file_path": "app/components/TaskCard.tsx" }, { "id": "component_task_list", "name": "TaskList", "status": "IMPLEMENTED", "file_path": "app/components/TaskList.tsx" }, { "id": "component_quiz_question", "name": "QuizQuestion", "status": "IMPLEMENTED", "file_path": "app/components/QuizQuestion.tsx" }, { "id": "component_badge_card", "name": "BadgeCard", "status": "IMPLEMENTED", "file_path": "app/components/BadgeCard.tsx" }, { "id": "component_leaderboard_table", "name": "LeaderboardTable", "status": "IMPLEMENTED", "file_path": "app/components/LeaderboardTable.tsx" }, { "id": "component_daily_checkin_button", "name": "DailyCheckinButton", "status": "IMPLEMENTED", "file_path": "app/components/DailyCheckinButton.tsx" }, { "id": "component_transaction_history", "name": "TransactionHistory", "status": "IMPLEMENTED", "file_path": "app/components/TransactionHistory.tsx" }, { "id": "component_navbar", "name": "Navbar", "status": "IMPLEMENTED", "file_path": "app/components/Navbar.tsx" }, { "id": "component_dark_theme_layout", "name": "DarkThemeLayout", "status": "IMPLEMENTED", "file_path": "app/components/DarkThemeLayout.tsx" } ] } }