A comprehensive web application for learning pastry techniques with interactive quizzes, AI visual feedback, and personalized learning paths.
β¨ Features
π― Interactive Learning System
- Technique Library: Comprehensive collection of pastry techniques with step-by-step guides
- Learning Paths: Structured courses from beginner to advanced levels
- Progress Tracking: Real-time progress monitoring and achievement system
π§ AI-Powered Features
- Visual Feedback: Upload photos of your creations for instant AI analysis
- Smart Recommendations: Personalized technique suggestions based on your progress
- Quality Assessment: Detailed scoring on color, shape, texture, and technique
π Interactive Quizzes
- Multiple Question Types: Multiple choice, drag & drop, sequence, fill-in-the-blank, matching, and true/false
- Adaptive Difficulty: Questions adjust based on your skill level
- Detailed Feedback: Comprehensive explanations and improvement suggestions
π¨ Modern UI/UX
- Responsive Design: Works perfectly on desktop, tablet, and mobile
- Dark/Light Mode: Beautiful themes for comfortable learning
- Accessibility: Full keyboard navigation and screen reader support
π Live Demo
View Live Demo
π οΈ Tech Stack
- Framework: Next.js 14 with App Router
- Styling: Tailwind CSS + shadcn/ui components
- Language: TypeScript
- State Management: React Context + Custom Hooks
- AI Integration: OpenAI API for visual analysis
- Deployment: GitHub Pages
πββοΈ Quick Start
Prerequisites
Installation
- Clone the repository
git clone https://github.com/ajtruckinginc/patissier-practice.git
cd patissier-practice
- Install dependencies
npm install
# or
yarn install
- Set up environment variables
cp .env.example .env.local
Add your OpenAI API key:
OPENAI_API_KEY=your_openai_api_key_here
- Run the development server
npm run dev
# or
yarn dev
- Open your browser
Navigate to http://localhost:3000
π± Usage
Getting Started
- Browse Techniques: Explore the technique library to find techniques you want to learn
- Start Learning Paths: Follow structured courses designed for your skill level
- Take Quizzes: Test your knowledge with interactive quizzes
- Upload for Feedback: Use the AI visual feedback system to get instant analysis of your creations
AI Visual Feedback
- Navigate to the βAI Visual Feedbackβ section
- Upload a photo of your pastry creation
- Get instant analysis with:
- Overall quality score (0-100)
- Detailed feedback on color, shape, texture, and technique
- Specific improvement suggestions
- Technique recommendations
π Deployment
GitHub Pages Deployment
- Configure Next.js for GitHub Pages
npm run build
npm run export
- Push to GitHub
git add .
git commit -m "Deploy to GitHub Pages"
git push origin main
- Enable GitHub Pages
- Go to your repository settings
- Navigate to βPagesβ section
- Select βDeploy from a branchβ
- Choose βmainβ branch and β/ (root)β folder
- Save and wait for deployment
π§ͺ Testing
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage
π Project Structure
patissier-practice/
βββ app/ # Next.js app directory
β βββ api/ # API routes
β βββ globals.css # Global styles
β βββ page.tsx # Home page
βββ components/ # React components
β βββ ui/ # Reusable UI components
β βββ ... # Feature components
βββ lib/ # Utilities and services
β βββ contexts/ # React contexts
β βββ hooks/ # Custom hooks
β βββ services/ # Business logic
βββ public/ # Static assets
βββ styles/ # Additional styles
π€ Contributing
- Fork the repository
- Create a 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
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
π Support
If you have any questions or need help, please:
- Open an issue on GitHub
- Check the documentation
- Contact us at support@patissier-practice.com
Happy Baking! π°β¨