This project demonstrates a React (TypeScript) application with three main tasks:
- Feature-rich data table
- Custom form builder
- Mini blog app
- React 19
- TypeScript
- Javascript
- Tailwind CSS
- React Router
- React Markdown (for markdown editor)
- Axios (for API calls)
- Fetches user data from dummyjson.com
- Supports sorting by columns
- Search/filter functionality
- Pagination with various controls
- Row selection and bulk delete action
- Responsive design
- Dynamically renders form fields based on configuration
- Supports text, email, select, and textarea inputs
- Field validation (required, pattern matching)
- Conditional field rendering
- Displays submitted data
- CRUD operations for blog posts
- Routing with React Router
- Context API for state management
- Markdown editor with live preview
- Optimistic UI updates
Before you begin, ensure you have the following installed:
- Node.js: Version 20.15.1 or higher
- npm: Version 10.7.0 or higher
To install and run project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/ChuksJoshuaa/custom-data-table.git
-
Install the repository:
npm install --force
-
Build the repository with docker:
docker-compose up --build
To start the application and begin using project, follow these steps:
- Start the application:
npm run dev
- Open your web browser and navigate to
http://localhost:5173
Contributions are welcome! To contribute to project, follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Submit a pull request.