Food Ordering App
Welcome to the Food Ordering App repository! This is a modern food ordering application designed for restaurants, built using latest Next.js, React.js, MongoDB, and Tailwind CSS. This project combines the power of server-side rendering, seamless user experiences, and a responsive design to deliver a fast and intuitive platform for customers to browse menus, place orders, and track deliveries.
Table of Contents
Features
- Browse a variety of food categories and menus.
- Add items to the cart and customize orders.
- Place and track orders in real-time.
- User authentication and profile management.
- Responsive design for mobile and desktop views.
Technologies Used
- Frontend: React.js, HTML, CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: Firebase Auth
- Hosting: Firebase Hosting
Installation
To get started with the Food Ordering App, follow these steps:
Clone the repository:
git clone https://github.com/MenathNDGD/Food-Ordering-App.git
cd Food-Ordering-App
Navigate to the project directory:
cd Food-Ordering-App
Install the dependencies:
npm install
Create a .env
file in the root directory and add your Firebase configuration:
MONGO_URL=your_mongodb_url
NEXTAUTH_URL="http://localhost:3000/"
SECRET=any_secret_key #dbhjfbdjhvbhjsdfbvhfdbvh
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret_id
AWS_ACCESS_KEY=your_aws_access_key
AWS_SECRET_KEY=your_aws_secret_key
Start the development server:
npm start
or
npm run dev
Usage
- Open your browser and navigate to
http://localhost:3000
to view the app.
- Register or log in to access the food ordering features.
- Browse the menu, add items to your cart, and place orders.
- Manage your profile and view order history.
Contributing
Contributions are welcome! If you have suggestions or improvements, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
).
- Make your changes.
- Commit your changes (
git commit -am 'Add new feature'
).
- Push to the branch (
git push origin feature-branch
).
- Create a new Pull Request.
More
Key Features
- User Authentication: Secure user registration and login with Firebase Authentication.
- Menu Browsing: View and filter food items by categories.
- Cart Management: Add items to the cart, adjust quantities, and remove items.
- Order Placement: Easily place orders and track their status.
- Responsive Design: Optimized for various screen sizes, including mobile and desktop.
- Profile Management: Update personal information and view order history.
Future Enhancements
- Enhanced User Interface: Plans to implement more interactive UI elements and animations.
- Advanced Order Tracking: Integration with real-time tracking for delivery.
- Recommendation System: Adding personalized food recommendations based on user preferences.
- Multilingual Support: Expanding the app to support multiple languages for a broader audience.
Technologies Used
- Frontend: Built with React.js for a dynamic and responsive user interface.
- Backend: Node.js and Express.js handle server-side logic and API requests.
- Database: MongoDB stores user data, order details, and menu information.
- Authentication: Firebase Auth ensures secure user login and registration.
- Hosting: Deployed on Firebase Hosting for reliable and scalable performance.
Getting Involved
If you're interested in contributing to this project or have ideas for new features, feel free to check out the Contributing section. Your feedback and contributions are highly valued!
Thank you for exploring the Food Ordering App. We hope you find it useful and look forward to any suggestions or improvements you may have!