Fixed the READMEs and small fix around the project
This commit is contained in:
+144
@@ -0,0 +1,144 @@
|
||||
# 📝 sld-blocknotes - Sistema Moderno di Note a Blocchi & Gestione Comandi
|
||||
|
||||
> **🌐 Lingue disponibili**: [🇬🇧 English](README.md) | [🇮🇹 Italiano](README.it.md) | [🇪🇸 Español](README.es.md) | [🇫🇷 Français](README.fr.md)
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
Una potente applicazione Web moderna senza dipendenze esterne per organizzare note strutturate a blocchi, comandi di terminale, frammenti di codice ed istruzioni. Realizzata in **Pure PHP**, **Vanilla CSS**, **Vanilla JS** e **MySQL/MariaDB**.
|
||||
|
||||
URL Repository: [https://gitea.sld-server.org/sld-admin/sld-blocknotes](https://gitea.sld-server.org/sld-admin/sld-blocknotes)
|
||||
|
||||
---
|
||||
|
||||
## ✨ Funzionalità Principali
|
||||
|
||||
- 📑 **Note a Blocchi & Sottonote Strutturate**:
|
||||
- Organizza le tue note all'interno di blocknotes personalizzati.
|
||||
- Le note contengono titolo, descrizione e sottonote multiple.
|
||||
- **Note Richiudibili**: Le note sono ridotte di default per ottimizzare lo spazio verticale, con pulsanti globali **Espandi Tutte / Riduci Tutte**.
|
||||
|
||||
- ⚡ **Sottonote di Tipo Comando Terminale**:
|
||||
- Rendering differenziato tra sottonote di testo generico e comandi di terminale.
|
||||
- **Pulsante Copia con 1-Click**: Copia istantaneamente i comandi negli appunti con feedback visivo (`✓ Copiato!`).
|
||||
- Riquadro stile IDE/Terminale ad alto contrasto con barra di scorrimento verticale ad altezza limitata.
|
||||
|
||||
- 🔍 **Ricerca in Tempo Reale**:
|
||||
- Filtra titoli delle note, descrizioni, sottonote e contenuti dei comandi in tempo reale all'interno del blocknote aperto.
|
||||
- Espande automaticamente i blocchi corrisposti durante la ricerca.
|
||||
|
||||
- 📥 / 💾 **Importazione ed Esportazione JSON**:
|
||||
- Scarica il file JSON di ogni blocknote con un click (`export_blocknote.php`).
|
||||
- Importatore JSON interattivo con supporto per il formato standard e vecchio formato array.
|
||||
|
||||
- 🌐 **Interfaccia Multilingua (IT, EN, ES, FR)**:
|
||||
- Localizzazione completa in **Italiano 🇮🇹, English 🇬🇧, Español 🇪🇸 e Français 🇫🇷**.
|
||||
- Selector di lingua rapido nella navbar per ospiti ed utenti connessi.
|
||||
- La lingua preferita di ciascun utente viene salvata nel profilo DB per i futuri accessi.
|
||||
|
||||
- 🏠 **Pagina di Primo Accesso Personalizzabile**:
|
||||
- Scegli se accedere direttamente alla **Pagina Principale (Tutti i Blocknotes)** oppure aprire un **Blocknote Predefinito specifico** al login.
|
||||
|
||||
- 👑 **Ruolo Unico Owner & Gerarchia Avanzata (`owner` > `admin` > `user`)**:
|
||||
- **Account Owner Ineliminabile**: L'account Owner iniziale (`owner`) non può essere eliminato da nessun admin né da se stesso.
|
||||
- Gli amministratori standard non possono declassare né modificare il ruolo dell'Owner.
|
||||
|
||||
- ⚙️ **Personalizzazione Sito (Riservato Owner)**:
|
||||
- Modifica il **Titolo Globale dell'Applicazione**.
|
||||
- Carica e valida la **Favicon ad Alta Risoluzione** (minimo 64x64px) con anteprima in tempo reale.
|
||||
|
||||
- 🚀 **Wizard di Setup Iniziale (`first_start.php`)**:
|
||||
- Installatore automatico per configurare i dati di connessione MySQL, creare le tabelle ed impostare i primi utenti privilegiati (`owner` ed `admin`).
|
||||
- Completamente multilingua nelle 4 lingue.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Guida all'Installazione
|
||||
|
||||
### Requisiti
|
||||
- Server Web (Apache, Nginx, o PHP CLI server integrato)
|
||||
- PHP 7.4 o 8.x (con estensione `mysqli` abilitata)
|
||||
- MySQL 5.7+ o MariaDB 10.x+
|
||||
|
||||
### Installazione Passo-Passo
|
||||
|
||||
1. **Clona il Repository**:
|
||||
```bash
|
||||
git clone https://gitea.sld-server.org/sld-admin/sld-blocknotes.git
|
||||
cd sld-blocknotes
|
||||
```
|
||||
|
||||
2. **Avvia il Server Web**:
|
||||
Puoi utilizzare il server integrato di PHP:
|
||||
```bash
|
||||
php -S localhost:8000
|
||||
```
|
||||
|
||||
3. **Esegui il Wizard di Setup**:
|
||||
Apri il browser su `http://localhost:8000/`.
|
||||
Il sistema rileverà il primo avvio ed aprirà automaticamente `first_start.php`:
|
||||
- Inserisci i dati del tuo **Database MySQL** (Host, Nome Database, Utente, Password).
|
||||
- Configura le credenziali dell'**Account Owner**.
|
||||
- Configura le credenziali del **Primo Account Admin**.
|
||||
- Clicca su **⚡ Completa Installazione & Configura Sistema**.
|
||||
|
||||
4. **Accedi ed Inizia**:
|
||||
Al termine del setup verrai reindirizzato alla pagina di login `index.php?page=login`.
|
||||
|
||||
---
|
||||
|
||||
## 📁 Struttura del Progetto
|
||||
|
||||
```text
|
||||
sld-blocknotes/
|
||||
├── assets/
|
||||
│ ├── css/
|
||||
│ │ └── style.css # Design system Vanilla CSS e variabili HSL
|
||||
│ └── js/
|
||||
│ └── main.js # Vanilla JS per modali, note richiudibili, cerca e copia
|
||||
├── blocknotes/ # Cartella di salvataggio JSON dei blocknotes
|
||||
│ └── .gitkeep
|
||||
├── config/
|
||||
│ ├── constants.php # Definizione costanti di percorso
|
||||
│ ├── db.php # Connessione MySQL, auto-migrazione e redirect installer
|
||||
│ ├── functions_init.php # Router e sanificazione pagine
|
||||
│ ├── init.php # Inizializzazione sistema
|
||||
│ └── settings.php # Template configurazione credenziali DB
|
||||
├── functions/
|
||||
│ ├── auth.php # Autenticazione, permessi e protezioni Owner
|
||||
│ ├── blocknotes.php # Engine CRUD JSON blocknotes ed importatore
|
||||
│ ├── functions.php # Autoloader moduli funzioni
|
||||
│ ├── lang.php # Dizionario di traduzione multilingua (IT, EN, ES, FR)
|
||||
│ └── site_settings.php # Gestione titolo sito e favicon ad alta risoluzione
|
||||
├── includes/
|
||||
│ ├── head_links.php # Inclusioni CSS ed head globali
|
||||
│ └── js_footer.php # Inclusioni script footer globali
|
||||
├── pages/
|
||||
│ ├── 404.php # Pagina non trovata
|
||||
│ ├── admin_users.php # Gestione utenti admin ed impostazioni sito Owner
|
||||
│ ├── db-error.php # Template errore database
|
||||
│ ├── export_blocknote.php # Endpoint download JSON blocknote
|
||||
│ ├── home.php # Dashboard principale dei blocknotes
|
||||
│ ├── login.php # Pagina di login multilingua
|
||||
│ ├── logout.php # Disconnessione sessione
|
||||
│ ├── profile.php # Profilo utente, password, colori tema, lingua e landing page
|
||||
│ └── view_blocknote.php # Vista dettaglio blocknote, note richiudibili e cerca
|
||||
├── templates/
|
||||
│ ├── footer.php # Template footer pagina
|
||||
│ └── header.php # Header navbar, logo, badge utenti e selector lingua
|
||||
├── .gitignore
|
||||
├── first_start.php # Wizard di installazione guidata primo avvio
|
||||
├── index.php # Entry point applicazione e router
|
||||
├── README.md # Documentazione Principale in Inglese
|
||||
├── README.it.md # Documentazione in Italiano
|
||||
├── README.es.md # Documentazione in Spagnolo
|
||||
└── README.fr.md # Documentazione in Francese
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📄 Licenza
|
||||
|
||||
Questo progetto è rilasciato sotto licenza open-source [MIT License](LICENSE).
|
||||
Reference in New Issue
Block a user