Full-stack web application for C2PA content credentials management. - Backend: Fastify + TypeScript + Drizzle ORM + @contentauth/c2pa-node - Frontend: React 19 + Vite + Tailwind CSS 4 + Montserrat/Gold theme - Auth: JWT with 3 roles (viewer, stamper, admin) - C2PA: Sign files with X.509 certs, verify manifests, custom OMG metadata - Admin: Manage users, platforms (OMG, Pencil), 29 AI models - Docker: PostgreSQL 16, Node.js 22 backend, nginx frontend - Ports: Frontend 3050, Backend 8050, PostgreSQL 5470 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
37 lines
927 B
JSON
37 lines
927 B
JSON
{
|
|
"name": "frontend",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"lint": "eslint .",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"clsx": "^2.1.1",
|
|
"lucide-react": "^0.575.0",
|
|
"react": "^19.2.0",
|
|
"react-dom": "^19.2.0",
|
|
"react-dropzone": "^15.0.0",
|
|
"react-router-dom": "^7.13.1",
|
|
"tailwind-merge": "^3.5.0"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.39.1",
|
|
"@tailwindcss/vite": "^4.2.1",
|
|
"@types/node": "^24.10.1",
|
|
"@types/react": "^19.2.7",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react": "^5.1.1",
|
|
"eslint": "^9.39.1",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"eslint-plugin-react-refresh": "^0.4.24",
|
|
"globals": "^16.5.0",
|
|
"tailwindcss": "^4.2.1",
|
|
"typescript": "~5.9.3",
|
|
"typescript-eslint": "^8.48.0",
|
|
"vite": "^7.3.1"
|
|
}
|
|
}
|