# web-cad - Web-based 2D CAD for Event Seating Plans This project is a web-based 2D CAD application for creating event seating plans. ## Project Structure - `frontend/` - React frontend application - `backend/` - Node.js Fastify backend API ## Technology Stack ### Frontend - React 19 - TypeScript 5 - Vite 6 - ESLint & Prettier - Vitest for testing ### Backend - Node.js 22 - Fastify 5 - TypeScript 5 - SQLite database - Yjs for collaborative editing - ESLint & Prettier - Vitest for testing ## Development Setup 1. Install dependencies: ```bash cd frontend && npm install cd ../backend && npm install ``` 2. Start development servers: ```bash # In one terminal cd backend && npm run dev # In another terminal cd frontend && npm run dev ``` ## Docker Setup To run the application with Docker: ```bash # Build and start services docker-compose up --build ``` This will start: - Frontend on http://localhost:8080 - Backend API on http://localhost:3001 - Backend Docs on http://localhost:3001/docs ## Testing Run tests for both frontend and backend: ```bash # Frontend tests cd frontend && npm test # Backend tests cd backend && npm test ```