NoshNow is a full-stack online food ordering platform built using the MERN stack (MongoDB, Express, React, Node.js). It enables users to browse restaurants, manage their orders, and make secure payments online. The application features user authentication with JWT, payment integration via Stripe, and file uploads using Multer.
- User authentication and authorization
- Restaurant browsing and menu viewing
- Shopping cart functionality
- Order placement and management
- Secure online payments with Stripe
- User profile management
- File uploads for restaurant images and menu items
-
Clone this repository:
git clone https://github.com/your-username/noshnow.git cd noshnow
-
Install backend dependencies:
cd backend npm install
-
Set up backend environment variables: Create a
.env
file in thebackend
directory with the following content:MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret STRIPE_SECRET_KEY=your_stripe_secret_key
-
Start the backend server:
npm run dev
-
Install frontend dependencies:
cd ../frontend npm install
-
Set up frontend environment variables: Create a
.env
file in thefrontend
directory with:REACT_APP_API_URL=http://localhost:5000
-
Start the frontend server:
npm start
- Open your web browser and go to
http://localhost:3000
. - Register a new account or log in.
- Browse restaurants, view menus, and add items to your cart.
- Place orders and manage them from your account dashboard.
- express
- mongoose
- jsonwebtoken
- bcryptjs
- cors
- dotenv
- multer
- stripe
- react
- react-dom
- react-router-dom
- axios
- @stripe/react-stripe-js
- @stripe/stripe-js
For a complete list of dependencies, please refer to the package.json
files in the backend
and frontend
directories.
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature-branch-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature-branch-name
- Submit a pull request
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, please open an issue on the GitHub repository.
Happy coding!