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
This commit is contained in:
Marko (Hermes Implementer)
2026-05-26 00:54:27 +00:00
parent b91b7c364e
commit 6867a91b67
28 changed files with 3313 additions and 55 deletions
+3 -3
View File
@@ -2,11 +2,11 @@ FROM node:20-alpine AS base
WORKDIR /app
COPY package.json ./
RUN yarn install --frozen-lockfile
COPY package*.json ./
RUN npm ci
COPY . .
EXPOSE 3000
CMD ["yarn", "dev"]
CMD ["npm", "run", "dev"]