project-standalo-todo-super/project_manifest.json

288 lines
7.6 KiB
JSON

{
"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"
}
]
}
}