punimtag/admin-frontend
tanyar09 70cfd63ca1
All checks were successful
CI / skip-ci-check (pull_request) Successful in 1m51s
CI / lint-and-type-check (pull_request) Successful in 2m32s
CI / python-lint (pull_request) Successful in 2m16s
CI / test-backend (pull_request) Successful in 4m11s
CI / build (pull_request) Successful in 4m59s
CI / secret-scanning (pull_request) Successful in 1m59s
CI / dependency-scan (pull_request) Successful in 1m58s
CI / sast-scan (pull_request) Successful in 3m7s
CI / workflow-summary (pull_request) Successful in 1m50s
fix: support HTTPS proxy by using relative API paths
- Update API client to use relative paths when VITE_API_URL is empty
- Fix EventSource URLs to use window.location.origin for proxy compatibility
- Update image/video URL construction to use relative paths
- Add debug logging for API response troubleshooting
- All API calls now work correctly when served through HTTPS proxy

This fixes mixed content errors and allows the admin frontend to work
when accessed via HTTPS domain with reverse proxy (Caddy/nginx).
2026-01-23 18:59:46 +00:00
..

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: admin
  • Password: admin

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