A modern web application for sharing and discovering recipes, built with React, Next.js, and Firebase.
- User Authentication
- Email/password login
- Google sign-in integration
- User profile management
- Recipe Management
- Create and share recipes
- Upload recipe images
- Add detailed ingredients and instructions
- Browse community recipes
- Subscription System
- Free tier with basic features
- Premium tier with advanced features
- Secure payment processing
- Modern UI/UX
- Responsive design
- Dark/light mode support
- Intuitive navigation
- Real-time updates
- Frontend
- React 18
- Next.js 14
- Tailwind CSS
- shadcn/ui components
- TypeScript
- Backend/Services
- Firebase Authentication
- Firebase Firestore
- Firebase Storage
- Firebase Hosting
-
Clone the repository
git clone https://github.com/yourusername/cookbook.git cd cookbook -
Install dependencies
npm install
-
Set up environment variables Create a
.env.localfile in the root directory:NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id -
Start the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
cookbook/
├── src/
│ ├── app/
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ └── recipes/
│ ├── components/
│ │ ├── ui/
│ │ └── recipes/
│ ├── lib/
│ │ └── firebase.ts
│ └── styles/
│ └── globals.css
├── public/
├── firebase/
│ ├── storage.rules
│ └── firestore.rules
└── package.json
- Create a new Firebase project
- Enable Authentication services
- Set up Firestore database
- Configure Storage rules
- Update security rules for production
# Run development server
npm run dev
# Run type checking
npm run type-check
# Run linting
npm run lint
# Run tests
npm run test-
Build the application
npm run build
-
Deploy to Firebase
npm run deploy
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Arshdeep Singh - arsh342
- React Documentation
- Next.js Documentation
- Firebase Documentation
- shadcn/ui Components
- Tailwind CSS
- Email: arshth134@gmail.com
- Project Link: https://cookbookv2-y8ir.vercel.app/
- Recipe rating and review system
- Social sharing integration
- Advanced search and filtering
- Recipe collections and favorites
- Meal planning calendar
- Shopping list generation