This is a monorepo with:
apps/client- React + Vite frontendapps/server- Node.js + Express + WebSocket backendpackages/*- shared packages used by apps
- TypeScript
- React
- React-Leaflet
- MobX
- MUI
- Node.js
- WebSocket
- Auth via password + token
- 100-200 moving objects
- Smart city targeting
- Danger zones
- Lost + recovery logic
- Real-time updates
- Node.js 18+
- npm 9+
- Git
git clone https://github.com/Saharij/deviro-test-task.git
cd deviro-test-taskFrom the repo root:
npm installFrom the repo root:
npm run devThis starts both apps in parallel:
- Client:
http://localhost:5173 - Server:
http://localhost:3001
- Open
http://localhost:5173 - Login with password:
secret1111
After login, the client receives a token and connects to server WebSocket updates.
From the root:
npm run devFrom individual workspaces:
npm run dev -w client
npm run dev -w server- If ports are busy, stop other processes using
3001or5173. - If dependencies are broken, remove
node_modulesand reinstall:
rm -rf node_modules
npm install