CI / skip-ci-check (pull_request) Successful in 30s
CI / docker-ci (pull_request) Successful in 32s
CI / python-lint (pull_request) Successful in 32s
CI / secret-scan (pull_request) Successful in 38s
CI / viewer-unit (pull_request) Successful in 1m43s
CI / admin-unit (pull_request) Successful in 2m3s
CI / e2e (pull_request) Failing after 2m49s
Add light/dark toggle, navy gold-accented sidebar, skip link, and clearer titles so admin reads as the same JRCC brand; document UX review and next priorities in ROADMAP.
PunimTag Frontend
React + Vite + TypeScript frontend for PunimTag.
Setup
cd frontend
npm install
Development
Start the dev server:
npm run dev
The frontend will run on http://localhost:3000
Make sure the backend API is running on http://127.0.0.1:8000
Default Login
- Username / password: set
ADMIN_USERNAME/ADMIN_PASSWORDin.env(never commit real values)
Features (Phase 1)
- ✅ Login page with JWT authentication
- ✅ Protected routes with auth check
- ✅ Navigation layout (left sidebar + top bar)
- ✅ Dashboard page (placeholder)
- ✅ Search page (placeholder)
- ✅ Identify page (placeholder)
- ✅ Auto-Match page (placeholder)
- ✅ Tags page (placeholder)
- ✅ Settings page (placeholder)
Project Structure
frontend/
├── src/
│ ├── api/ # API client and endpoints
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ ├── pages/ # Page components
│ ├── App.tsx # Main app component
│ ├── main.tsx # Entry point
│ └── index.css # Tailwind CSS
├── index.html
├── package.json
├── vite.config.ts
└── tailwind.config.js