mirror of
https://github.com/bilalmk/todo_correct.git
synced 2026-09-19 06:05:23 +08:00
d847a50369
Complete implementation of authentication system for Todo Evolution Hackathon Phase II: Backend (FastAPI): - User registration and login endpoints with JWT authentication - Argon2id password hashing and HS256 JWT signing - Rate limiting (5/min login, 100/min global) to prevent brute force - Security headers (HSTS, CSP, X-Frame-Options, etc.) - Structured JSON logging with request ID tracking - Database migrations with Alembic - Connection pooling and async operations - 57 unit and integration tests (pytest) Frontend (Next.js 16): - Registration and login pages with form validation - Dashboard with protected routes - Reusable UI components (Input, Button, ErrorMessage) - Middleware for authentication and authorization - Accessibility features (ARIA labels, keyboard navigation) - 13 E2E tests with Playwright Testing & Quality: - 70 total automated tests (100% passing) - 80%+ test coverage (constitutional requirement met) - Security validation (password hashing, JWT, rate limiting) - Accessibility testing (ARIA, keyboard navigation) Tech Stack: - Backend: Python FastAPI, SQLModel, Neon PostgreSQL, Alembic - Frontend: Next.js 16 (App Router), TypeScript, Tailwind CSS - Auth: Better Auth patterns with JWT - Testing: pytest, pytest-cov, Playwright Constitutional Compliance: ✅ 80%+ test coverage ✅ Type safety throughout ✅ Security best practices ✅ Documentation inline ✅ Spec-driven development 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
46 lines
848 B
JSON
46 lines
848 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2020",
|
|
"lib": [
|
|
"dom",
|
|
"dom.iterable",
|
|
"esnext"
|
|
],
|
|
"allowJs": true,
|
|
"skipLibCheck": true,
|
|
"strict": true,
|
|
"noEmit": true,
|
|
"esModuleInterop": true,
|
|
"module": "esnext",
|
|
"moduleResolution": "bundler",
|
|
"resolveJsonModule": true,
|
|
"isolatedModules": true,
|
|
"jsx": "react-jsx",
|
|
"incremental": true,
|
|
"plugins": [
|
|
{
|
|
"name": "next"
|
|
}
|
|
],
|
|
"paths": {
|
|
"@/*": [
|
|
"./src/*"
|
|
]
|
|
},
|
|
"forceConsistentCasingInFileNames": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"noFallthroughCasesInSwitch": true
|
|
},
|
|
"include": [
|
|
"next-env.d.ts",
|
|
"**/*.ts",
|
|
"**/*.tsx",
|
|
".next/types/**/*.ts",
|
|
".next/dev/types/**/*.ts"
|
|
],
|
|
"exclude": [
|
|
"node_modules"
|
|
]
|
|
}
|