nova-game

byChakradhar Ghongde

Make a math game for 1 to 10 class students with class categories and different level

Landing
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks40

#1

Implement Navbar for Landing

To Do

As a frontend developer, implement the Navbar shared component for the Landing page. The component uses framer-motion's `useAnimation` hook for a magnetic CTA pulse effect on hover (`handleCtaHoverStart`/`handleCtaHoverEnd` with gold glow box-shadow). Features an animated SVG star logo with `logoDrawVariants` (pathLength draw, 0.8s) and `logoFillVariants` (fillOpacity delay 0.7s). Renders `NAV_LINKS` array (Curriculum, Game, Students, Reports, Resources) as desktop nav. Includes `mobileOpen` useState toggle for hamburger/mobile drawer. CTA button links to /Signup. This component is shared across pages — check if sections/Navbar.jsx already exists before recreating.

AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#12

Create database models migrations

To Do

As a Backend Developer, create SQLAlchemy ORM models and Alembic migrations for all core entities: User (with role: student/teacher/parent/admin), Grade (1-10), Topic, DifficultyLevel, Question, GameSession, Answer, Achievement, Badge, Progress, Notification, Resource. Define relationships, constraints, and indexes. Run initial migration to create schema.

AI 60%
Human 40%
High Priority
3 days
Backend Developer
#25

Setup global state management

To Do

As a Frontend Developer, set up global state management using React Context API or Zustand for: authenticated user state (user object, role, token), grade selection state (persisted in localStorage), game session state (current session, question, score), notification badge count, and theme preferences. Create custom hooks (useAuth, useGame, useProgress) for consuming these stores. Ensure all pages can access shared state without prop drilling.

AI 65%
Human 35%
High Priority
1.5 days
Frontend Developer
#2

Implement LandingHero for Landing

To Do

As a frontend developer, implement the LandingHero section using `@react-three/fiber` Canvas with `OrbitControls`, `Points`, and `PointMaterial` from `@react-three/drei`, plus `gsap` for animations and `THREE` for geometry. Renders 25 `MATH_TOPICS` as interactive 3D star points using `generateStarPositions` (golden angle distribution). Uses `useFrame` for continuous star rotation/twinkling animation, `useThree` for camera control. Clicking a star triggers gsap zoom-in to topic detail. Hovering displays topic title, description, and grade range as an overlay tooltip. Responsive: Canvas fills full viewport height on all devices, overlay panel stacks below on mobile.

Depends on:#1
Waiting for dependencies
AI 80%
Human 20%
High Priority
2 days
Frontend Developer
#3

Implement GalaxyShowcase for Landing

To Do

As a frontend developer, implement the GalaxyShowcase section using framer-motion `AnimatePresence` and `motion.div`. Renders 6 `clusters` (Number Nebula, Fraction Galaxy, Decimal Drift, Algebra Orbit, Trigon Cluster, Calculus Corona) as `ClusterCard` components positioned radially via `getNodePosition` using `nodeAngles` array and SVG-based orbital layout (x/y percentage positions on a 42-radius circle). Each card supports `hoveredIndex` state — siblings fade to opacity 0.5 and scale 0.97 while hovered card scales to 1.08 via spring animation. `onSelect` opens a detail panel with `AnimatePresence`. Topics list renders as pill tags. Responsive: radial SVG layout collapses to vertical card stack on mobile (<768px).

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#4

Implement KeyFeatures for Landing

To Do

