Skip to content

2bcoderhq/table-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Table Generator

Interactive web application for creating, editing, and managing tables with adaptive grid and drag-and-drop functionality.

๐Ÿš€ Features

  • Table Creation: Dynamic creation of tables with configurable columns
  • Cell Editing: Real-time editing of cell content
  • Adaptive Grid: Automatic table placement in adaptive grid
  • Table Copying: Quick copying of existing tables
  • Drag & Drop: Drag tables to change their position
  • Responsive Design: Adaptation to various screen sizes

๐Ÿ›  Technologies

  • Frontend: React 18 + TypeScript
  • State Management: Redux Toolkit + React-Redux
  • Build Tool: Vite
  • Testing: Vitest + React Testing Library
  • Styling: CSS Modules
  • Code Quality: ESLint + Prettier

๐Ÿ“‹ Requirements

  • Node.js 18+
  • npm 9+ or yarn 1.22+

๐Ÿš€ Quick Start

๐Ÿ“– Need help? Check out our comprehensive User Guide for detailed instructions and troubleshooting.

Install Dependencies

npm install

Development Mode

npm run dev

The application will be available at http://localhost:5173

Production Build

npm run build

Run Tests

npm test

Run Tests in Watch Mode

npm run test:watch

Lint Check

npm run lint

Code Formatting

npm run format

๐Ÿ“ Project Structure

๐Ÿ— Want to understand the architecture? See Architecture Guide for detailed design principles and system overview.

src/
โ”œโ”€โ”€ components/          # React components
โ”‚   โ”œโ”€โ”€ CreateTableForm/ # Table creation form
โ”‚   โ”œโ”€โ”€ EditableCell/   # Editable cells
โ”‚   โ”œโ”€โ”€ TableComponent/ # Main table component
โ”‚   โ”œโ”€โ”€ TableGenerator/ # Application container
โ”‚   โ””โ”€โ”€ TablesGrid/     # Grid for table placement
โ”œโ”€โ”€ store/              # Redux store and slices
โ”‚   โ”œโ”€โ”€ slices/         # Redux slices
โ”‚   โ””โ”€โ”€ index.ts        # Store configuration
โ”œโ”€โ”€ types/              # TypeScript types and interfaces
โ”œโ”€โ”€ utils/              # Utilities and helpers
โ””โ”€โ”€ test/               # Test utilities

๐ŸŽฏ Main Components

๐Ÿ”ง Developer? See API Documentation for detailed component props, events, and usage examples.

CreateTableForm

Form for creating new tables with capabilities:

  • Table name configuration
  • Adding/removing columns
  • Column data type selection (text, number, select)

TableComponent

Main component for displaying tables:

  • Column headers
  • Editable cells
  • Copy button
  • Drag & Drop functionality

TablesGrid

Adaptive grid for table placement:

  • Automatic positioning
  • Responsive layout
  • Support for various screen sizes

๐Ÿ”„ Redux Store

Tables Slice

Manages table state:

  • addTable - adding new table
  • copyTable - copying existing table
  • updateCell - updating cell content
  • updateTablePosition - updating table position

UI Slice

Manages UI state:

  • toggleForm - show/hide creation form
  • selectTable - select active table

๐ŸŽจ Styling

The project uses CSS Modules for style isolation. Main styles:

  • Adaptive grid with CSS Grid
  • Responsive design for mobile devices
  • Hover effects and interactive states
  • Modern and clean design

๐Ÿงช Testing

The project is covered with comprehensive tests:

  • Unit tests for Redux slices
  • Component tests for React components
  • Integration tests for user workflows
  • Tests for drag & drop functionality

Running Tests

# All tests
npm test

# Tests in watch mode
npm run test:watch

# Tests with coverage
npm run test:coverage

๐Ÿ“ฑ Responsive Design

The application adapts to various screen sizes:

  • Desktop: Full-featured interface with drag & drop
  • Tablet: Adapted grid with touch-friendly elements
  • Mobile: Vertical table arrangement

๐Ÿ”ง Configuration

ESLint

Configured for TypeScript and React with rules for:

  • TypeScript best practices
  • React hooks rules
  • Accessibility guidelines

Vite

Optimized for fast development:

  • Hot Module Replacement
  • TypeScript support
  • Build optimization

๐Ÿš€ Deployment

๐Ÿš€ Ready to deploy? See Deployment Guide for comprehensive instructions on all platforms including Docker, AWS, and CI/CD setup.

Netlify

npm run build
# Upload dist/ content to Netlify

Vercel

npm run build
# Connect repository to Vercel

Docker

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is distributed under the MIT License. See the LICENSE file for details.

๐Ÿ†˜ Support

If you have questions or issues:

  1. Check Issues on GitHub
  2. Create a new issue with problem description
  3. Describe steps to reproduce

๐Ÿ”ฎ Roadmap

  • Export tables to various formats (CSV, Excel)
  • Import data from files
  • Table templates
  • Real-time collaboration
  • Advanced data types (date, images)
  • Dark theme
  • Localization (i18n)

๐Ÿ“š Documentation

๐Ÿ“‹ Documentation Index: Start here with our complete documentation index to find what you need quickly.

User Documentation

  • User Guide - Complete user manual with step-by-step instructions
  • API Documentation - Technical reference for developers and component APIs

Developer Documentation

Quick Links

๐Ÿ“š Additional Resources

Official Documentation

Community Resources

Learning Resources

Tools and Extensions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages