This project is a modern DataGrid component built with Next.js 15, React 19, TypeScript, and Tailwind CSS. The project is completely designed, developed, and implemented by Ahmad Rasouli.
Ahmad Rasouli - Designer, Developer, and Complete Creator of this Project
This project was built with personal effort and creativity by Ahmad Rasouli, including all aspects:
- User Interface Design
- Application Logic Implementation
- Code Structure and Architecture
- Styling and Animations
- RTL Capabilities
- Performance Optimization
Dedicated to the Open Source Community 🌟
- Responsive Design with full mobile and desktop support
- Multiple Themes with color and style change capabilities
- Dark/Light Mode with settings persistence
- Smooth Animations and optimized user experience
- Multi-column Sorting with direction change capability
- Advanced Filtering with various operators
- Live Search across all columns
- Multiple Selection with checkboxes
- Card and Table Display with view switching capability
- Inline Editing of data
- Add and Remove new records
- Default Theme
- Ocean Blue
- Ocean Blue A11Y
- Main
- Main Dark
- Purple
- Turquoise
- Nordic
- Hamburger Menu for navigation
- Optimized Display on small screens
- Touch Interaction optimized
- Full RTL Support (Persian, Arabic)
- Language Switching between Persian and English
- Persian Fonts optimized
- Next.js 15 - React Framework
- React 19 - UI Library
- TypeScript - Programming Language
- Tailwind CSS 4 - CSS Framework
- Radix UI - Accessible Components
- Lucide React - Icons
- Recharts - Charts
- ESLint - Code Linting
- PostCSS - CSS Processing
- pnpm - Package Management
- Node.js version 18 or higher
- pnpm (recommended) or npm
# Install pnpm (if not installed)
npm install -g pnpm
# Install dependencies
pnpm install# Run development server
pnpm devThe project will be accessible at http://localhost:3000.
# Build project
pnpm build
# Run production version
pnpm start-
Install Node.js:
- Go to nodejs.org
- Download and install LTS version
- Open PowerShell or Command Prompt
-
Install pnpm:
npm install -g pnpm -
Clone the project:
git clone <repository-url> cd datagrid
-
Install and run:
pnpm install pnpm dev
-
Install Node.js:
# Using Homebrew brew install node # Or direct download from nodejs.org
-
Install pnpm:
npm install -g pnpm
-
Clone the project:
git clone <repository-url> cd datagrid
-
Install and run:
pnpm install pnpm dev
-
Install Node.js:
# Add repository curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - # Install Node.js sudo apt-get install -y nodejs
-
Install pnpm:
npm install -g pnpm
-
Clone the project:
git clone <repository-url> cd datagrid
-
Install and run:
pnpm install pnpm dev
datagrid/
├── app/ # Next.js pages
├── components/ # React components
│ ├── ui/ # Base UI components
│ ├── datagrid/ # DataGrid components
│ ├── header/ # Header components
│ ├── footer/ # Footer components
│ └── theme/ # Theme components
├── data/ # Sample data
├── hooks/ # React Hooks
├── lib/ # Helper functions
├── models/ # TypeScript models
├── services/ # Data services
└── utilities/ # Helper utilities
You can add new themes in the components/datagrid/themes.ts file in the themes array:
const themes = [
{ name: "Theme Name", value: "value", colors: ["Primary Color", "Secondary Color"] },
// New themes...
]To add new columns, edit the Product model in the models/product.ts file.
pnpm dev # Run development server
pnpm build # Build production version
pnpm start # Run production version
pnpm lint # Lint code with ESLintTo contribute to the project:
- Fork the project
- Create a new branch
- Commit your changes
- Send a Pull Request
This project is released under the MIT license.
این پروژه یک کامپوننت مدرن DataGrid است که با استفاده از Next.js 15، React 19، TypeScript و Tailwind CSS ساخته شده است. این پروژه به طور کامل توسط احمد رسولی طراحی، توسعه و پیادهسازی شده است.
احمد رسولی - طراح، توسعهدهنده و سازنده کامل این پروژه
این پروژه با تلاش و خلاقیت شخصی احمد رسولی ساخته شده و تمامی جنبههای آن شامل:
- طراحی رابط کاربری
- پیادهسازی منطق برنامه
- ساختار کد و معماری
- استایلدهی و انیمیشنها
- قابلیتهای RTL
- بهینهسازی عملکرد
تقدیم به جامعه اپن سورس 🌟
- طراحی ریسپانسیو با پشتیبانی کامل از موبایل و دسکتاپ
- تمهای متعدد با قابلیت تغییر رنگ و استایل
- حالت تاریک/روشن با قابلیت ذخیرهسازی تنظیمات
- انیمیشنهای نرم و تجربه کاربری بهینه
- مرتبسازی چند ستونی با قابلیت تغییر جهت
- فیلترینگ پیشرفته با عملگرهای مختلف
- جستجوی زنده در تمام ستونها
- انتخاب چندتایی با checkbox
- نمایش کارتها و جدول با قابلیت تغییر حالت
- ویرایش درونخطی دادهها
- افزودن و حذف رکوردهای جدید
- Default Theme
- Ocean Blue
- Ocean Blue A11Y
- Main
- Main Dark
- Purple
- Turquoise
- Nordic
- منوی همبرگری برای ناوبری
- نمایش بهینه در صفحات کوچک
- تعامل لمسی بهینهسازی شده
- پشتیبانی کامل از RTL (فارسی، عربی)
- تغییر زبان بین فارسی و انگلیسی
- فونتهای فارسی بهینهسازی شده
- Next.js 15 - فریمورک React
- React 19 - کتابخانه UI
- TypeScript - زبان برنامهنویسی
- Tailwind CSS 4 - فریمورک CSS
- Radix UI - کامپوننتهای دسترسیپذیر
- Lucide React - آیکونها
- Recharts - نمودارها
- ESLint - بررسی کد
- PostCSS - پردازش CSS
- pnpm - مدیریت پکیجها
- Node.js نسخه 18 یا بالاتر
- pnpm (پیشنهاد میشود) یا npm
# نصب pnpm (اگر نصب نیست)
npm install -g pnpm
# نصب وابستگیها
pnpm install# اجرای سرور توسعه
pnpm devپروژه در آدرس http://localhost:3000 قابل دسترسی خواهد بود.
# ساخت پروژه
pnpm build
# اجرای نسخه تولید
pnpm start-
نصب Node.js:
- به nodejs.org بروید
- نسخه LTS را دانلود و نصب کنید
- PowerShell یا Command Prompt را باز کنید
-
نصب pnpm:
npm install -g pnpm -
کلون کردن پروژه:
git clone <repository-url> cd datagrid
-
نصب و اجرا:
pnpm install pnpm dev
-
نصب Node.js:
# با استفاده از Homebrew brew install node # یا دانلود مستقیم از nodejs.org
-
نصب pnpm:
npm install -g pnpm
-
کلون کردن پروژه:
git clone <repository-url> cd datagrid
-
نصب و اجرا:
pnpm install pnpm dev
-
نصب Node.js:
# اضافه کردن repository curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - # نصب Node.js sudo apt-get install -y nodejs
-
نصب pnpm:
npm install -g pnpm
-
کلون کردن پروژه:
git clone <repository-url> cd datagrid
-
نصب و اجرا:
pnpm install pnpm dev
datagrid/
├── app/ # صفحات Next.js
├── components/ # کامپوننتهای React
│ ├── ui/ # کامپوننتهای پایه UI
│ ├── datagrid/ # کامپوننتهای DataGrid
│ ├── header/ # کامپوننتهای هدر
│ ├── footer/ # کامپوننتهای فوتر
│ └── theme/ # کامپوننتهای تم
├── data/ # دادههای نمونه
├── hooks/ # React Hooks
├── lib/ # توابع کمکی
├── models/ # مدلهای TypeScript
├── services/ # سرویسهای داده
└── utilities/ # توابع کمکی
تمهای جدید را میتوانید در فایل components/datagrid/themes.ts در آرایه themes اضافه کنید:
const themes = [
{ name: "نام تم", value: "value", colors: ["رنگ اصلی", "رنگ ثانویه"] },
// تمهای جدید...
]برای اضافه کردن ستونهای جدید، مدل Product را در فایل models/product.ts ویرایش کنید.
pnpm dev # اجرای سرور توسعه
pnpm build # ساخت نسخه تولید
pnpm start # اجرای نسخه تولید
pnpm lint # بررسی کد با ESLintبرای مشارکت در پروژه:
- پروژه را fork کنید
- یک branch جدید ایجاد کنید
- تغییرات خود را commit کنید
- Pull Request ارسال کنید
این پروژه تحت لایسنس MIT منتشر شده است.
این پروژه به عنوان یک پروژه اپن سورس، از تمامی کتابخانهها و ابزارهای اپن سورس که در ساخت آن استفاده شده، تشکر میکند. امیدواریم این پروژه نیز بتواند به جامعه توسعهدهندگان کمک کند.
سازنده و توسعهدهنده: احمد رسولی
تاریخ: 2025
نوع پروژه: اپن سورس
هدف: کمک به جامعه توسعهدهندگان
فیلم جامع نمایش تمام قابلیتهای DataGrid:
این فیلم شامل: عملکرد DataGrid، تغییر تم، پشتیبانی RTL، سازگاری موبایل، مرتبسازی، فیلترینگ، جستجو و تغییر حالت نمایش است.
- RTL Support Guide - Complete RTL (Right-to-Left) support documentation
- Comments Summary - Code comments and documentation summary
- Hydration Fix Guide - Next.js hydration issues and solutions