Implement: User Authentication – Separate Login and Register Pages #12

Merged
crisleo94 merged 5 commits from feature/user-auth into main 2026-05-26 20:25:06 +00:00
5 Commits
Author SHA1 Message Date
Marko (Hermes Implementer) 48db53c95d Merge branch 'main' into feature/user-auth
Resolved merge conflicts integrating PR #13 (Home Page with MUI v2):

Backend changes:
- settings.py: Combined INSTALLED_APPS (accounts + jobs + corsheaders),
  kept HEAD's REST_FRAMEWORK (AllowAny + throttling) and SIMPLE_JWT,
  added origin/main's CORS config
- urls.py: Combined admin/, api/auth/, api/ routes
- pyproject.toml: Combined all dependencies (simplejwt + cors-headers)
- uv.lock: Regenerated with updated dependencies

Frontend changes:
- package.json: Combined all deps (axios + MUI + emotion)
- App.tsx: Integrated AuthProvider with MUI AppLayout, all routes
- HomePage.tsx: Show landing view when unauthenticated, MUI dashboard
  when authenticated
- main.tsx, tsconfig.json, vite-env.d.ts: Combined both versions
- yarn.lock: Kept origin/main's version (regenerated on install)
2026-05-26 19:07:02 +00:00
Marko (Hermes Implementer) 9846f823b3 fix: migrate inline styles to CSS modules per review feedback 2026-05-26 17:04:58 +00:00
Marko (Hermes Implementer) e6e6c92c28 fix: review issues - add rate limiting for auth views, add __str__ to User model 2026-05-26 06:07:58 +00:00
Marko (Hermes Implementer) fc0531395d feat: complete user authentication with separate login and register pages 2026-05-26 04:35:27 +00:00
Marko (Hermes Implementer) 6867a91b67 feat: add user authentication with separate login and register pages
- Custom User model with email as unique identifier (AUTH_USER_MODEL)

- POST /api/auth/register/ with email validation, password min 8 chars, duplicate rejection

- POST /api/auth/login/ returning JWT (access + refresh) tokens

- Passwords hashed via Django's make_password

- React LoginPage and RegisterPage with form validation

- AuthContext with useReducer for auth state management

- Axios API client with JWT token injection

- TypeScript conversion of frontend scaffold
2026-05-26 00:54:27 +00:00