A comprehensive health and nutrition planner that helps users track their nutrition, plan meals, and achieve their health goals.
- 🔐 User Authentication with Email Verification
- 📊 Personalized Dashboard
- 🍽️ Smart Meal Planning
- 📈 Progress Tracking
- 📚 Educational Content
- 💪 Health Analytics
- 🎯 Goal Setting & Tracking
-
Frontend: React + TypeScript with Vite
- UI Components: Shadcn UI
- State Management: TanStack Query
- Routing: Wouter
- Forms: React Hook Form + Zod
- Styling: Tailwind CSS
-
Backend: Node.js + Express
- Database ORM: Drizzle with PostgreSQL
- Authentication: JWT
- API: RESTful endpoints
- Node.js v18 or later
- PostgreSQL database
- npm package manager
- Clone the repository
- Install dependencies:
npm install
- Set up your environment variables:
DATABASE_URL=postgresql://user:password@host:port/dbname
JWT_SECRET=your-secret-key
- Push the database schema:
npm run db:push
- Start the development server:
npm run dev
The application will be available at http://localhost:5000
.
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility functions and configs
│ │ ├── pages/ # Application pages
│ │ └── types/ # TypeScript type definitions
├── db/ # Database configuration and schema
├── server/ # Backend Express application
│ ├── routes.ts # API route definitions
│ └── index.ts # Server entry point
- Use TypeScript for type safety
- Follow React functional component patterns
- Implement proper error handling
- Write descriptive commit messages
The application uses the following main tables:
users
: User profiles and authenticationmeals
: Meal tracking and planningnutrition
: Daily nutrition logs
See db/schema.ts
for complete schema definitions.
POST /api/auth/signup
: Create new user accountPOST /api/auth/signin
: User loginGET /api/auth/me
: Get current user
GET /api/users/:id
: Get user profilePOST /api/users
: Create user profile
GET /api/nutrition
: Get nutrition historyPOST /api/nutrition
: Log nutrition data
GET /api/meals/today
: Get today's mealsPOST /api/meals
: Create new meal
- Build the frontend:
npm run build
- Start the production server:
npm run start
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests (when implemented)
- Submit a pull request
Follow conventional commits:
feat:
New featuresfix:
Bug fixesdocs:
Documentation changesstyle:
Code style changesrefactor:
Code refactoringtest:
Test updateschore:
Build process or auxiliary tool changes
This project is licensed under the MIT License.