As a frontend developer, implement the KeyFeatures section using framer-motion `useInView` for scroll-triggered reveal animations. Renders 6 `FEATURES` cards (Personalized Learning Paths, Adaptive Difficulty, Real-time Progress Tracking, Gamification & Badges, Curriculum Aligned, Multi-user Support) each with a custom `FeatureIcon` SVG component (switch on type: path/adaptive/tracking/badge/curriculum/multiuser). Each card shows an animated metric counter (`metricValue`, `metricSuffix`, `metricPrefix`) that counts up when in view using `useEffect` + `useRef`. Card accent color from per-feature `color` field (#1E90FF, #FF6347, #32CD32, #FFD700, #63B8FF). Responsive: 3-column grid on desktop, 2-column on tablet, 1-column on mobile.

Depends on:#1
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#5

Implement UserJourneys for Landing

To Do

As a frontend developer, implement the UserJourneys section using framer-motion `AnimatePresence` for tab-panel transitions. Renders 4 persona journeys (student, teacher, parent, admin) from `journeys` object, each with an SVG icon and `steps` array. Active journey selected via tab UI with persona icon buttons. Steps render as a vertical timeline with milestone markers (boolean `milestone` field triggers highlighted star badge). Each step has a `tooltip` on hover revealed via AnimatePresence. `motion.div` handles panel enter/exit with slide+fade. Responsive: tab buttons stack horizontally scrollable on mobile, timeline remains single-column.

Depends on:#1
Waiting for dependencies
AI 87%
Human 13%
High Priority
1 day
Frontend Developer
#6

Implement CurriculumHighlight for Landing

To Do

As a frontend developer, implement the CurriculumHighlight section using framer-motion `AnimatePresence` for grade panel transitions. Renders 10 `GRADES` (Grade 1–10) as a horizontal grade selector tab strip. Each grade has `difficulties` array (Beginner/Intermediate/Advanced/Expert) rendered as expandable panels with CSS class variants (`ch-diff-beginner`, `ch-diff-intermediate`, `ch-diff-advanced`, `ch-diff-expert`). Topics within each difficulty render as chip/pill lists. Active grade stored in `useState`. Panel switches animate with `AnimatePresence` slide. Each grade shows `meta` subtitle (e.g., '5 topics across 3 levels'). Responsive: grade tabs scroll horizontally on mobile, difficulty panels stack vertically.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#7

Implement WhyNovaGame for Landing

To Do

As a frontend developer, implement the WhyNovaGame section using framer-motion `useSpring`, `useTransform`, and `useMotionValue` for a 3D card tilt effect on mouse movement (`useCallback` + `useRef` for mouse position tracking). Renders 4 `FEATURES` cards (galaxy, adapt, track, safe) each with role-specific SVG icons and CSS class variants (`wng-card-icon--galaxy`, `wng-card-icon--adapt`, etc.). Each card has an animated progress bar (`barValue`: 95, 90, 88, and unlisted) with fill class and dot class. Tag pills display feature labels. `useEffect` handles intersection observer for scroll-triggered bar fill animation. Responsive: 2-column grid on desktop, 1-column on mobile with tilt effect disabled.

Depends on:#1
Waiting for dependencies
AI 87%
Human 13%
Medium Priority
1 day
Frontend Developer
#8

Implement SecurityTrust for Landing

To Do

As a frontend developer, implement the SecurityTrust section using framer-motion scroll-triggered animations and `AnimatePresence`. Imports lucide-react icons (Shield, Lock, Eye, UserCheck, FileCheck, ServerCrash). Renders 6 `badges` (COPPA, FERPA, GDPR, SOC 2, Student Privacy Pledge, 256-Bit Encryption) as `BadgeCard` components with `whileInView` scale-in animation staggered by `index * 0.15` delay using spring (stiffness 260, damping 20). Each card has `hovered` useState for flip/detail reveal showing cert name, issued date, expiry, and verifyLabel. Renders 4 `privacyHighlights` as a secondary grid. Responsive: 3-column badge grid on desktop, 2-column on tablet, 1-column on mobile.

Depends on:#1
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#9

Implement CallToAction for Landing

To Do

As a frontend developer, implement the CallToAction section with a `MagneticButton` sub-component using framer-motion `motion.div` and `useRef`/`useState`/`useCallback`. Magnetic effect tracks mouse position relative to button center via `getBoundingClientRect`, applies max ±8px x/y offset via spring (stiffness 350, damping 18, mass 0.4). Background uses `motion.div` with `animate` cycling through 3 linear-gradient states (primary #1E90FF ↔ accent #32CD32 ↔ primary_light #63B8FF) on 6s infinite loop. Parallax decorative layers: `cta-deco-stars` (10 star spans, translateY at 0.2x scroll) and `cta-deco-mid` (orb spans, translateY at 0.4x scroll) reading `--scroll` CSS variable. Two CTA buttons: primary to /Signup, secondary to /Game. Responsive: buttons stack vertically on mobile.

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
1 day
Frontend Developer
#10

Implement FAQ for Landing

To Do

As a frontend developer, implement the FAQ section using framer-motion `AnimatePresence` for accordion expand/collapse. Renders 7 `faqData` items (Math Galaxy, data security, grades supported, teacher tracking, curriculum alignment, device compatibility, pricing). `activeIndex` useState tracks open item; `toggleItem` sets null to close. Each item animates open with AnimatePresence height expansion. Parallax decorative background via `fq-deco-layer` div reading `--scroll` CSS variable (translateY at 0.2x), containing `fq-deco-orb` and `fq-deco-star` span elements. Responsive: full-width single-column accordion on all devices.

Depends on:#1
Waiting for dependencies
AI 92%
Human 8%
Medium Priority
0.5 days
Frontend Developer
#11

Implement Footer for Landing

To Do

As a frontend developer, implement the Footer shared component using framer-motion `motion.a` for social icons (whileHover: scale 1.2, rotate 10, color #FFD700, spring stiffness 300) and `AnimatedLink` sub-component with animated underline scaleX via motion.div (duration 0.3, easing [0.25, 0.46, 0.45, 0.94]). Renders 4 `linkColumns` (Product, Company, Resources, Legal) each with 5 links. Parallax `ftr-deco-layer` with 8 `ftr-deco-star` spans reading `--scroll` CSS variable at 0.15x translateY. Brand logo section and social icon row. This component is shared across pages — check if sections/Footer.jsx already exists before recreating. Responsive: 4-column link grid collapses to 2-column on tablet, 1-column on mobile.

Depends on:#1
Waiting for dependencies
AI 92%
Human 8%
Medium Priority
0.5 days
Frontend Developer
#13

Seed curriculum content data

To Do

As a Data Engineer, create seed scripts to populate the database with math curriculum content for grades 1-10 aligned to the Indian educational curriculum. Include topics per grade, difficulty levels (Beginner/Intermediate/Advanced/Expert), sample questions with answers, and achievement badge definitions. Use Alembic data migrations or standalone seed scripts.

Depends on:#12
Waiting for dependencies
AI 55%
Human 45%
High Priority
2 days
Data Engineer
#14

Implement auth middleware RBAC

To Do

As a Backend Developer, implement JWT-based authentication middleware and role-based access control (RBAC) for FastAPI. Define permission scopes for Student, Teacher, Parent, and Admin roles. Create auth dependency injection for route protection, token refresh logic, and role-guard decorators. Ensure student data privacy compliance.

Depends on:#12
Waiting for dependencies
AI 60%
Human 40%
High Priority
2 days
Backend Developer
#15

Build users management API

To Do

As a Backend Developer, implement FastAPI routes for user management: GET /users (list with filters for role, grade), GET /users/{id}, POST /users, PUT /users/{id}, DELETE /users/{id}, GET /users/{id}/children (for parent-child relationships), POST /users/{id}/assign-grade, GET /users/{id}/students (for teacher). Admin only endpoints for bulk operations. Supports the Users page frontend.

Depends on:#12#14
Waiting for dependencies
AI 65%
Human 35%
High Priority
2 days
Backend Developer
#16

Build curriculum management API

To Do

As a Backend Developer, implement FastAPI routes for curriculum management: GET /grades (list grades 1-10), GET /grades/{id}/topics, POST /grades/{id}/topics, PUT /topics/{id}, DELETE /topics/{id}, GET /topics/{id}/difficulty-levels, POST /topics/{id}/difficulty-levels, PUT /difficulty-levels/{id}, GET /difficulty-levels/{id}/questions, POST /questions, PUT /questions/{id}, DELETE /questions/{id}. Admin-only write operations. Supports the Curriculum page frontend.

Depends on:#13#12#14
Waiting for dependencies
AI 65%
Human 35%
High Priority
3 days
Backend Developer
#17

Build game session API

To Do

As a Backend Developer, implement FastAPI routes for game sessions: POST /game-sessions (start new session with grade, topic, difficulty), GET /game-sessions/{id}/next-question (serve next question), POST /game-sessions/{id}/answers (submit answer, return correctness + explanation), GET /game-sessions/{id}/results (session score, accuracy, time), DELETE /game-sessions/{id} (abandon). Handles question randomization, scoring logic, and session state. Supports Game, Results, and Categories pages.

Depends on:#13#14#12
Waiting for dependencies
AI 65%
Human 35%
High Priority
3 days
Backend Developer
#21

Build notifications API

To Do

As a Backend Developer, implement FastAPI routes for notifications: GET /users/{id}/notifications (paginated list with read/unread status), PUT /notifications/{id}/read (mark as read), PUT /users/{id}/notifications/read-all, DELETE /notifications/{id}, POST /notifications (admin/system send). Notification types: achievement_earned, streak_milestone, assignment_due, teacher_message, progress_alert. Supports Notifications page frontend.

Depends on:#14#12
Waiting for dependencies
AI 65%
Human 35%
Medium Priority
1.5 days
Backend Developer
#23

Build resources management API

To Do

As a Backend Developer, implement FastAPI routes for educational resources: GET /resources (list with filters: grade, topic, type), GET /resources/{id}, POST /resources (teacher/admin add resource with title, url, type, grade, topic), PUT /resources/{id}, DELETE /resources/{id}, GET /resources?grade={g}&topic={t} (filtered for students). Resource types: video, document, practice_sheet, reference. Supports Resources page frontend.

Depends on:#12#14
Waiting for dependencies
AI 65%
Human 35%
Medium Priority
1.5 days
Backend Developer
#24

Build settings profile API

To Do

As a Backend Developer, implement FastAPI routes for settings: GET /users/{id}/settings (profile preferences, notification prefs, display settings), PUT /users/{id}/settings (update profile: name, avatar, language, notification toggles), PUT /users/{id}/password (change password with current password verification), GET /admin/settings (app-wide config), PUT /admin/settings (update app config). Supports Settings page for all user roles.

Depends on:#12#14
Waiting for dependencies
AI 65%
Human 35%
Medium Priority
1.5 days
Backend Developer
#26

Setup frontend API client

To Do

As a Frontend Developer, create a centralized API client using axios or fetch with interceptors for: automatic JWT token attachment, 401 token refresh flow, error normalization, and request/response logging. Create typed service modules (authService, gameService, progressService, curriculumService, userService, notificationsService, reportsService, resourcesService, settingsService) that map to backend endpoints. Include mock data fallbacks for development.

Depends on:#14
Waiting for dependencies
AI 70%
Human 30%
High Priority
1.5 days
Frontend Developer
#27

Build signup registration API

To Do

As a Backend Developer, implement FastAPI routes for user registration: POST /auth/signup (create new user with role: student/teacher/parent, validate email uniqueness, hash password, send verification email), POST /auth/verify-email (verify email token), POST /auth/signup/student (student-specific with grade assignment), POST /auth/link-parent-child (parent links to student via code). Returns JWT token on success. Supports Signup page frontend.

Depends on:#14#12
Waiting for dependencies
AI 65%
Human 35%
High Priority
1.5 days
Backend Developer
#18

Build progress tracking API

To Do

As a Backend Developer, implement FastAPI routes for progress: GET /users/{id}/progress (overall stats: total solved, accuracy, streak), GET /users/{id}/progress/topics (per-topic breakdown with accuracy and mastery), GET /users/{id}/progress/difficulty (difficulty distribution), GET /users/{id}/progress/streak (calendar heatmap data), GET /users/{id}/progress/comparison (vs class average for teachers/parents), GET /users/{id}/progress?grade={g}&period={week|month|all} (filtered). Supports Progress page frontend.

Depends on:#17#12#14
Waiting for dependencies
AI 65%
Human 35%
High Priority
2.5 days
Backend Developer
#19

Build achievements badges API

To Do

As a Backend Developer, implement FastAPI routes for achievements: GET /users/{id}/achievements (all earned badges with metadata), GET /users/{id}/achievements/locked (locked badges with progress %), POST /achievements/check (trigger achievement evaluation after game session), GET /badges (catalog of all available badges with rarity tiers: bronze/silver/gold), GET /users/{id}/achievements/recent (last 5 earned). Auto-award badges based on milestones. Supports Achievements page frontend.

Depends on:#12#17#14
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
2 days
Backend Developer
#29

Integrate Game page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Game page frontend implementation and the Game Session backend API. Ensure: game session is created on entry with correct grade/topic/difficulty params, questions are fetched and rendered properly, answer submissions return correct feedback and score updates, session results are stored and retrievable, and navigation to Results page passes correct session ID. Note: depends on frontend Game page task and tmp_game_api backend task.

Depends on:#26#25#17
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#32

Integrate Curriculum page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Curriculum page frontend and the Curriculum management backend API. Ensure: grades 1-10 load correctly, topics per grade are fetched and editable, difficulty levels can be created and updated, changes persist to the database, and admin-only access is enforced. Note: depends on frontend Curriculum page task and tmp_curriculum_api backend task.

Depends on:#26#16
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#35

Integrate Users page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Users page frontend and the Users management backend API. Ensure: user list loads with correct role filters, edit user form persists changes, permission updates are reflected immediately, admin-only access is enforced, and parent-child relationships can be managed. Note: depends on frontend Users page task and tmp_user_api backend task.

Depends on:#26#15
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#36

Integrate Notifications page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Notifications page frontend and the Notifications backend API. Ensure: notifications list loads with correct read/unread state, mark-as-read updates persist, notification badge count in Navbar reflects unread count, and notification types (achievement, streak, teacher_message) render with correct icons and content.

Depends on:#26#21
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#37

Integrate Signup page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Signup page frontend and the registration backend API. Ensure: form submission creates user with correct role, email validation runs server-side, JWT token is stored in global state on success, student grade assignment persists, and redirect to Dashboard works correctly with role-aware routing.

Depends on:#26#25#27
Waiting for dependencies
AI 50%
Human 50%
High Priority
0.5 days
Tech Lead
#38

Integrate Settings page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Settings page frontend and the Settings backend API. Ensure: profile data pre-populates from API, preference changes persist on save, password change flow validates correctly, admin app-config settings save and apply, and notification preference toggles sync with backend.

Depends on:#26#24
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#39

Integrate Resources page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Resources page frontend and the Resources backend API. Ensure: resource list loads with correct grade/topic filters, teachers can add new resources and they appear immediately, resource type icons and links render correctly, and student access is read-only while teacher/admin can edit.

Depends on:#26#23
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#20

Build dashboard stats API

To Do

As a Backend Developer, implement FastAPI routes for dashboard data: GET /dashboard/student (grade selector, recent activity, progress summary, recommended next challenge), GET /dashboard/teacher (class overview, student list with performance summaries, alerts), GET /dashboard/parent (children list with each child's progress snapshot), GET /dashboard/admin (platform-wide stats: active users, sessions today, top topics). Role-aware endpoint that returns appropriate data per authenticated user role.

Depends on:#14#12#18
Waiting for dependencies
AI 65%
Human 35%
High Priority
2 days
Backend Developer
#22

Build reports export API

To Do

As a Backend Developer, implement FastAPI routes for reports: GET /reports/student/{id} (detailed performance report), GET /reports/class/{teacher_id} (class-level report with per-student breakdown), GET /reports/export?format=csv|pdf&user_id=&period= (export report data), GET /reports/summary (admin platform summary). Reports include accuracy trends, topic mastery, time-on-task, improvement suggestions. Supports Reports page for teachers/admins.

Depends on:#12#14#18
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
2 days
Backend Developer
#28

Build students listing API

To Do

As a Backend Developer, implement FastAPI routes for teacher's student management: GET /teachers/{id}/students (paginated list with grade, performance summary, last_active), GET /teachers/{id}/students/{student_id} (full student profile with progress details), GET /teachers/{id}/students?grade={g}&performance={low|med|high} (filtered), POST /teachers/{id}/students (assign student to teacher's class). Supports Students page for teachers.

Depends on:#14#18#12
Waiting for dependencies
AI 65%
Human 35%
Medium Priority
1.5 days
Backend Developer
#30

Integrate Progress page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Progress page frontend and the Progress tracking backend API. Ensure: overview stats load correctly per user role, topic performance charts render real data, difficulty breakdown chart displays accurate percentages, streak calendar heatmap reflects actual game sessions, grade/period filters update data correctly, and comparison metrics display for teachers/parents. Note: depends on frontend Progress page task and tmp_progress_api backend task.

Depends on:#25#26#18
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#33

Integrate Achievements page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Achievements page frontend and the Achievements backend API. Ensure: earned badges render with correct metadata and dates, locked badges show accurate progress percentage, rarity tiers display correctly, achievement evaluation fires after game sessions, and newly earned badges appear without page refresh. Note: depends on frontend Achievements page task and tmp_achievements_api backend task.

Depends on:#26#19
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#31

Integrate Dashboard page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Dashboard page frontend and the Dashboard stats backend API. Ensure: role-aware data loads correctly (student vs teacher vs parent vs admin views), grade selector updates content, children list renders for parents, student list with summaries loads for teachers, and progress snapshots display accurate data. Note: depends on frontend Dashboard page task and tmp_dashboard_api backend task.

Depends on:#26#20#25
Waiting for dependencies
AI 50%
Human 50%
High Priority
1 day
Tech Lead
#34

Integrate Reports page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Reports page frontend and the Reports backend API. Ensure: report generation fetches correct data for selected student/class, export to CSV/PDF works correctly, filters (topic, period) update report data, and teacher/admin role access is enforced. Note: depends on frontend Reports page task and tmp_reports_api backend task.

Depends on:#22#26
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
#40

Integrate Students page end-to-end

To Do

As a Tech Lead, verify the end-to-end integration between the Students page frontend and the Students listing backend API. Ensure: student list loads with performance summaries, grade/performance filters update results, selecting a student navigates to their progress view with correct data, and teacher-only access is enforced.

Depends on:#28#26
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
0.5 days
Tech Lead
Landing design preview
Landing: View Info
Login: Sign In
Dashboard: View Stats
Curriculum: Manage Content
Curriculum: Select Grade
Curriculum: Edit Topics
Curriculum: Update Levels
Users: Manage Users
Users: Edit User
Settings: Configure App
Settings: Save Changes