Files
uzdb/doc/README.md
loveuer 5a83e86bc9 feat: Initial project setup - uzdb database client
Initialize complete Wails (Go + React) database management tool

## Project Structure
- Frontend: React 18 + TypeScript + Vite
- Backend: Go 1.23 + Gin + GORM + SQLite + Zap
- Desktop: Wails v2

## Features Implemented

### UI/UX Design
- Complete design system with colors, typography, spacing
- Wireframes for all major screens
- User flows and interaction specifications
- Layout design with 3-panel architecture

### Frontend Components
- ConnectionPanel: Database connection sidebar with status indicators
- AppLayout: Resizable main layout framework
- MenuBar & ToolBar: Navigation and quick actions
- QueryEditor: SQL editor with syntax highlighting support
- DataGrid: Sortable, filterable, editable data table
- TableStructure: Table metadata viewer
- StatusBar: Connection info and query statistics
- StatusIndicator: Animated connection status component

### Backend Services
- Wails bindings: 15+ methods exposed to frontend
- Connection management: CRUD operations with connection pooling
- Query execution: SQL execution with result handling
- Table metadata: Schema introspection
- Encryption service: AES-256-GCM password encryption
- HTTP API: RESTful endpoints for debugging/integration

### Documentation
- Design system specification
- Feature requirements document
- Wireframes and user flows
- API testing guide
- Project README

## Technical Details
- Password encryption using AES-256-GCM
- Thread-safe connection manager with sync.RWMutex
- Unified error handling and logging
- Clean architecture with dependency injection
- SQLite for storing user data (connections, history)

🤖 Generated with Qoder
2026-03-29 06:49:23 -07:00

187 lines
5.3 KiB
Markdown

# uzdb Project Documentation
## 📚 Documentation Index
This directory contains all design and specification documents for the uzdb project.
### Core Documents
| Document | Description | Status |
|----------|-------------|--------|
| [Features](./features.md) | Complete feature specification with priorities | ✅ Complete |
| [Design System](./design-system.md) | Visual design language, colors, typography, components | ✅ Complete |
| [Wireframes](./wireframes.md) | UI mockups and layout specifications | ✅ Complete |
| [User Flows](./user-flows.md) | User interaction flows and edge cases | ✅ Complete |
---
## 🎯 Project Overview
**uzdb** is a lightweight database management tool inspired by DBeaver and Navicat, built with Wails (Go + React).
### Key Characteristics
- **Lightweight**: Fast startup, minimal resource usage
- **Simple**: Focus on essential features done well
- **Modern**: Clean UI following current design trends
- **Cross-platform**: Windows, macOS, Linux support via Wails
### Tech Stack
- **Frontend**: React + TypeScript + Vite
- **Backend**: Go 1.23+
- **Desktop Framework**: Wails v2
- **Styling**: CSS Variables + modern CSS
---
## 🏗️ Architecture
```
┌─────────────────────────────────────────┐
│ Frontend (React) │
│ ┌──────────┬──────────┬──────────────┐ │
│ │ Sidebar │ Editor │ Data Grid │ │
│ │ │ │ │ │
│ └──────────┴──────────┴──────────────┘ │
│ Wails Runtime │
├─────────────────────────────────────────┤
│ Backend (Go) │
│ ┌──────────┬──────────┬──────────────┐ │
│ │ MySQL │PostgreSQL│ SQLite │ │
│ │ Driver │ Driver │ Driver │ │
│ └──────────┴──────────┴──────────────┘ │
└─────────────────────────────────────────┘
```
---
## 📁 File Structure
```
uzdb/
├── frontend/ # React application
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── App.tsx # Main app component
│ │ └── main.tsx # Entry point
│ └── package.json
├── doc/ # This directory - design docs
│ ├── features.md
│ ├── design-system.md
│ ├── wireframes.md
│ ├── user-flows.md
│ └── README.md # This file
├── internal/ # Go backend code
├── main.go # Go entry point
└── wails.json # Wails configuration
```
---
## 🎨 Quick Reference
### Color Palette
- **Primary**: `#3b82f6` (Blue)
- **Success**: `#10b981` (Green)
- **Warning**: `#f59e0b` (Amber)
- **Error**: `#ef4444` (Red)
### Keyboard Shortcuts
| Action | Shortcut |
|--------|----------|
| Run query | `Ctrl/Cmd + Enter` |
| New connection | `Ctrl/Cmd + N` |
| Save | `Ctrl/Cmd + S` |
| Find | `Ctrl/Cmd + F` |
| Close tab | `Ctrl/Cmd + W` |
### Supported Databases
- ✅ MySQL 5.7+
- ✅ PostgreSQL 12+
- ✅ SQLite 3.x
---
## 👥 Team Roles
### UI/UX Designer
- Responsible for visual design and user experience
- Maintains design system consistency
- Creates wireframes and prototypes
**See:** [.qoder/agents/uiux-designer.md](../.qoder/agents/uiux-designer.md)
### Frontend Developer
- Implements React components
- Integrates with Wails runtime
- Ensures responsive design
### Backend Developer
- Implements database drivers
- Handles Go business logic
- Manages connections and queries
---
## 📋 Development Workflow
### 1. Design Phase
1. Review feature requirements
2. Create/update wireframes
3. Define component specs
4. Get team approval
### 2. Implementation Phase
1. Create React components
2. Implement Go handlers
3. Write tests
4. Integration testing
### 3. Review Phase
1. Design review against specs
2. Code review
3. QA testing
4. Bug fixes
---
## 🔗 Related Resources
### Design Tools
- [Figma](https://figma.com/) - UI design and prototyping
- [Lucide Icons](https://lucide.dev/) - Icon library
- [Inter Font](https://rsms.me/inter/) - Primary typeface
### Development
- [Wails Documentation](https://wails.io/docs/)
- [React Docs](https://react.dev/)
- [TypeScript Handbook](https://www.typescriptlang.org/docs/)
### Inspiration
- [DBeaver](https://dbeaver.io/) - Feature reference
- [Navicat](https://www.navicat.com/) - UX reference
- [TablePlus](https://tableplus.com/) - Modern design reference
---
## 📝 Contributing
When adding new features:
1. **Update documentation** in this directory
2. **Follow design system** for consistency
3. **Consider accessibility** requirements
4. **Test with real data** before merging
---
## 📞 Contact
For questions about design or features:
- Open an issue on GitHub
- Tag @uiux-designer for design questions
- Tag @maintainer for feature discussions
---
*Last updated: 2026-03-29*