| Day | Task | Start | Complete | Reference |
|---|---|---|---|---|
| Mon | Implement Profile Use Cases & Handlers: - use_cases/profile/get_profile.py, update_profile.py, complete_onboarding.py- handlers/profile/get.py - GET /profile- handlers/profile/update.py - PUT /profile- Deploy and test | 30/03/2026 | 30/03/2026 | Lambda Handlers |
| Tue | Implement Flashcard Backend: - Flashcard use cases (CRUD + SRS logic) - use_cases/flashcard/create_flashcard.py, list_flashcards.py, review_flashcard.py- SM-2 algorithm implementation - Lambda handlers for flashcard endpoints | 31/03/2026 | 31/03/2026 | SM-2 Algorithm |
| Wed | Setup Next.js Project & UI Components: - Create Next.js 16 app with App Router - Configure TypeScript, Tailwind CSS, Shadcn/ui - Layout components (Header, Sidebar, Footer) - Auth components (LoginForm, SignupForm) - Button, Input, Card from Shadcn/ui | 01/04/2026 | 01/04/2026 | Next.js Documentation |
| Thu | Implement Auth Pages & API Client: - /app/auth/login/page.tsx, /app/auth/signup/page.tsx- Integrate with Cognito Hosted UI - lib/api-client.ts - Axios wrapper- Token management - Protected route middleware | 02/04/2026 | 02/04/2026 | Next.js Authentication |
| Fri | Deploy Frontend: - Setup AWS Amplify Hosting - Configure build settings - Environment variables - Deploy and test production build | 03/04/2026 | 03/04/2026 | Amplify Hosting |
1. Backend APIs:
GET /profile - Get user profilePUT /profile - Update profilePOST /profile/onboarding - Complete onboardingPOST /flashcards - Create flashcardGET /flashcards - List user’s flashcardsGET /flashcards/{id} - Get flashcard detailPUT /flashcards/{id} - Update flashcardDELETE /flashcards/{id} - Delete flashcardPOST /flashcards/{id}/review - Review flashcard (SRS)2. SM-2 Algorithm:
3. Frontend Foundation:
4. Authentication UI:
5. Deployment:
lexi-fe/
├── app/
│ ├── (auth)/
│ │ ├── login/
│ │ └── signup/
│ ├── (dashboard)/
│ │ ├── layout.tsx
│ │ ├── page.tsx (Dashboard)
│ │ ├── profile/
│ │ └── flashcards/
│ └── layout.tsx
├── components/
│ ├── ui/ (Shadcn components)
│ ├── auth/
│ ├── layout/
│ └── flashcards/
├── lib/
│ ├── api-client.ts
│ ├── auth.ts
│ └── utils.ts
└── types/
└── api.ts
| Feature | Backend | Frontend | Status |
|---|---|---|---|
| Signup | ✅ | ✅ | Working |
| Login | ✅ | ✅ | Working |
| Get Profile | ✅ | ✅ | Working |
| Update Profile | ✅ | ✅ | Working |
| Create Flashcard | ✅ | ✅ | Working |
| List Flashcards | ✅ | ✅ | Working |
| Review Flashcard | ✅ | 🚧 | In Progress |
Backend:
Frontend:
Backend:
| Endpoint | Avg Response Time | P95 | P99 |
|---|---|---|---|
| GET /profile | 45ms | 120ms | 180ms |
| PUT /profile | 65ms | 150ms | 220ms |
| POST /flashcards | 55ms | 140ms | 200ms |
| GET /flashcards | 70ms | 180ms | 280ms |
Frontend:
Challenge 1: CORS issues between frontend and API Gateway
Challenge 2: Complex token refresh logic
Challenge 3: Next.js App Router learning curve
Challenge 4: SM-2 algorithm edge cases
Challenge 5: Some bugs when integrating frontend-backend