A modern online pastry shop web app featuring home-baked treats, customizable cakes, and secure online ordering. Built with React and Material-UI.
- 🏠 Home Page - Welcoming hero section with featured cakes
- � Authentication - Login/Register with user profile management
- 👤 User Profile - View account details, cart & wishlist summary
- �👩🍳 Nila's Treats - Special collection by our home baker
- 🎂 Cake Varieties - Browse by categories (Brownies, Jar Cakes, Dream Cakes, Cupcakes)
- ❤️ Wishlist - Save your favorite items
- 🛒 Shopping Cart - Add items and manage quantities
- 🎨 Customization - Design your own cake with custom flavors, shapes, and messages
- 🎉 Special Offers - Browse current deals and promotions
- 💬 Feedback - Share your experience with ratings and comments
- 💳 Checkout & Payment - Complete demo payment flow
- � Admin Panel - Manage products and stock availability
- React 18 with TypeScript
- Material-UI (MUI) for beautiful UI components
- React Router for navigation
- Context API for state management (Cart & Wishlist)
- Node.js 16+
- npm or yarn
- Supabase account (for authentication)
- Telegram bot (optional, for notifications)
# Install dependencies
npm install- Copy the example environment file:
cp .env.example .env.local- Fill in your credentials in
.env.local:
REACT_APP_SUPABASE_URL=your-supabase-url
REACT_APP_SUPABASE_ANON_KEY=your-anon-key
REACT_APP_TELEGRAM_BOT_TOKEN=your-bot-token
REACT_APP_TELEGRAM_CHAT_ID=your-chat-idFor detailed setup instructions:
npm startThe app will open at http://localhost:3000
npm run buildThis creates an optimized production build in the build/ folder.
For deployment instructions, see DEPLOYMENT.md
src/
├── components/ # Reusable components (Navbar, Footer, ProductCard)
├── contexts/ # Context providers (Cart, Wishlist)
├── pages/ # Page components
├── constants.ts # Theme, products, and offers data
├── App.tsx # Main app component with routing
└── index.tsx # Entry point
/- Home page/login- User login page/register- User registration page/profile- User profile (protected)/nilas-treats- Nila's special collection/cakes- Cake varieties overview/cakes/:category- Category-specific products/wishlist- User's wishlist/cart- Shopping cart/customize- Cake customization form/offers- Special offers/feedback- Customer feedback form/checkout- Delivery details/payment- Payment page (demo)/admin- Admin dashboard/privacy-policy- Privacy policy details/terms-conditions- Terms and conditions/contact- Contact us page with form
- Primary Color:
#ffb6c1(Light Pink) - Secondary Color:
#6d6875(Dark Gray) - Background:
#fff8f8(Light Rose) - Font: Poppins
- Secure email/password authentication
- Session persistence
- User profile management
- Ready for production deployment
The app sends real-time notifications to Telegram for:
- 📝 Customer Feedback - With ratings and messages
- 📦 New Orders - Full order details with items and prices
- 🎂 Customization Requests - Detailed cake specifications
See TELEGRAM_SETUP.md for configuration.
- 📖 DEPLOYMENT.md - Deploy to Vercel, Netlify, or Docker
- 💬 TELEGRAM_SETUP.md - Telegram bot configuration
- 🔒 Supabase Docs - Authentication setup
MIT License
© 2025 Pastry Palace. Crafted with love by Nila.