This is a frontend application that mimics the functionality of a spreadsheet, built using React.js with Tailwind CSS and Zustand for state management. The application is designed to be responsive, performant, and user-friendly, with features like grid rendering, cell editing, data storage, cell formatting, data validation, search and filter, pagination, and undo/redo functionality.
- Grid Rendering: Render a grid of 1000 cells with efficient performance.
- Cell Editing: Editable cells with real-time updates.
- Data Storage: State management using Zustand, with persistence within the session.
- Cell Formatting: Options for text alignment and font size adjustments.
- Data Validation: Basic validation rules for specific cell types.
- Search and Filter: Quickly locate data within the grid.
- Pagination: Efficient handling of large datasets with pagination or infinite scrolling.
- Undo/Redo: Undo and redo functionality for cell changes.
- React.js: A JavaScript library for building user interfaces.
- Vite: A fast and efficient build tool for modern web projects.
- Tailwind CSS: A utility-first CSS framework for styling.
- Zustand: A lightweight state management library.
Ensure you have the following installed:
- Node.js (v14 or higher)
- npm
-
Clone the repository:
git clone https://github.com/Aakarshit07/sheet-assignment/tree/main cd spreadsheet-app -
Install dependencies:
-
Using npm:
npm install
- Running the Application
-
Using npm:
npm run dev