Agent 2 - Database Integration (P0 Critical): - Add Prisma ORM with PostgreSQL for persistent data storage - Create comprehensive database schema with 20+ models: - User & authentication models - Plant & lineage tracking - Transport events & supply chain - Vertical farming (farms, zones, batches, recipes) - Demand & market matching - Audit logging & blockchain storage - Implement complete database service layer (lib/db/): - users.ts: User CRUD with search and stats - plants.ts: Plant operations with lineage tracking - transport.ts: Transport events and carbon tracking - farms.ts: Vertical farm and crop batch management - demand.ts: Consumer preferences and market matching - audit.ts: Audit logging and blockchain integrity - Add PlantChainDB for database-backed blockchain - Create development seed script with sample data - Add database documentation (docs/DATABASE.md) - Update package.json with Prisma dependencies and scripts This provides the foundation for all other agents to build upon with persistent, scalable data storage.
56 lines
1.7 KiB
JSON
56 lines
1.7 KiB
JSON
{
|
|
"name": "localgreenchain",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"license": "MIT",
|
|
"scripts": {
|
|
"dev": "next dev -p 3001",
|
|
"build": "next build",
|
|
"start": "next start -p 3001",
|
|
"preview": "bun run build && bun run start",
|
|
"lint": "next lint",
|
|
"test": "jest",
|
|
"test:watch": "jest --watch",
|
|
"test:coverage": "jest --coverage",
|
|
"cy:open": "cypress open",
|
|
"cy:run": "cypress run",
|
|
"test:e2e": "start-server-and-test 'bun run preview' http://localhost:3001 cy:open",
|
|
"test:e2e:ci": "start-server-and-test 'bun run preview' http://localhost:3001 cy:run",
|
|
"db:generate": "prisma generate",
|
|
"db:push": "prisma db push",
|
|
"db:migrate": "prisma migrate dev",
|
|
"db:migrate:prod": "prisma migrate deploy",
|
|
"db:seed": "bun run prisma/seed.ts",
|
|
"db:studio": "prisma studio"
|
|
},
|
|
"dependencies": {
|
|
"@prisma/client": "^5.7.0",
|
|
"@tailwindcss/forms": "^0.4.0",
|
|
"@tailwindcss/typography": "^0.5.1",
|
|
"@tanstack/react-query": "^4.0.10",
|
|
"classnames": "^2.3.1",
|
|
"drupal-jsonapi-params": "^1.2.2",
|
|
"html-react-parser": "^1.2.7",
|
|
"next": "^12.2.3",
|
|
"next-drupal": "^1.6.0",
|
|
"nprogress": "^0.2.0",
|
|
"react": "^17.0.2",
|
|
"react-dom": "^17.0.2",
|
|
"react-hook-form": "^7.8.6",
|
|
"socks-proxy-agent": "^8.0.2"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.12.9",
|
|
"@types/jest": "^29.5.0",
|
|
"@types/node": "^17.0.21",
|
|
"@types/react": "^17.0.0",
|
|
"autoprefixer": "^10.4.2",
|
|
"eslint-config-next": "^12.0.10",
|
|
"jest": "^29.5.0",
|
|
"postcss": "^8.4.5",
|
|
"prisma": "^5.7.0",
|
|
"tailwindcss": "^3.0.15",
|
|
"ts-jest": "^29.1.0",
|
|
"typescript": "^4.5.5"
|
|
}
|
|
}
|