initial project setup

Fastify + Prisma backend, React + Vite frontend, Docker deployment.
Multi-board feedback platform with anonymous cookie auth, passkey
upgrade path, ALTCHA spam protection, plugin system, and full
privacy-first architecture.
This commit is contained in:
2026-03-19 18:05:16 +02:00
commit f07eddf29e
77 changed files with 7031 additions and 0 deletions

42
packages/api/package.json Normal file
View File

@@ -0,0 +1,42 @@
{
"name": "@echoboard/api",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"dev": "tsx watch src/index.ts",
"build": "tsc",
"start": "node dist/index.js",
"db:migrate": "prisma migrate dev",
"db:generate": "prisma generate",
"db:deploy": "prisma migrate deploy",
"create-admin": "tsx src/cli/create-admin.ts"
},
"dependencies": {
"@fastify/cookie": "^11.0.0",
"@fastify/cors": "^10.0.0",
"@fastify/rate-limit": "^10.0.0",
"@fastify/static": "^8.0.0",
"@prisma/client": "^6.0.0",
"@simplewebauthn/server": "^11.0.0",
"altcha-lib": "^0.5.0",
"bcrypt": "^5.1.0",
"fastify": "^5.0.0",
"fastify-plugin": "^5.0.0",
"jsonwebtoken": "^9.0.0",
"node-cron": "^3.0.0",
"rss": "^1.2.0",
"web-push": "^3.6.0",
"zod": "^3.23.0"
},
"devDependencies": {
"@types/bcrypt": "^5.0.0",
"@types/jsonwebtoken": "^9.0.0",
"@types/node": "^22.0.0",
"@types/web-push": "^3.6.0",
"prisma": "^6.0.0",
"tsx": "^4.19.0",
"typescript": "^5.7.0"
}
}