Skip to content

iamdipanshusingh/AthenaQL

Repository files navigation

🗄️ AthenaQL

Flutter Dart License Platform

A modern, elegant PostgreSQL database viewer built with Flutter featuring a JetBrains-inspired dark theme. The open-source alternative to DataGrip.

PostgreSQL Flutter Dart

✨ Features

  • 🔐 Secure Connection Management - Connect to PostgreSQL databases with URL parsing and validation
  • 📊 Interactive Table Viewer - Browse database tables with a clean, responsive interface
  • 🎨 JetBrains Dark Theme - Beautiful, developer-friendly dark theme inspired by JetBrains IDEs
  • 🔍 Real-time Data Display - View table contents with automatic column detection
  • 🚀 Cross-platform Desktop - Runs on Windows, macOS, and Linux
  • Fast & Lightweight - Built with Flutter for optimal performance

🚧 Planned Features

  • 🔍 Raw SQL Query Editor - Execute custom SQL queries with syntax highlighting
  • 🔗 Multiple Database Sources - Connect to and manage multiple databases simultaneously
  • 🗃️ Multi-Database Support - Extend support beyond PostgreSQL to MySQL, SQLite, and more
  • 📈 Query Results Visualization - Charts and graphs for data analysis
  • 🔄 Database Schema Explorer - Visual representation of database structure
  • 📋 Query History - Save and manage frequently used queries

🖼️ Screenshots

Screenshots coming soon...

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/iamdipanshusingh/athenaql.git
    cd athenaql
  2. Install dependencies

    flutter pub get
  3. Run the application

    flutter run -d windows  # For Windows
    flutter run -d macos    # For macOS
    flutter run -d linux    # For Linux

📖 Usage

Connecting to a Database

  1. Launch AthenaQL
  2. Enter your PostgreSQL connection URL in the format:
    postgresql://username:password@host:port/database
    
  3. Click "Test Connection" to verify your credentials
  4. Click "Proceed" to access your database

Browsing Tables

  • View all tables in the left sidebar
  • Click on any table to see its contents
  • Data is displayed in a clean, sortable table format
  • Use the refresh button to reload table list

🛠️ Development

Project Structure

lib/
├── main.dart              # Application entry point
├── theme.dart             # JetBrains theme configuration
├── extensions/            # Custom extensions
│   └── context.dart       # Context extensions
└── pages/                 # Application pages
    ├── home/              # Home page with connection form
    │   └── master.dart    # Main home page implementation
    └── viewer/            # Database viewer page
        └── master.dart    # Table viewer implementation

Building for Production

# Windows
flutter build windows

# macOS
flutter build macos

# Linux
flutter build linux

🤝 Contributing

We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Development Setup

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

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Flutter - The amazing framework that made this possible
  • PostgreSQL - The world's most advanced open source relational database
  • JetBrains - Inspiration for the beautiful dark theme and DataGrip reference

📞 Support

If you encounter any issues or have questions:


Made with ❤️ using Flutter

About

The open-source alternative to DataGrip

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors