CanIEatThis? is a web application that empowers diabetics to make informed dietary choices through instant nutritional analysis and clear "Yes/No" recommendations. The app is user-friendly and supports multiple languages, making it accessible to non-native English speakers.
-
🔍 Instant Food Analysis:
Provides real-time nutritional breakdown with clear "Yes/No" recommendations for diabetic-friendly choices. -
📊 Comprehensive Nutritional Data:
Displays key nutritional values such as calories, net carbs, sugars, proteins, fats, and vitamins. -
🌐 Multilingual Support:
Available in English, Spanish, and Chinese, with seamless language switching. -
🎨 Modern UI:
Responsive and intuitive design with dark/light modes, animated transitions, and interactive elements.
- Frontend: Next.js 15 with React Server Components
- Styling: Tailwind CSS with dark mode support
- Animations: Framer Motion
- i18n: next-intl for SEO-friendly routes
- API: Edamam Food Database API
- Node.js 20 or higher
- npm or yarn
- Docker (optional)
- Clone the repository:
git clone https://github.com/AndrewT-Tran/canieatthis
cd canieatthis- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env- Update
.envwith your Edamam API credentials:
NEXT_PUBLIC_EDAMAM_APP_ID=your_app_id
NEXT_PUBLIC_EDAMAM_APP_KEY=your_app_key
NEXT_PUBLIC_NUT_ANALYSIS_APP_ID=your_nutrition_app_id
NEXT_PUBLIC_NUT_ANALYSIS_API_KEY=your_nutrition_api_key
- Run the development server:
npm run dev-
Set up environment variables as described above.
-
Build and run with Docker:
docker-compose up --buildFor background mode:
docker-compose up -dTo stop:
docker-compose downThe app will be available at http://localhost:3000.
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License.
- Edamam for nutrition data API
- Next.js team for the framework
- Tailwind CSS for styling
- Framer Motion for animations
- Iconbuddy for icons