Co jest potrzebne,
żeby Flexa działała.
Landing i dokumentacja są statyczne. Konta, dane i aplikacja wymagają skonfigurowanych usług — nie udajemy, że samo GitHub Pages jest backendem.
Podział hostingu
GitHub Pages: ta strona i dokumentacja, flexa.best. Cloudflare Pages: aplikacja, app.flexa.best. Supabase: konta, prywatna baza Postgres i funkcje do wyszukiwania produktów oraz usuwania konta.
Źródła produktów i kodów
| Źródło | Po co | Warunki |
|---|---|---|
| Open Food Facts | Międzynarodowe produkty EAN/UPC; główne źródło. | Darmowe API i eksporty. ODbL / DbCL, atrybucja i share-alike. Dane społecznościowe, niepełne. |
| USDA FoodData Central | Opcjonalny fallback, zwłaszcza produkty z USA. | CC0. Darmowy klucz API na serwerze. 1000 żądań/h/IP. GTIN musi pasować dokładnie. |
| Własne produkty | Brakujące etykiety i Twoje posiłki. | Prywatne dane użytkownika, bez publikowania połączonej bazy. |
Nie kopiujemy baz Fitatu ani Stravy. Nie pobieramy całego katalogu do przeglądarki i nie scrapujemy API. Przy większej skali należy użyć nocnych eksportów i odpowiednio licencjonowanego publicznego katalogu.
Pozostałe usługi
| Potrzeba | Gdzie | Bezpłatny start i ograniczenia |
|---|---|---|
| Frontend aplikacji | Cloudflare Pages | Free: 500 buildów/miesiąc, do 20 000 plików. Bez funkcji serwerowych Cloudflare w tym projekcie. |
| Konta i baza | Supabase | Free: 500 MB bazy, 50 000 MAU, 5 GB egress. Usypianie po tygodniu bezczynności; brak automatycznych backupów Free. |
| E-maile kont | Brevo SMTP | Free: 300 e-maili dziennie, wspólnie dla wszystkich usług na koncie. Wbudowana poczta Supabase nie jest produkcyjnym rozwiązaniem. |
| Skaner | BarcodeDetector + ZXing | Lokalny odczyt kamery, HTTPS i zgoda użytkownika. Wpisywanie kodu jest zawsze dostępne. |
| Domena i DNS | Twój rejestrator + opcjonalnie Cloudflare DNS | DNS/TLS można mieć bezpłatnie. Zakup i odnowienie flexa.best nie są darmowe. |
| Kopie i kontrola zużycia | Eksport JSON, pg_dump / Supabase CLI, panele dostawców | Backup wymaga bezpiecznego miejsca przechowywania. Nie publikuj danych użytkowników w repozytorium ani artefaktach Actions. |
Co jest zaimplementowane
Rejestracja i logowanie, profil i cele, dziennik kalorii i makro, woda, produkty własne, skaner, ręczne treningi, import GPX/TCX, analizy 7/30/90 dni, pomiary, eksport i usuwanie konta. Tryb demo jest oddzielny i lokalny.
Nie ma zdjęciowego AI, społeczności, segmentów Stravy, nawigacji tras ani natywnego Apple Health/Health Connect. Integracja API Stravy jest wyłączona z uwagi na zakaz aplikacji konkurujących z jej funkcjami.
Jak uruchomić
Dokładne kroki są w instrukcji wdrożenia. Lokalnie potrzebujesz Node.js, npm ci i npm run dev. Demo nie wymaga kluczy. Konta wymagają projektu Supabase, migracji SQL, wdrożenia dwóch funkcji, ustawienia SMTP i informacji o administratorze prywatności.
Publikacja GitHub Pages zawiera także pełne lokalne demo aplikacji. Konta i synchronizacja wymagają osobnego backendu. Ta strona nie tworzy zewnętrznych kont, nie kupuje domeny i nie ustawia DNS. Link do aplikacji z kontami właściciel włącza przez FLEXA_APP_URL po konfiguracji usług.
Nie pomijaj przed publicznym startem
Wybierz region bazy, uzupełnij administratora i kontakt prywatności, skonfiguruj retencję i kopie, zweryfikuj domeny oraz wykonaj próbę dwóch kont. Przejrzyj obowiązki RODO dla danych zdrowotnych. To opis techniczny, nie certyfikat zgodności prawnej.
Research zweryfikowany w źródłach oficjalnych 6 października 2026. Limity usług i regulaminy mogą się zmieniać.