# Mariavel

**Mariavel** is a modern, high-performance database management tool designed to replace traditional, clunky interfaces with a sleek, developer-centric experience. Built with **Laravel 11**, **React**, and **DevExtreme**, it offers a premium UI and robust backend architecture adhering to **SOLID** principles.

![Mariavel Dashboard](docs/ss/dashboard_dark.png)

## 🚀 Features

- **Zero-Lag Performance:** Virtual scrolling for millions of rows using DevExtreme DataGrid.
- **Dynamic Connectivity:** Switch between multiple databases and connections on-the-fly.
- **SOLID Architecture:** Maintainable and scalable codebase using Service-Repository patterns and Dependency Inversion.
- **Premium UI/UX:** A high-end "Nano Banana" aesthetic with glassmorphism, Dark/Light mode, and MUI components.
- **CLI-Powered Tools:** Asynchronous Import/Export using system-level `mysqldump` and `mysql` commands.

## 🛠️ Tech Stack

- **Backend:** Laravel 11, PHP 8.5+, Sanctum, Laravel Reverb (WebSockets).
- **Frontend:** React (TypeScript), Vite, Material UI (MUI), DevExtreme DataGrid.
- **Database:** MySQL/MariaDB (Initial support, architected for multi-engine support).

---

## 📦 Getting Started

### Prerequisites

- PHP 8.2 or higher
- Composer
- Node.js & NPM
- MySQL Server

### 1. Backend Setup

```bash
cd backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serve
```

The backend will be running at `http://localhost:8000`.

### 2. Frontend Setup

```bash
cd frontend
npm install
npm run dev
```

The frontend will be running at `http://localhost:5173`.

---

## 🏗️ Architecture (SOLID)

Mariavel is built with long-term maintainability in mind:

- **Single Responsibility (SRP):** Business logic is decoupled into specialized Services and Repositories.
- **Dependency Inversion (DIP):** Controllers depend on Abstractions (Interfaces), allowing for seamless swaps of database drivers.
- **Open/Closed (OCP):** New database engines can be added by implementing the `DatabaseDriverInterface` without modifying existing core logic.

---

## 📸 Screenshots

| Dashboard (Dark Mode) | Table Explorer (Light Mode) |
| :--- | :--- |
| ![Dashboard](docs/ss/dashboard_dark.png) | ![Table Explorer](docs/ss/table_explorer_light.png) |

---

## 📄 License

This project is developed by **Antigravity** for **Trunçgil Teknoloji**.
