Full-stack short-term rental management platform with: - React/Vite frontend with dark theme dashboard, performance, pricing, reservations, experiments, and settings pages - Fastify API server with auth, platform management, performance tracking, pricing, reservations, experiments, and weekly report endpoints - Playwright-based scraper service with Airbnb adapter (login with MFA, performance metrics, reservations, calendar pricing, price changes) - VRBO adapter scaffold and mock adapter for development - PostgreSQL with Drizzle ORM, migrations, and seed scripts - Job queue with worker for async scraping tasks - AES-256-GCM credential encryption for platform credentials - Session cookie persistence for scraper browser sessions - Docker Compose for PostgreSQL database Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
42 lines
1.1 KiB
JSON
42 lines
1.1 KiB
JSON
{
|
|
"name": "@str/api",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "tsx watch src/index.ts",
|
|
"build": "tsc",
|
|
"start": "node dist/index.js",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "drizzle-kit migrate",
|
|
"db:seed": "tsx src/db/seed.ts",
|
|
"db:seed:demo": "tsx src/db/seed-demo.ts",
|
|
"db:seed:clean": "tsx src/db/seed-clean.ts",
|
|
"db:restore:demo": "psql $DATABASE_URL < src/db/demo-seed.sql"
|
|
},
|
|
"dependencies": {
|
|
"@str/shared-types": "*",
|
|
"fastify": "^5.2.0",
|
|
"@fastify/cors": "^10.0.0",
|
|
"@fastify/cookie": "^11.0.0",
|
|
"@fastify/jwt": "^9.0.0",
|
|
"drizzle-orm": "^0.38.0",
|
|
"postgres": "^3.4.0",
|
|
"bcrypt": "^5.1.1",
|
|
"node-cron": "^3.0.3",
|
|
"nodemailer": "^6.9.0",
|
|
"zod": "^3.24.0",
|
|
"dotenv": "^16.4.0",
|
|
"fastify-plugin": "^5.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcrypt": "^5.0.2",
|
|
"@types/node": "^22.0.0",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/nodemailer": "^6.4.17",
|
|
"drizzle-kit": "^0.30.0",
|
|
"tsx": "^4.19.0",
|
|
"typescript": "^5.7.0"
|
|
}
|
|
}
|