Welcome to the Food Delivery App! This application allows users to browse, purchase, and enjoy food items from various menus. Admins can manage products and orders effectively.
- Add Product: Admins can add new food items to the menu.
- View Orders: Admins can view all orders placed by users.
- Change Order Status: Admins can update order statuses to "Delivered", "Processing", or "Out for Delivery".
- View All Products: Admins have access to the entire product list.
- Create Account: Users can sign up and create an account.
- Purchase Food Items: Users can browse and purchase food items.
- Dummy Stripe Payment Integration: Integrated with a dummy Stripe payment gateway.
- Filter Products: Users can filter products by product menu.
- Frontend: React
- Backend: Express
- Database: MongoDB
- Styling: Tailwind CSS
- Authentication: JWT (JSON Web Tokens)
- Image Upload: Cloudinary
-
Clone the repository:
git clone https://github.com/RijoKsd/food-delivery-app cd food-delivery-app
-
Install dependencies:
# Install backend dependencies cd server npm install # Install frontend dependencies cd ../client npm install # Install admin dependencies cd ../admin npm install
-
Set up environment variables:
- Create a
.env
file in theserver
directory and add the following:MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret STRIPE_API_KEY=your_dummy_stripe_api_key CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret
- Create a
-
Start the application:
# Start backend server cd server npm run server # Start frontend server cd ../client npm run dev # Start admin server cd ../admin npm run dev
-
Admin Operations:
- Navigate to the admin panel.
- Add, view, and manage products.
- View and update order statuses.
-
User Operations:
- Sign up and log in to your account.
- Browse and purchase food items.
- Use the dummy Stripe payment integration for transactions.
- Filter products by menu.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a Pull Request.