The Food-main project is a web application designed for managing food-related services. It features a React-based frontend, a Node.js backend with Express, and MongoDB for database interactions. The project is containerized using Docker for seamless deployment.
- User Authentication (Signup, Login)
- Recipe Management (Create, Read)
- Secure backend with JWT-based authentication
- React + Vite frontend for a fast development experience
- Containerized backend for consistent deployment environments
- Framework: React with Vite
- Languages: JavaScript, JSX
- Plugins:
@vitejs/plugin-react
eslint
- Framework: Node.js with Express
- Languages: JavaScript
- Libraries:
bcrypt
jsonwebtoken
mongoose
- Database: MongoDB
- ODM: Mongoose
- Containerization: Docker
- CI/CD: GitHub Actions
- Node.js (>= v14)
- MongoDB (local or cloud-based)
- Docker (optional for containerized deployment)
git clone <repository-url>
cd Food-main
- Navigate to the backend directory:
cd Backend
- Install dependencies:
npm install
- Configure environment variables:
- Create a
.env
file in theBackend
folder with the following content:PORT=5000 MONGO_URI=<your-mongo-db-uri> JWT_SECRET=<your-jwt-secret>
- Create a
- Start the backend server:
npm start
- Navigate to the frontend directory:
cd Frontend
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Navigate to the backend directory:
cd Backend
- Build the Docker image:
docker build -t food-backend .
- Run the container:
docker run -p 5000:5000 food-backend
- The project includes a GitHub Actions workflow for automated deployment and testing (
.github/workflows/cicd.yml
).
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature/fix.
- Submit a pull request with a detailed explanation of your changes.
This project is licensed under the MIT License.
- React + Vite
- Node.js & Express
- MongoDB
- Docker