Stellar Burger

link to deploy

Stellar Burger is an online platform for an imaginary burger restaurant where users can order burgers, login, register, and view their orders. This project is built using modern web development technologies including React, Redux Toolkit, Webpack, TypeScript, Jest, and Cypress.

Table of Contents

Project Overview

The Stellar Burger project aims to provide a seamless and engaging user experience for customers of an imaginary burger restaurant. The platform allows users to browse the menu, place orders, register and log in to their accounts, and view their order history.

Features

  • Order Management: Users can browse the menu, customize their burgers, and place orders.
  • User Authentication: Secure user login and registration system.
  • Order History: Logged-in users can view their past orders.
  • State Management: Efficient state management using Redux Toolkit.
  • Comprehensive Testing: Extensive unit and integration testing with Jest and Cypress.

Technologies Used

  • React: Front-end library for building user interfaces.
  • Redux Toolkit: State management library for managing global state.
  • Webpack: Module bundler for compiling JavaScript modules.
  • TypeScript: Typed superset of JavaScript that compiles to plain JavaScript.
  • Jest: JavaScript testing framework for unit testing.
  • Cypress: End-to-end testing framework.

Installation

To run this project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/makarovaiuliia/stellar-burger.git
    cd stellar-burger
  2. Install dependencies:

    npm install
  3. Run the development server:

    npm start

    The application will be available at http://localhost:3000.

Usage

  • Browse the Menu: Navigate through the menu to see available burger options.
  • Place an Order: Customize your burger and place an order.
  • User Authentication: Register a new account or log in to an existing account.
  • View Order History: Access your past orders in the profile section.

Testing

To run tests, use the following commands:

  • Unit Tests with Jest:

    npm run test
  • End-to-End Tests with Cypress:

    npm run cypress:open

    This will open the Cypress test runner where you can run the E2E tests.