Skip to content

codingBuddh/easySQL

Repository files navigation

easySQL - Natural Language SQL Assistant

easySQL is an innovative SQL database interaction platform that enables natural language conversations with your PostgreSQL database. With its modern, minimalist interface and powerful backend processing, easySQL makes database operations more intuitive and accessible for both technical and non-technical users.

✨ Features

  • 🤖 Natural Language Processing: Interact with your database using conversational language
  • 🔒 Secure Database Connection: Encrypted credential handling and secure session management
  • 💫 Modern UI: Clean, responsive interface with smooth animations
  • Real-time Validation: Instant feedback on connection status and query execution
  • 🛠️ Comprehensive Error Handling: User-friendly error messages with suggested solutions

📸 Screenshots

easySQL Interface

Main interface showing natural language query input

easySQL Results

Query results with interactive data visualization

🚀 Quick Start

Prerequisites

  • Node.js (v14 or higher)
  • Python (v3.8 or higher)
  • PostgreSQL database

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/easysql.git
cd easysql
  1. Install backend dependencies:
cd app
pip install -r requirements.txt
  1. Install frontend dependencies:
cd frontend
npm install
  1. Set up environment variables: Create a .env file in the root directory with the following variables:
DB_HOST=localhost
DB_PORT=5432
DB_NAME=your_database
DB_USER=your_username
DB_PASSWORD=your_password

Running the Application

  1. Start the backend server:
cd app
uvicorn main:app --reload
  1. Start the frontend development server:
cd frontend
npm start
  1. Open your browser and navigate to http://localhost:3000

🛠️ Tech Stack

Frontend

  • React.js
  • Framer Motion for animations
  • CSS Modules for styling

Backend

  • FastAPI
  • SQLAlchemy
  • Langchain for NLP
  • PostgreSQL

📖 Usage

  1. Connect to your database using the configuration form
  2. Start chatting with your database using natural language
  3. View query results in real-time
  4. Explore database structure and relationships naturally

🔐 Security

easySQL takes security seriously:

  • All database credentials are encrypted
  • Secure session management
  • No storage of sensitive information
  • Automatic connection timeout handling

🤝 Contributing

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

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

📝 License

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

🙏 Acknowledgments

  • FastAPI for the powerful backend framework
  • React for the frontend library
  • Framer Motion for the smooth animations
  • Langchain for natural language processing capabilities

📧 Contact

Your Name - @Amansoni


Made with ❤️ for better database interactions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published