NutriJoy is a premium, mobile-first Progressive Web Application (PWA) designed to be a comprehensive nutrition, fitness, and holistic wellness tracking companion. It combines state-of-the-art web capabilities with rich glassmorphism aesthetics, fluid micro-animations, and personalized AI-driven health insights to help you track and optimize your daily wellness rituals.
- 🥗 Advanced Food Logging: Log meals, track daily calories, water intake, and detailed macronutrients/micronutrients. Supports international decimal commas for natural entry.
- ⚡ AI Wellness Coach: Dynamic, context-aware AI insights engine offering tailored wellness suggestions and daily nudges based on your logs.
- 🏃♀️ Activity Tracking: Track active minutes, customized workout cards, and weekly exercise trends with modern graphical reports.
- 🛌 Sleep & Recovery: Deep logs for sleep duration, quality, sleep scheduling, and trends.
- 🩸 Cycle Tracker: Built-in holistic tracker for cycles and physiological wellness.
- 🧘 Self-Care Rituals: Interactive, daily checklist for mindfulness, hydration, steps, and mental fitness.
- 📶 PWA & Offline Capability: Built on Serwist for persistent caching, instant loads, and reliable offline capabilities even in zero-connectivity environments.
- Framework: Next.js 16 (App Router, Turbopack)
- Runtime & UI: React 19, Framer Motion, Radix UI Primitives, Lucide Icons, Canvas Confetti
- Styling: Tailwind CSS (Tailwind CSS Animate)
- Data Visualization: Recharts
- PWA Service Worker: Serwist
- Quality & Type Safety: TypeScript 5, ESLint 9, Zod
Ensure you have Node.js installed (LTS recommended).
-
Clone the repository:
git clone https://github.com/nichsedge/nutrijoy.git cd nutrijoy -
Install dependencies:
npm install
-
Run the development server:
npm run dev
Open http://localhost:9002 in your browser to explore the dashboard.
Run the following checks locally before contributing or opening a PR:
- Typecheck: Verify TypeScript static analysis.
npm run typecheck
- Lint: Run ESLint for syntax cleanliness.
npm run lint
- Test: Execute the test runner using tsx.
npm run test
This project is licensed under the MIT License - see the LICENSE file for details.
