svk-man / food-delivery

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Food Delivery (eCommerce Web Application)

Welcome to our Food Delivery web application! This platform brings the convenience of real-world food delivery experiences to the digital realm. It's a comprehensive online food ordering portal that provides an interactive and seamless experience to users. From exploring delicious dishes to placing an order, the application ensures a smooth journey for the user, enhancing their satisfaction and making food ordering a breeze.

Goals

The primary objectives of this project are as follows:

  1. Learning and Skill Enhancement: This project is undertaken by a team of three developers with the aim of honing their skills and gaining hands-on experience in web application development. Each team member contributes to different aspects of the project, collaborating and learning from each other.

  2. Technology Exploration: The project aims to explore and implement modern web technologies to build a feature-rich and efficient food delivery application. By utilizing cutting-edge tools and frameworks, the team aims to stay at the forefront of web development practices.

Technology Stack

The project is built using the following technologies:

  • Quasar: Quasar is a full-fledged framework built on top of Vue.js, providing tools for developing responsive and performant web applications. It allows us to create a single codebase that can be deployed as a web application, a Progressive Web App (PWA), or even as a mobile app.

  • Vue 3: Vue.js is a progressive JavaScript framework that enables us to build user interfaces efficiently. The latest version, Vue 3, brings additional features, improved performance, and enhanced scalability to the application.

  • Pinia: Pinia is a state management library designed specifically for Vue.js. It helps us manage the application's state in a more organized and scalable manner.

  • TypeScript: TypeScript is a typed superset of JavaScript, adding static typing to the language. Using TypeScript enhances the development process by catching type-related errors early and improving code maintainability.

  • Jest: Jest is a popular JavaScript testing framework that allows us to write and execute unit tests to ensure the stability and correctness of our codebase.

Project Information

Responsive Design: Our application is designed to be responsive and visually appealing on various devices, with a minimum resolution of 390px. Whether users prefer to order from their desktop, tablet, or smartphone, the application adapts to provide an enjoyable user experience.

CommerceTools Integration: The application is powered by CommerceTools, a leading provider of commerce solutions for food delivery enterprises. CommerceTools offers a cloud-native, microservices-based commerce platform that enables food delivery brands to create unique and engaging digital commerce experiences. By integrating CommerceTools, we ensure a seamless ordering process for our users.

Getting Started

Install the dependencies

Before running the Food Delivery web application, you need to install its dependencies. Open your terminal and run the following command:

yarn
# or
npm install

Start the app in development mode

To start the application in development mode, run the following command:

yarn dev
# or
npm run dev

This will initiate the development server with hot-code reloading, error reporting, and other helpful features that aid in the development process.

Lint the files

To lint the project files and ensure they adhere to the coding standards, you can use the following command:

yarn lint
# or
npm run lint

Format the files

To format the project files and maintain a consistent code style, run the following command:

yarn format
# or
npm run format

Build the app for production

When you're ready to deploy the application to a production environment, use the following command to build the optimized version:

yarn build
# or
npm run build

This command bundles and minifies the application for production, optimizing its performance.

Build the app for development

If you want to build the application for development purposes, you can use the following command:

yarn build:dev
# or
npm run build:dev

This command generates a development version of the application, suitable for testing and debugging.

Run testing

To ensure the stability and correctness of the application, we have included tests that you can run using the following command:

yarn test
# or
npm run test

Running the tests helps identify potential issues and ensures the application functions as expected.

Please note that it is essential to have Node.js and npm (or yarn) installed on your system to execute these commands successfully.

About