Appearance
Quick Start
Prerequisites
- Node.js 20+
- pnpm
- PostgreSQL (Homebrew)
- Docker (for Redis)
cloudflared(optional, for tunnel access)
Setup
bash
# Clone and install
cd mtl-rent
pnpm install
# Create database
createdb mtl_rent
# Start Redis (required for BullMQ job queue)
docker compose up -d
# Run migrations and seed
pnpm db:migrate
pnpm db:seed
# Start all services via pm2
pm2 start pnpm --name "mtl-rent" --cwd /path/to/mtl-rent -- devThis starts all services concurrently:
- API at http://localhost:3001 (Swagger docs at /docs)
- Web at http://localhost:3000
- Admin at http://localhost:3002 (Bull Board at /queues)
- Docs at http://localhost:5174
- Cloudflare Tunnel exposing all services publicly
Demo Accounts
| Role | Password | |
|---|---|---|
| Landlord | landlord@demo.com | password123 |
| Tenant | tenant@demo.com | password123 |
Useful Commands
bash
pm2 status # Check service status
pm2 logs mtl-rent # Watch logs
pm2 restart mtl-rent # Restart after code changes
pnpm db:generate # Generate migrations from schema changes
pnpm db:migrate # Apply migrations
pnpm db:seed # Seed sample data
pnpm db:studio # Open Drizzle Studio
docker compose up -d # Start Redis