managarten/services/mana-media/apps/api/package.json
Till-JS 90c2f8573e feat(photos): add Photos app with mana-media EXIF integration
- Add Photos NestJS backend (port 3019) with albums, favorites, tags
- Add Photos SvelteKit web app (port 5189) with gallery, upload, filters
- Extend mana-media with EXIF extraction service using exifr
- Add cross-app photo listing endpoint to mana-media
- Add photo stats endpoint to mana-media
- Add photos to setup-databases.sh

Backend features:
- Albums CRUD with cover image and items management
- Favorites toggle with status check
- Tags CRUD with photo-tag associations
- Photo proxy to mana-media with local data enrichment

Web features:
- Photo grid with infinite scroll
- Photo detail modal with EXIF display
- Album grid and detail views
- Upload dropzone with progress tracking
- Filter bar (app, date range, location, sort)
- i18n support (de/en)
- Svelte 5 runes mode

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-11 17:58:44 +01:00

44 lines
1.1 KiB
JSON

{
"name": "@mana-media/api",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "nest start --watch",
"build": "nest build",
"start": "nest start",
"start:prod": "node dist/main",
"type-check": "tsc --noEmit",
"lint": "eslint 'src/**/*.ts'",
"db:push": "drizzle-kit push",
"db:studio": "drizzle-kit studio"
},
"dependencies": {
"@nestjs/bullmq": "^11.0.0",
"@nestjs/common": "^11.0.0",
"@nestjs/config": "^3.3.0",
"@nestjs/core": "^11.0.0",
"@nestjs/platform-express": "^11.0.0",
"bullmq": "^5.34.0",
"drizzle-orm": "^0.38.3",
"express": "^4.21.0",
"mime-types": "^2.1.35",
"minio": "^8.0.0",
"postgres": "^3.4.5",
"reflect-metadata": "^0.2.0",
"rxjs": "^7.8.0",
"sharp": "^0.33.0",
"uuid": "^11.0.0",
"exifr": "^7.1.3"
},
"devDependencies": {
"@manacore/shared-drizzle-config": "workspace:*",
"@nestjs/cli": "^11.0.0",
"@types/express": "^5.0.0",
"@types/mime-types": "^2.1.4",
"@types/multer": "^2.0.0",
"@types/node": "^22.0.0",
"@types/uuid": "^10.0.0",
"drizzle-kit": "^0.30.1",
"typescript": "^5.7.0"
}
}