Aplikacja logopedyczna dla dzieci i terapeutów
Duolingo dla logopedii — codzienne ćwiczenia, gamifikacja, śledzenie postępów
LogoPed to aplikacja webowa (PWA) wspierająca pracę logopedów i ich małych pacjentów. Dzieci ćwiczą codziennie z pomocą animowanej papugi 🦜, zdobywają punkty i odznaki — tak jak w grze. Logopedzi tworzą spersonalizowane plany ćwiczeń i śledzą postępy pacjentów w czasie rzeczywistym.
| Użytkownik | Co robi w aplikacji |
|---|---|
| 🏥 Admin | Zarządza kontami logopedów, licencjami, bazą ćwiczeń |
| 👩⚕️ Logopeda | Tworzy plany ćwiczeń, przydziela pacjentom, śledzi postępy |
| 🧒 Dziecko/Pacjent | Wykonuje ćwiczenia, zdobywa nagrody, widzi papugę |
| 👨👩👧 Rodzic | Pomaga dziecku, widzi postępy i harmonogram |
- 🎯 Ćwiczenia na dziś — lista z dużymi ikonami, gwiazdki postępu
- 🎵 Dźwięki — ding przy każdym powtórzeniu, fanfara po sesji
- 🔄 Powtarzanie — opcja powtórzenia ukończonego ćwiczenia
- 🏆 Gamifikacja — punkty, poziomy, seria dni, odznaki
- 🦜 Papuga Lolo — maskotka z pełnym panelem statystyk
- 📋 Kreator planów — drag & drop, notatki dla każdego ćwiczenia
- 📊 Postępy pacjentów — kalendarz, streak, alerty nieaktywności
- 📚 Baza ćwiczeń — 50+ publicznych ćwiczeń + własne
- ⏰ Harmonogramy — dni tygodnia, godzina przypomnienia
- 👥 Zarządzanie logopedami i licencjami
- 📖 Zarządzanie publiczną bazą ćwiczeń
- 📈 Statystyki globalne systemu
Frontend Next.js 14 (App Router) + Tailwind CSS + Framer Motion
Backend Supabase (PostgreSQL + Auth + Storage + Realtime)
PWA next-pwa + Web Push API (VAPID)
Hosting Fly.io (region: Frankfurt)
Testy Playwright E2E
CI/CD GitHub Actions → flyctl deploy
Dźwięki Web Audio API (bez zewnętrznych bibliotek)
Kliknij przycisk "🦜 Wejdź jako demo" na stronie logowania — zobaczysz widok dziecka z przykładowymi ćwiczeniami, gamifikacją i papugą Lolo.
logoped/
├── app/
│ ├── admin/ # Panel admina (RLS: rola admin)
│ ├── logopeda/ # Panel logopedy (RLS: rola therapist)
│ ├── pacjent/ # Panel pacjenta (RLS: rola patient)
│ └── api/ # Route Handlers (auth, push, demo)
├── components/
│ ├── patient/ # ExerciseView, ExerciseList, TodayHeader, PatientNav
│ └── therapist/ # TherapistNav, PlanBuilder
├── lib/
│ ├── demoProgress.ts # localStorage postęp dla demo
│ ├── demoStats.ts # localStorage fake stats dla demo
│ └── sounds.ts # Web Audio API
└── supabase/
└── migrations/ # 001_profiles.sql ... 007_licenses.sql
Każda tabela ma włączone RLS. Pacjent widzi tylko swoje dane, logopeda widzi pacjentów których obsługuje, admin widzi wszystko.
# Klonuj repo
git clone https://github.com/kapoost/logoped.git
cd logoped
# Zainstaluj zależności
npm install
# Skonfiguruj środowisko
cp .env.example .env.local
# Uzupełnij klucze Supabase i VAPID
# Uruchom lokalnie
npm run dev- Node.js 20+
- Konto Supabase (free tier wystarczy)
- Konto Fly.io (free tier wystarczy)
# Uruchom wszystkie testy E2E
TEST_BASE_URL=https://logoped.fly.dev npx playwright test
# Konkretny projekt
npx playwright test --project=patient
npx playwright test --project=integrationStan testów: setup ✅ | public ✅ | integration ✅ | admin ✅ | therapist ✅ | patient ✅ | api ✅ | demo ✅
- MVP — logopeda przydziela → dziecko ćwiczy → oboje widzą postępy
- Gamifikacja — punkty, serie, poziomy, odznaki, papuga
- PWA — offline, push notifications, instalacja na ekranie głównym
- Demo konto — bez rejestracji
- Nagrania audio/wideo — pacjent nagrywa, logopeda weryfikuje
- App Store — Google Play (TWA) + Apple App Store (Capacitor)
Projekt prywatny. Wszelkie prawa zastrzeżone.
Zbudowane z ❤️ dla małych logopedów i ich terapeutów