- Replaced `useComparisonProduct` with `useSimulationState` in multiple components to streamline state management. - Updated `SyncCam` to use `comparisonScene` instead of `comparisonProduct`. - Modified `Products` component to utilize `mainScene` and `comparisonScene` for product selection. - Adjusted various simulation functions to accept `ProductsSchema` instead of `productsSchema`. - Enhanced `Simulator` component to fetch simulation data using the updated state structure. - Refined Zustand store to manage `mainScene` and `comparisonScene` states, including their respective setters and clearers. - Updated type definitions for products to ensure consistency across the application. - Cleaned up shortcut key handling to reflect changes in state management.
Getting Started
Follow these steps to set up and run the project locally.
Prerequisites
Ensure you have the following installed on your system:
- Node.js: Download and install Node.js
- npm: Comes with Node.js, but you can also install npm separately
- yarn (optional): If you prefer to use Yarn, install it here
- TypeScript: This project uses TypeScript, and the necessary dependencies will be installed automatically.
Installation
-
Clone the repository:
git clone https://github.com/S0Vishnu/react-production-project-boilerplate.git cd react-production-project-boilerplate -
Cloning repository with User Credentials:
git clone https://your_username:password@github.com/S0Vishnu/react-production-project-boilerplate.git cd react-production-project-boilerplatenote: if password contains special charecters use:
- @ → %40
- : → %3A
- / → %2F
- ? → %3F
- & → %26
- = → %3D
- ! → %21
-
Install the dependencies:
npm install -
Start server:
npm start -
Build the app for production:
npm run build -
Tests
This project includes both unit tests using Jest and end-to-end (E2E) tests using Cypress. Here’s how you can run and manage these tests.
Unit Tests (Jest) Unit tests are located in the
src/tests/unit/directory. They test individual components and functions to ensure they work as expected. Jest is used for running these tests.Running Unit Tests To run the unit tests, use the following command:
npm run testEnd-to-End (E2E) Tests (Cypress) Cypress can be run in two modes
-
Interactive Mode:
npm run cypress:open -
Headless Mode:
npm run cypress:run
-
Run Documentation(Docsify)
-
Installation (if needed):
npm i docsify-cli -g -
Run Command:
docsify serve docs