Refactor builder store and remove wall store - Consolidated wall-related state management into the builder store by removing the useWallStore. - Added new properties and setters for wall attributes (thickness, height, materials) in the builder store. - Introduced SelectedWallProperties and WallProperties components for managing wall properties in the sidebar. - Created a new floor store for managing floor-related state. - Added a wall asset store for managing wall assets. - Implemented a zone store for managing zones and their properties. - Updated sidebar styles for better layout and appearance.
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