Skip to content

Food Ordering Web App - A practice project developed while learning full-stack application development.

Notifications You must be signed in to change notification settings

kabir276/Food-Ordering-Web-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Food Ordering web app

Welcome to the Food App Project! This project is a full-stack application designed to manage and showcase food items, built using modern web technologies. Below, you'll find detailed information on the project structure, technologies used, and how to get it up and running on your local machine.

Table of Contents Technologies Used Project Structure Getting Started Prerequisites Installation Running the App Environment Variables Continuous Integration and Deployment (CI/CD) Contributing License Technologies Used Frontend: Next.js Backend: Node.js, Express Database: PostgreSQL ORM: Prisma State Management: Recoil CI/CD: AWS Containerization: Docker Language: TypeScript Project Structure go Copy code food-app/ ├── backend/

│ ├── src/

│ ├── Dockerfile

│ ├── package.json

│ └── ...

├── frontend/

│ ├── pages/

│ ├── components/

│ ├── recoil/

│ ├── package.json

│ └── ...

├── .env.example

└── ...

Getting Started Prerequisites Make sure you have the following installed on your local machine:

Node.js Docker PostgreSQL AWS CLI Installation Clone the repository:

sh Copy code git clone https://github.com/kabir276/rollup.git cd food-app Install dependencies for both frontend and backend:

sh Copy code

In the root directory

cd backend npm install cd ../frontend npm install Running the App Using Docker Build and run the backend:

sh Copy code cd backend docker build -t food-app-backend . docker run --env-file .env -p 3001:3001 food-app-backend Run the frontend:

sh Copy code cd frontend npm run dev Without Docker Set up the environment variables:

Create a .env file in the backend directory based on the .env.example file provided.

Run the backend:

sh Copy code cd backend npm run dev Run the frontend:

sh Copy code cd frontend npm run dev Environment Variables The project uses environment variables for configuration. Create a .env file in the backend directory and add the required variables based on the .env.example file.

Example .env file:

makefile Copy code DATABASE_URL=postgresql://username:password@localhost:5432/foodapp PORT=3001 JWT_SECRET=your_jwt_secret Continuous Integration and Deployment (CI/CD) This project is set up with CI/CD pipelines to deploy the application to an AWS instance automatically. The pipeline configuration files are included in the repository and are designed to:

Build the Docker images for frontend and backend. Push the Docker images to an AWS Elastic Container Registry (ECR). Deploy the application to an AWS Elastic Beanstalk or ECS service. Ensure your AWS credentials and configurations are correctly set up to utilize the CI/CD pipelines.

Contributing We welcome contributions! Please fork the repository and create a pull request with your changes. Make sure to follow the coding standards and write tests for any new features or bug fixes.

License This project is licensed under the MIT License. See the LICENSE file for more details.

Thank you for checking out the Food App Project! If you have any questions or feedback, feel free to open an issue or reach out. Happy coding!