Jednoduchá React aplikácia na odoslanie údajov o zariadení (UUID a stav batérie) na endpoint POST /api/ping.
- Formulár s poľami uuid (text) a battery_percent (číslo 0–100)
- Validácia na fronte (povinné polia, rozsah batérie)
- Odoslanie cez
fetchna/api/ping - Loading stav pri odosielaní
- Správy o úspechu (
Data sent successfully) alebo chybe
- React (funkčné komponenty,
useState) - TypeScript
- React Router (vrátane serverového endpointu
/api/pingpre lokálny vývoj) - Tailwind CSS
- Vitest (testy validácie)
npm installnpm run devAplikácia beží na http://localhost:5173.
Skopíruj .env.example do .env a nastav URL backendu:
cp .env.example .env# Prázdne = lokálny handler v app/routes/api.ping.ts
VITE_API_URL=
# Externý backend:
# VITE_API_URL=http://localhost:3000URL sa používa v app/api/ping.ts → {VITE_API_URL}/api/ping.
npm testnpm run typechecknpm run buildapp/
├── api/ping.ts # API volanie (fetch)
├── components/
│ ├── DevicePingForm.tsx # Hlavný formulár
│ └── StatusMessage.tsx # Success / error správa
├── lib/
│ ├── validation.ts # Validácia formulára
│ └── validation.test.ts # Unit testy validácie
└── routes/
├── home.tsx # Domovská stránka
└── api.ping.ts # Serverový handler POST /api/ping
Request
POST /api/ping
Content-Type: application/json
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"battery_percent": 85
}
Response (200)
{
"message": "Data sent successfully"
}