78 lines
2.3 KiB
Markdown
78 lines
2.3 KiB
Markdown
# 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.
|
|
|
|

|
|
|
|
## 🚀 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) |
|
|
| :--- | :--- |
|
|
|  |  |
|
|
|
|
---
|
|
|
|
## 📄 License
|
|
|
|
This project is developed by **Antigravity** for **Trunçgil Teknoloji**.
|