Skip to content

arsh342/cookbook

Repository files navigation

Cookbook - Recipe Sharing Platform

A modern web application for sharing and discovering recipes, built with React, Next.js, and Firebase.

๐Ÿš€ Features

  • 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

๐Ÿ› ๏ธ Tech Stack

  • Frontend
    • React 18
    • Next.js 14
    • Tailwind CSS
    • shadcn/ui components
    • TypeScript
  • Backend/Services
    • Firebase Authentication
    • Firebase Firestore
    • Firebase Storage
    • Firebase Hosting

๐Ÿ“ฆ Installation

  1. Clone the repository

    git clone https://github.com/yourusername/cookbook.git
    cd cookbook
  2. Install dependencies

    npm install
  3. Set up environment variables Create a .env.local file 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
    
  4. Start the development server

    npm run dev
  5. Open your browser Navigate to http://localhost:3000

๐Ÿ“ Project Structure

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

๐Ÿ”ง Configuration

Firebase Setup

  1. Create a new Firebase project
  2. Enable Authentication services
  3. Set up Firestore database
  4. Configure Storage rules
  5. Update security rules for production

Development

# Run development server
npm run dev

# Run type checking
npm run type-check

# Run linting
npm run lint

# Run tests
npm run test

๐Ÿš€ Deployment

  1. Build the application

    npm run build
  2. Deploy to Firebase

    npm run deploy

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘ฅ Authors

  • Arshdeep Singh - arsh342

๐Ÿ™ Acknowledgments

  • React Documentation
  • Next.js Documentation
  • Firebase Documentation
  • shadcn/ui Components
  • Tailwind CSS

๐Ÿ“ง Contact

๐Ÿ”ฎ Future Features

  • Recipe rating and review system
  • Social sharing integration
  • Advanced search and filtering
  • Recipe collections and favorites
  • Meal planning calendar
  • Shopping list generation

About

Cookbook: A modern recipe sharing platform built with React, HTML5, CSS3, Javascript and Firebase. Create, discover, and share recipes with a vibrant culinary community. Features user authentication, image uploads, and subscription tiers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors