AlkoRater to nowoczesna, w pełni responsywna aplikacja typu Progressive Web App (PWA), zaprojektowana z myślą o użytkownikach mobilnych. Oferuje interfejs inspirowany stylem iOS (szkło, płynne animacje, haptyka), pozwalając na szybkie wyszukiwanie i ocenianie ulubionych alkoholi.
Aplikacja działa w 100% offline, przechowując wszystkie Twoje oceny i notatki lokalnie na urządzeniu. Żadnych serwerów, żadnych reklam, pełna prywatność.
- 📱 Zainstaluj jako aplikację (PWA): Dodaj do ekranu głównego i używaj jak natywnej aplikacji bez pobierania ze sklepu.
- ⚡ Działa bez internetu: Baza produktów i Twoje oceny są dostępne zawsze i wszędzie dzięki IndexedDB i Service Workers.
- 🎨 Wygląd Premium: Głęboki tryb ciemny (Dark Mode), rozmycia (Glassmorphism), dynamiczne tła i płynne mikro-animacje.
- 🔍 Błyskawiczna wyszukiwarka: Optymalizowane filtrowanie produktów bez opóźnień.
- ⭐ System ocen: Skala 1-5 gwiazdek z możliwością dodawania własnych notatek do każdego trunku.
- 📊 Inteligentny Dashboard: Statystyki Twoich ocen, ulubione kategorie, najnowsze odkrycia i dynamiczne powitania zależne od pory dnia.
- 🔄 Undo (Cofnij): Bezpieczne usuwanie ocen z 4-sekundowym czasem na cofnięcie operacji (Undo pattern).
Projekt zbudowany celowo bez ciężkich frameworków (No-Framework), stawiając na szybkość, bliskość platformy webowej i nowoczesne API przeglądarek.
- Frontend: Vanilla HTML5, CSS3 (zmienne CSS, flexbox, CSS Grid), Vanilla JavaScript (ES6+).
- Storage:
IndexedDB(przechowywanie ocen użytkownika z transakcjami),localStorage. - Offline & Cache: Service Worker API, Web App Manifest.
- Ikony: Lucide Icons.
- Narzędzia developerskie: ESLint, Stylelint, Prettier, Vite (jako dev-server), Vitest (do testów jednostkowych).
AlkoRater jest aplikacją statyczną. Do pracy nad kodem używamy Node.js w celu zapewnienia lintingu i lokalnego serwera deweloperskiego.
-
Sklonuj repozytorium:
git clone https://github.com/t91a60/AlkoRater.git cd AlkoRater -
Zainstaluj zależności narzędziowe:
npm install
-
Uruchom serwer developerski (Vite):
npm run dev
-
Lintowanie i Testowanie:
npm run lint # Sprawdza JS i CSS npm run test # Uruchamia testy jednostkowe (Vitest)
Ponieważ aplikacja nie wymaga procesu budowy (build step), możesz ją zaserwować dowolnym statycznym serwerem HTTP, np.:
npx serve . -p 3000
# lub
python3 -m http.server 3000Ten projekt jest objęty licencją MIT. Szczegóły znajdują się w pliku LICENSE.