- Updated floorItemsGroup to send unique floor items to the GLTF loader. - Modified Card component to dynamically set button ID based on AssetID. - Enhanced FilterSearch component to assign unique IDs to star buttons. - Refactored camMode to utilize a new firstPersonCamera utility for cleaner code. - Introduced firstPersonCamera utility for handling camera mode transitions. - Improved Templates component to use nullish coalescing for email retrieval. - Cleaned up AddButtons component by removing commented-out code and optimizing email retrieval. - Updated Panel component to generate unique IDs for panel wrappers. - Simplified Project component by removing unused setIsPlaying function. - Removed hardcoded backend URL in panel service. - Created useAssetStore for managing asset state and CRUD operations. - Added camera mode state management to usePlayButtonStore. - Enhanced footer styles for better layout and responsiveness. - Improved simulation styles for better control visibility and responsiveness. - Refactored tools styles for cleaner transitions and hover effects. - Updated realTimeViz styles for better layout and responsiveness. - Introduced builderTypes for better type safety in asset management. - Enhanced shortcut key handling to include camera mode toggling.
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