{"id":28210425,"url":"https://github.com/bangertech/mole","last_synced_at":"2026-04-28T16:07:35.092Z","repository":{"id":290167290,"uuid":"973554488","full_name":"BangerTech/mole","owner":"BangerTech","description":"🗄️ A modern web interface for managing multiple database types with powerful synchronization capabilities. Features AI-powered database analysis, intuitive schema management, and comprehensive monitoring dashboard.","archived":false,"fork":false,"pushed_at":"2025-05-14T07:23:04.000Z","size":3922,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-14T08:31:58.903Z","etag":null,"topics":["database","database-management","postgresql","web-ui","webapp"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BangerTech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-27T08:36:23.000Z","updated_at":"2025-05-14T07:23:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd8c56df-2fad-47e4-ba7f-9a1b5a6f8f19","html_url":"https://github.com/BangerTech/mole","commit_stats":null,"previous_names":["bangertech/mole"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2Fmole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2Fmole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2Fmole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2Fmole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BangerTech","download_url":"https://codeload.github.com/BangerTech/mole/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2Fmole/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259169636,"owners_count":22816117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","database-management","postgresql","web-ui","webapp"],"created_at":"2025-05-17T17:09:58.596Z","updated_at":"2026-04-28T16:07:30.062Z","avatar_url":"https://github.com/BangerTech.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MOLE - Database Agent\n\n![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)\n![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)\n![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge\u0026logo=express\u0026logoColor=%2361DAFB)\n![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge\u0026logo=mysql\u0026logoColor=white)\n![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"app/react-ui/public/images/logo.png\" alt=\"MOLE Logo\" width=\"350\"\u003e\n\u003c/p\u003e\n\n\u003e A modern, web-based database management tool with a beautiful interface inspired by Apple and Nextcloud design. MOLE allows you to connect to multiple database types, create databases, perform table operations, and synchronize data between different database servers.\n\n## Screenshots\n\n\u003cimg src=\"app/react-ui/public/images/screenshots/Screenshot1.png\" width=\"49%\" /\u003e \u003cimg src=\"app/react-ui/public/images/screenshots/Screenshot2.png\" width=\"49%\" /\u003e\n\n\u003cimg src=\"app/react-ui/public/images/screenshots/Screenshot3.png\" width=\"49%\" /\u003e \u003cimg src=\"app/react-ui/public/images/screenshots/Screenshot4.png\" width=\"49%\" /\u003e\n\n## Table of Contents\n- [Features](#features)\n- [Quick Start](#quick-start)\n- [Docker Compose Configuration](#docker-compose-configuration)\n- [Usage](#usage)\n- [Customization](#customization)\n- [Architecture](#architecture)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n\n## Features\n\n- **Modern UI**: Clean, modern interface with responsive design\n- **Multiple Database Support**: Connect to MySQL, PostgreSQL, and InfluxDB databases\n- **Database Creation**: Create new databases directly from the UI\n- **Table Management**: Create, modify, and delete tables; add and edit data\n- **Database Synchronization**: Schedule and manage database synchronization between servers\n- **Customizable**: Easy to customize themes and configuration\n- **Advanced Monitoring**: Comprehensive performance metrics, health scores, and visual indicators\n- **AI-Powered Analysis**: Ask questions about your database in natural language and get intelligent insights\n- **User Authentication**: Secure user login and registration system with JWT authentication\n- **Email Notifications**: Configurable SMTP settings for system notification emails\n\n## Quick Start\n\n### Prerequisites\n\n- Docker and Docker Compose v2 installed on your system\n- Basic understanding of Docker and database concepts\n\n### Installation\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/your-username/mole.git\n   cd mole\n   ```\n\n2. Start the MOLE - Database Agent:\n   ```bash\n   docker compose up -d\n   ```\n\n3. Access the web interface at `http://localhost:8080`\n\n4. Login with the default admin account:\n   - Email: admin@example.com\n   - Password: admin\n\n## Docker Compose Configuration\n\nThe Docker Compose file includes the following services:\n\n- **mole-ui**: The web interface based on React with custom styling and enhancements\n- **db-sync**: A service for database synchronization\n- **mysql**: An example MySQL database (optional)\n- **postgres**: An example PostgreSQL database (optional)\n- **influxdb**: An example InfluxDB database (optional)\n\n## Usage\n\n### Connecting to a Database\n\n1. Open your browser and navigate to `http://localhost:8080`\n2. Login with your credentials or the default admin account\n3. Select the database type (MySQL, PostgreSQL, or InfluxDB)\n4. Enter the connection details:\n   - Server: hostname or IP address\n   - Username: database username\n   - Password: database password\n   - Database: database name (optional)\n5. Click \"Login\"\n\n### Creating a New Database\n\n1. Navigate to the \"Create Database\" section\n2. Select the database type\n3. Enter the server details and credentials\n4. Specify the database name\n5. Click \"Create\"\n\n### Synchronizing Databases\n\n1. Configure the synchronization in the `db-sync/config/sync.yml` file\n2. Enable the sync service in the configuration\n3. Specify source and target database connections\n4. Configure the synchronization schedule\n5. The database sync service will run according to the schedule\n\n### Configuring Email Notifications\n\n1. Navigate to the Settings page\n2. Go to the Email section\n3. Configure SMTP server details:\n   - SMTP Host\n   - Port\n   - Username/Password\n   - Encryption type (TLS/SSL)\n4. Set sender name and email address\n5. Test the configuration with the \"Send Test Email\" button\n\n## Customization\n\n### Modifying the Theme\n\nThe UI theme can be customized by editing:\n- `app/themes/mole/adminer.css`: The main theme CSS\n- `app/custom.css`: Additional CSS customizations\n\n### Adding Custom Plugins\n\nYou can extend MOLE's functionality by adding plugins to the `app/plugins` directory.\n\n## Architecture\n\nThe system consists of several components:\n\n- **mole-ui**: A modern React-based web interface with Material UI styling for database management\n- **db-sync**: A Python service that synchronizes data between databases\n- **mysql**: A MySQL database server\n- **postgres**: A PostgreSQL database server\n- **backend**: Node.js Express server providing authentication and email services\n\n### Web UI\n\nThe web interface provides an intuitive UI for managing database connections:\n\n- View and manage database connections\n- Browse database tables and their contents\n- Execute SQL queries directly in the browser\n- View query results and export data\n- User authentication and profile management\n- Email notification configuration\n\nThe UI is built with React and Material UI for a modern, responsive experience.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgements\n\n- Inspired by various database management tools\n- Uses React and Material UI for the frontend\n- Powered by Python for database synchronization \n- Node.js Express for authentication and email services \n\n## Keywords\n`database-management` `mysql` `postgresql` `influxdb` `react` `node-js` `docker` \n`synchronization` `monitoring` `web-ui` `material-ui` `database-sync` `devops` \n`self-hosted` `open-source` ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbangertech%2Fmole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbangertech%2Fmole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbangertech%2Fmole/lists"}