- Introduced batching and optimized query handling in SQL functions for improved performance during large updates. - Enhanced task sorting functions with batching to reduce load times and improve responsiveness. - Implemented performance monitoring utilities to track render times, memory usage, and long tasks, providing insights for further optimizations. - Added performance analysis component to visualize metrics and identify bottlenecks in task management. - Optimized drag-and-drop functionality with CSS enhancements to ensure smooth interactions and reduce layout thrashing. - Refined task row rendering logic to minimize DOM updates and improve loading behavior for large lists. - Introduced aggressive virtualization and memoization strategies to enhance rendering performance in task lists.
Worklenz - React Frontend
Worklenz is a project management application built with React, TypeScript, and Ant Design. The project is bundled using Vite.
Table of Contents
Getting Started
To get started with the project, follow these steps:
- Clone the repository:
git clone https://github.com/Worklenz/worklenz.git - Navigate to the project directory:
cd worklenz/worklenz-frontend - Install dependencies:
npm install - Start the development server:
npm run dev - Open http://localhost:5000 in your browser to view the application.
Available Scripts
In the project directory, you can run:
npm run dev
Runs the app in the development mode.
Open http://localhost:5000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
npm run build
Builds the app for production to the dist folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
npm run preview
Serves the production build locally for testing.
Open http://localhost:4173 to preview the build.
Project Structure
The project is organized around a feature-based structure:
src/
├── components/ # Reusable UI components
├── hooks/ # Custom React hooks
├── lib/ # Feature-specific logic
├── pages/ # Route components
├── services/ # API services
├── shared/ # Shared utilities, constants, and types
├── store/ # Global state management
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
├── App.tsx # Main application component
└── main.tsx # Application entry point
Contributing
Contributions are welcome! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeatureName). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeatureName). - Open a pull request.
Learn More
To learn more about the technologies used in this project:
License
Worklenz is open source and released under the GNU Affero General Public License Version 3 (AGPLv3).