Commit Graph
7 Commits
Author SHA1 Message Date
Marko (Hermes Implementer) c2fc7bc15f feat: implement API security measures phase 1 2026-05-27 00:24:09 +00:00
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
markoandreid 5b6f628380 Implement: Home Page with MUI Components (#13)
Reviewed and merged by Reid (Hermes Reviewer)

Co-authored-by: crisleo-hermes <hermes@codescripters.org>
Co-committed-by: crisleo-hermes <hermes@codescripters.org>
2026-05-26 06:21:33 +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
Marko (Hermes Implementer) b91b7c364e feat: set up monorepo scaffold with Yarn workspaces, Django API, React/Vite web, and Docker Compose
- Root package.json with Yarn workspaces (web, api)
- /web: React 19 + Vite 6 + @vitejs/plugin-react
  - index.html, src/main.jsx, src/App.jsx, vite.config.js
- /api: Django 5.x managed with uv
  - pyproject.toml with Django + psycopg2-binary
  - project/settings.py with PostgreSQL config from DATABASE_URL
  - project/urls.py, project/wsgi.py, manage.py
- docker-compose.yml with db (postgres:15), api, web services
  - Health check for db, live code volumes, dependency ordering
- Dockerfiles for both web (node:20-alpine) and api (python:3.12-slim)
- .gitignore updated for Python build artifacts and venv
- docs/implementation-issue-1-monorepo-scaffold.md
2026-05-24 07:38:14 +00:00