Skip to content

Olowoyo/ibcscorp-task

Repository files navigation

React Dashboard with CRUD Operations

A responsive React dashboard application built with TypeScript, React Query, and Tailwind CSS that demonstrates CRUD operations using JSONPlaceholder API.

Features

  • 📱 Responsive design using Tailwind CSS
  • 🔄 CRUD operations (Create, Read, Update, Delete)
  • 🔍 Search functionality with debouncing
  • ⚡ Real-time updates using React Query
  • 📊 Sortable columns
  • 📝 Pagination
  • 🎨 Modern UI with loading states and toasts
  • 📱 Mobile-friendly interface

Technologies

  • React 19
  • TypeScript
  • TanStack Query (React Query)
  • Tailwind CSS
  • Axios
  • React Hot Toast

Getting Started

Prerequisites

  • Node.js (version 16 or higher)
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/Olowoyo/ibcscorp-task.git
cd ibcscorp
  1. Install dependencies:
npm install
# or
yarn install
  1. Start the development server:
npm run dev
# or
yarn dev
  1. Open your browser and navigate to http://localhost:5173

Project Structure

src/
├── api/
│   └── client.ts          # API client configuration
├── components/
│   ├── Dashboard/
│   │   ├── DataTable.tsx
│   │   ├── Filters.tsx
│   │   ├── LoadingState.tsx
│   │   └── Pagination.tsx
│   └── Modal/
│       ├── ConfirmDialog.tsx
│       ├── CreateForm.tsx
│       └── EditForm.tsx
├── hooks/
│   └── useDebounce.ts
├── types/
└── App.tsx

Features in Detail

Data Management

  • Fetch and display user data from JSONPlaceholder API
  • Client-side search with debounced input
  • Sortable columns (name, email, phone, website, company)
  • Pagination with customizable items per page

CRUD Operations

  • Create new users with form validation
  • Update existing user information
  • Delete users with confirmation dialog
  • Real-time updates using React Query

UI/UX

  • Responsive design that works on mobile and desktop
  • Loading states for better user experience
  • Toast notifications for success/error feedback
  • Clean and modern interface using Tailwind CSS

Available Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run preview      # Preview production build
npm run lint         # Run ESLint
npm run type-check   # Run TypeScript type checking

Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published