Skip to content

Latest commit

 

History

History
78 lines (60 loc) · 2.24 KB

File metadata and controls

78 lines (60 loc) · 2.24 KB

Contributing to DBA Coworker

Thank you for your interest in contributing! Here's how to get started.

Development Setup

Prerequisites

  • Node.js 18+
  • A PostgreSQL 14-17 server for testing
  • (Optional) Anthropic API key for AI features

Getting Started

# Fork and clone
git clone https://github.com/YOUR_USERNAME/dba-coworker.git
cd dba-coworker

# Backend (Terminal 1)
cd backend
npm install
node --watch server.js    # Auto-restarts on file changes

# Frontend (Terminal 2)
cd frontend
npm install
npm run dev               # Hot reload on :3000, proxies /api to :4000

Project Structure

backend/server.js     — Express API (all endpoints)
frontend/src/App.jsx  — React application (all components)

Both files are intentionally kept as single files for simplicity. As the project grows, we may modularize.

How to Contribute

Bug Reports

  • Open an issue with steps to reproduce
  • Include your PostgreSQL version, Node.js version, and OS
  • Paste any error messages from the browser console or backend terminal

Feature Requests

  • Open an issue with [Feature Request] prefix
  • Describe the use case and expected behavior
  • Reference similar features in pgAdmin/SSMS/dbForge if applicable

Pull Requests

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes
  4. Test with a real PostgreSQL server
  5. Verify frontend builds: cd frontend && npm run build
  6. Verify backend syntax: cd backend && node -c server.js
  7. Submit PR with description of changes

Coding Guidelines

  • Keep it simple — single-file architecture for now
  • No external UI libraries (no Tailwind, no Material UI)
  • Inline styles in React components
  • SQL queries use parameterized inputs where possible
  • All new endpoints need basic error handling with try/catch

Areas Needing Help

  • ER Diagram visualization (Canvas/SVG based)
  • Data import from CSV/JSON/Excel
  • pgAgent job manager integration
  • Scheduled health check cron system
  • Multi-language support (i18n)
  • Unit tests for backend API endpoints
  • Accessibility improvements (keyboard navigation, ARIA)

Code of Conduct

Be respectful, constructive, and collaborative. We're all here to build great tools for the PostgreSQL community.