A modern food delivery platform connecting home cooks with food lovers, bringing authentic homemade meals right to your doorstep.
- Browse Local Cooks: Discover home cooks in your neighborhood
 - Diverse Menu: Explore authentic homemade meals with detailed descriptions
 - Easy Ordering: Seamless cart and checkout experience
 - Real-time Tracking: Track your order status
 - Secure Payments: Multiple payment options including UPI
 - Ratings & Reviews: Rate meals and build trust in the community
 
- Easy Registration: Simple process to become a cook on the platform
 - Menu Management: Add, update, and manage your meal offerings
 - Order Management: Track and manage incoming orders
 - Earnings Dashboard: Monitor your performance and earnings
 - Kitchen Showcase: Upload photos to showcase your cooking space
 - Location-based Service: Reach customers in your local area
 
- Location-based Matching: Connect cooks and customers by proximity
 - Image Upload: Cloudinary integration for meal and kitchen photos
 - Authentication: Secure JWT-based authentication
 - Responsive Design: Works seamlessly on desktop and mobile
 - Real-time Updates: Live order status updates
 
- React 18 - Modern React with hooks and functional components
 - TypeScript - Type-safe development
 - Vite - Fast build tool and development server
 - Tailwind CSS - Utility-first CSS framework
 - shadcn/ui - Beautiful and accessible UI components
 - React Router - Client-side routing
 - React Query - Data fetching and state management
 - Lucide React - Beautiful icons
 
- Node.js - JavaScript runtime
 - Express.js - Web application framework
 - MongoDB - NoSQL database
 - Mongoose - MongoDB object modeling
 - JWT - JSON Web Tokens for authentication
 - Cloudinary - Image hosting and management
 - Multer - File upload handling
 
- Node.js (v18 or higher)
 - npm or yarn
 - MongoDB (local or cloud instance)
 - Git
 
- 
Clone the repository
git clone <YOUR_GIT_URL> cd ghar-se-swaad
 - 
Install frontend dependencies
npm install
 - 
Install backend dependencies
cd server npm install cd ..
 - 
Environment Setup
Create
.envfile in theserverdirectory:PORT=5000 MONGODB_URI=mongodb://localhost:27017/ghar-se-swaad JWT_SECRET=your_jwt_secret_key CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret
 - 
Start the development servers
Terminal 1 - Backend:
cd server npm run devTerminal 2 - Frontend:
npm run dev
 - 
Open your browser
Navigate to
http://localhost:5173to see the application. 
ghar-se-swaad/
βββ public/                 # Static assets
βββ src/                    # Frontend source code
β   βββ components/         # Reusable UI components
β   β   βββ ui/            # shadcn/ui components
β   β   βββ ...            # Custom components
β   βββ context/           # React context providers
β   βββ hooks/             # Custom React hooks
β   βββ lib/               # Utility functions
β   βββ pages/             # Page components
β   βββ services/          # API service functions
β   βββ types/             # TypeScript type definitions
β   βββ assets/            # Images and icons
βββ server/                 # Backend source code
β   βββ src/
β   β   βββ config/        # Configuration files
β   β   βββ controllers/   # Route controllers
β   β   βββ middleware/    # Express middleware
β   β   βββ models/        # MongoDB models
β   β   βββ routes/        # API routes
β   β   βββ server.js      # Main server file
β   βββ uploads/           # File uploads directory
βββ package.json           # Frontend dependencies
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/profile- Get user profile
GET /api/cooks- Get all cooks (with location filtering)GET /api/cooks/:id- Get cook detailsPOST /api/cooks- Register as a cookPUT /api/cooks/:id- Update cook profile
GET /api/meals- Get meals (with cook filtering)POST /api/meals- Add new mealPUT /api/meals/:id- Update mealDELETE /api/meals/:id- Delete meal
GET /api/orders- Get user ordersPOST /api/orders- Place new orderPUT /api/orders/:id/status- Update order status
The application uses shadcn/ui components built on top of Radix UI primitives:
- Navigation: Header with user menu and cart
 - Cards: Cook cards, meal cards with ratings
 - Forms: Registration, login, meal creation
 - Modals: Order confirmation, cook registration
 - Layout: Responsive grid and flex layouts
 
- Registration: Users can register as customers or cooks
 - Login: JWT tokens stored in localStorage
 - Protected Routes: Automatic redirects for unauthenticated users
 - Role-based Access: Different dashboards for users and cooks
 
- Mobile-first approach with Tailwind CSS
 - Breakpoint-based layouts (sm, md, lg, xl)
 - Touch-friendly interactions for mobile users
 - Optimized images and lazy loading
 
npm run build
# Deploy the dist/ folder to your hosting servicecd server
npm start
# Use PM2 or similar for production- Set 
NODE_ENV=production - Configure production MongoDB URI
 - Set secure JWT secrets
 - Configure Cloudinary for production
 
- 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
 
- Follow TypeScript best practices
 - Use meaningful commit messages
 - Write tests for new features
 - Ensure responsive design
 - Follow the existing code style
 
This project is licensed under the MIT License - see the LICENSE file for details.
- shadcn/ui for beautiful UI components
 - Tailwind CSS for utility-first styling
 - Cloudinary for image management
 - MongoDB for flexible data storage
 
For support, email [email protected] or join our Discord community.
Made with β€οΈ for food lovers and home cooks
