A modern web application for managing databases with features like SQL editing, table management, schema visualization, and AI assistance.
- Schema Visualizer: Interactive database schema visualization with relationship mapping
- SQL Editor: Advanced SQL query editor with syntax highlighting
- Table Editor: Visual interface for table creation and management
- AI Agent: AI-powered assistance for database operations
- Authentication System: Complete user authentication flow
- Project Management: Create and manage multiple database projects
- Frontend: React with Vite
- Styling: TailwindCSS
- State Management: Redux
- Routing: React Router
- Database Visualization: React Flow
- SQL Editor: Custom implementation
- API Integration: Axios
The project follows a feature-first organization pattern, with shared components and utilities:
src/
├── features/ # Feature-based modules
│ ├── AI-Agent/ # AI assistance feature
│ │ ├── actions/ # AI-related actions (sendPrompt, etc.)
│ │ ├── api/ # AI API endpoints
│ │ ├── assets/ # AI assets (images, icons, etc.)
│ │ ├── components/# AI-specific components
│ │ └── utils/ # AI utility functions
│ │
│ ├── auth/ # Authentication feature
│ │
│ ├── dashboard/ # Dashboard & project management
│ │
│ ├── schema-visualizer/ # Database schema visualization
│ │
│ ├── sqlEditor/ # SQL query management
│ │
│ └── TableEditor/ # Table management
│
├── components/ # Shared components
│ └── ui/ # Basic UI components
│
├── pages/ # Page components
│ ├── AI-Agent/ # AI feature pages
│ ├── auth/ # Authentication pages
│ ├── dashboard/ # Dashboard pages
│ └── TableEditor/ # Table editor pages
│
├── store/ # Global state management
│ ├── sidebarSlice # Sidebar state
│ └── tableEditorSlice # Table editor state
│
├── utils/ # Shared utilities
│ ├── formatting.js # Data formatting
│ ├── validators.js # Form validation
│ └── toastConfig.js# Notification config
│
└── api/ # API configuration
├── authToken # Auth token management
├── private.js # Authenticated requests
└── public.js # Public endpoints
- features/: Contains all feature-specific code, each feature having its own actions, components, and utilities
- components/: Reusable components shared across features
- pages/: Route components that compose features and components
- store/: Global state management with Redux
- utils/: Shared utility functions
- api/: API configuration and request handlers
Each feature folder typically contains:
- actions/: Business logic and API calls
- api/: API endpoint definitions
- components/: Feature-specific UI components
- utils/: Feature-specific utility functions
- store/: Feature-specific state management (if needed)
- routes.jsx: Feature routing configuration
- Clone the repository
git clone [repository-url]
cd Web
- Install dependencies
npm install
- Start the development server
npm run dev
- Components: Located in
src/components/
- Pages: Found in
src/pages/
- Features: Modular feature implementations in
src/features/
- State Management: Redux store configurations in
src/store/
- Routing: Route definitions in feature-specific
routes.jsx
files
- Interactive graph visualization of database schemas
- Relationship mapping between tables
- Zoom and pan capabilities
- Auto-layout functionality
- Syntax highlighting
- Query execution
- Result visualization
- Visual table creation
- Column management
- Foreign key configuration
- Constraint setup
- Natural language assistance
- Query suggestions
- Schema optimization recommendations
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
[License Type] - See LICENSE file for details