Wróć do projektów

Fitston — licznik kalorii, który nie przeszkadza

Aplikacja PWA do śledzenia kalorii i makroskładników, stworzona od zera — bo żadna dostępna aplikacja nie działała tak, jak powinna. Case study jest w trakcie rozbudowy wraz z rozwojem produktu.

PWANext.jsTypeScriptMongoDB

Problem

Dostępne aplikacje do liczenia kalorii były powolne, ciężkie i wymagały stałego połączenia z siecią. Bazy produktów bywały niekompletne, a śledzenie makroskładników — niewygodne.

Rozwiązanie

Minimalistyczne PWA działające w przeglądarce: szybkie, z rozbudowaną bazą produktów i pełnym profilem odżywczym — od energii, przez tłuszcze i węglowodany, po 12 minerałów i 14 witamin.

Architektura

Next.js na froncie, Fastify na backendzie, MongoDB jako baza danych. Klient i serwer wymieniają dane przez REST API z autoryzacją JWT.

Client — Next.js PWA

React + TypeScript + Sass. Interfejs działający w przeglądarce, z możliwością instalacji na urządzeniu.

Server — Fastify

REST API z helmet, rate-limit i sanityzacją danych MongoDB (ochrona przed NoSQL injection).

Kluczowe funkcje

To, co odróżnia Fitstona od typowego licznika kalorii.

Skaner kodów kreskowych

Dodawanie produktów z półki w kilka sekund — bez ręcznego wpisywania.

Pełny profil odżywczy

265 produktów w bazie, każde z pełnym profilem: energia, tłuszcze (w tym omega-3/6/9), błonnik, białka, 12 minerałów i 14 witamin.

Cele makroskładników

Konfigurowalne cele kcal, białka, tłuszczów i węglowodanów — z podziałem na gramy i procenty.

Zobacz, jak to wygląda

Screenshoty z produkcji — bez stockowych grafik, prawdziwe ekrany działania systemu.

Fitston — calorie tracker app
Fitston — main dashboard
Fitston — products list
Fitston — adding a new product
Fitston — product details
Fitston — settings

Stack technologiczny

TypeScriptNext.jsReactPWASassFastifyMongoDBChart.js

Stan projektu

265produktów w bazie
26składników odżywczych per produkt