69 lines
1.2 KiB
Markdown
69 lines
1.2 KiB
Markdown
|
|
# 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
|
||
|
|
```
|