Files
turborfq/bible-local/README.md

60 lines
2.5 KiB
Markdown

# TurboRFQ — Project Bible
Single source of truth for all architectural and operational knowledge about the project.
> **Rule — Architecture:** Every architectural decision — new service, changed data flow, chosen library, API contract, auth model — **must be recorded here** before or immediately after implementation. If it's not in the Bible, it doesn't officially exist.
>
> **Rule — Language:** All documentation in the Bible is written in **English**. This applies to file contents, section headings, comments, and any inline notes.
---
## Contents
| File | What's inside |
|------|---------------|
| [architecture.md](architecture.md) | System design, backend services, data flow |
| [api.md](api.md) | All REST API endpoints with parameters and responses |
| [frontend.md](frontend.md) | Frontend components, Tabulator integration |
| [installation.md](installation.md) | Docker & manual setup, environment variables, prerequisites |
| [usage.md](usage.md) | User guide: login, CRUD, CSV import/export, backup |
| [security.md](security.md) | Auth model, session handling, access control |
| [roadmap.md](roadmap.md) | Known gaps, customization ideas, future work |
---
## Project Summary
**TurboRFQ** is a lightweight PHP web application that provides an Excel-like interface for browsing and editing MariaDB tables.
- Users authenticate with their **own MariaDB credentials** — no separate app user store.
- The app is **schema-agnostic**: it reads all metadata from `information_schema` and works with any database.
- The UI is a live editable grid built on **Tabulator** with per-column filters, server-side pagination, and full CRUD.
### Tech Stack at a Glance
| Layer | Technology |
|-------|-----------|
| Backend language | PHP 8.1+ |
| Routing / DI | Slim 4, PHP-DI |
| Database access | PDO (MariaDB/MySQL) |
| Frontend | Vanilla JS + Tabulator |
| Containerization | Docker |
### Repository Layout
```
turborfq/
├── bible/ ← you are here (architecture documentation)
├── public/
│ ├── index.php ← front controller, all routes
│ ├── index.html ← single-page shell (sidebar + toolbar + grid)
│ └── js/app.js ← all frontend logic
├── src/
│ ├── Db.php ← PDO factory
│ ├── MetaService.php ← schema/column/FK metadata
│ ├── DataService.php ← CRUD, CSV, batch ops
│ └── BackupService.php← mysqldump wrapper
├── composer.json
└── Dockerfile
```