Files
ocean-cleanup/server/package.json
Paul Bailey 64fe312f01 feat: implement report submission with photo upload and map display
- Fix Prisma client generation and database schema sync issues
- Implement user auto-creation from Clerk authentication
- Add raw SQL queries to handle MySQL POINT spatial fields
- Make password_hash optional for Clerk-only authentication
- Update MapPage to fetch real reports from API
- Add photo display in map popups with full-size modal view
- Configure CORS and Helmet for cross-origin image loading
- Add cleanup tracking task to implementation plan

Fixes report submission 500 errors and enables end-to-end workflow from submission to map display.
2025-11-16 20:01:26 +00:00

44 lines
1.0 KiB
JSON

{
"name": "beach-litter-api",
"version": "1.0.0",
"description": "Backend API for Beach Litter Mapping Platform",
"main": "dist/index.js",
"scripts": {
"dev": "tsx watch src/index.ts",
"build": "tsc",
"start": "node dist/index.js",
"prisma:generate": "prisma generate",
"prisma:migrate": "prisma migrate dev",
"prisma:studio": "prisma studio"
},
"keywords": [
"beach",
"litter",
"environment",
"api"
],
"author": "",
"license": "MIT",
"dependencies": {
"@clerk/clerk-sdk-node": "^5.0.0",
"@prisma/client": "^5.22.0",
"cors": "^2.8.5",
"dotenv": "^16.4.5",
"exifr": "^7.1.3",
"express": "^4.21.1",
"express-validator": "^7.2.0",
"helmet": "^8.0.0",
"multer": "^1.4.5-lts.1",
"zod": "^3.23.8"
},
"devDependencies": {
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/multer": "^1.4.12",
"@types/node": "^22.9.0",
"prisma": "^5.22.0",
"tsx": "^4.19.2",
"typescript": "^5.6.3"
}
}