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
187 lines
5.3 KiB
Markdown
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*
|