punimtag/admin-frontend
tanyar09 70923e0ecf
Some checks failed
CI / skip-ci-check (pull_request) Successful in 7s
CI / python-lint (pull_request) Has been cancelled
CI / test-backend (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / secret-scanning (pull_request) Has been cancelled
CI / dependency-scan (pull_request) Has been cancelled
CI / sast-scan (pull_request) Has been cancelled
CI / workflow-summary (pull_request) Has been cancelled
CI / lint-and-type-check (pull_request) Has been cancelled
feat: Enhance photo and video handling in admin frontend
- Added media_type to PhotoSearchResult interface to distinguish between images and videos.
- Updated PhotoViewer component to support video playback, including URL handling and preloading logic.
- Modified openPhoto function in Search page to open videos correctly.
- Enhanced backend API to serve video files with range request support for better streaming experience.

These changes improve the user experience by allowing seamless viewing of both images and videos in the application.
2026-01-28 17:45:45 +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