ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Crea, organizza e condividi i tuoi formulari e cheat sheet con FormulaBase. Usa l'editor avanzato e l'assistente AI per generare formule e appunti in pochi secondi.
Translation pending
EducationTypeScript · CSSGitHub @AvabucksOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗FormulaBase è una web app avanzata per creare, organizzare e condividere formulari scientifici e cheat sheet. Permette di scrivere contenuti complessi in Markdown e LaTeX, organizzarli in capitoli e argomenti, salvarli nel proprio spazio personale, condividerli tramite link pubblici o codici QR e utilizzare assistenti AI di ultima generazione per generare o migliorare formule ed appunti.
iron-session./admin dedicato per il monitoraggio degli utenti attivi, la creazione di formulari, l'analisi della distribuzione delle risorse e la lettura dei feedback degli utenti.pg_trgm per la ricerca fuzzy)@monaco-editor/react)react-katex, rehype-katex), React Markdown e Mermaid.js@google/generative-ai) e Groq API (groq-sdk)Prima di iniziare, assicurati di avere installato:
Clona la repository ed installa i pacchetti necessari:
npm install
Crea il tuo file .env.local partendo dal modello di esempio:
cp .env.example .env.local
(Su Windows PowerShell):
Copy-Item .env.example .env.local
Compila il file .env.local configurando le chiavi per Firebase, il database PostgreSQL, Gemini/Groq e Umami.
Esegui lo script SQL fornito per generare le tabelle:
psql "$DATABASE_URL" -f sql/create_tables.sql
[!IMPORTANT] Dashboard di Amministrazione (
/admin): Lo schema SQL di base non include di default privilegi di amministrazione per gli utenti. Per abilitare l'accesso alla dashboard admin, aggiungi la colonnais_adminalla tabellausers:ALTER TABLE users ADD COLUMN is_admin BOOLEAN DEFAULT FALSE;Dopodiché, imposta a
TRUEil flag per il tuo specificouidutente (assegnato da Firebase):UPDATE users SET is_admin = TRUE WHERE uid = 'IL_TUO_UID_FIREBASE';
Avvia il server locale di sviluppo:
npm run dev
L'applicazione sarà disponibile all'indirizzo: http://localhost:3000
| Variabile | Descrizione |
|---|---|
DATABASE_URL | Stringa di connessione a PostgreSQL |
NEXT_PUBLIC_FIREBASE_API_KEY | Chiave API Firebase Client |
NEXT_PUBLIC_GOOGLE_CLIENT_ID | Client ID OAuth Google per il login ed il Google One Tap |
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN | Dominio di autenticazione Firebase |
NEXT_PUBLIC_FIREBASE_PROJECT_ID | ID progetto Firebase |
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET | Bucket di storage Firebase |
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID | ID mittente messaggi Firebase |
NEXT_PUBLIC_FIREBASE_APP_ID | App ID Firebase Client |
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID | ID di misurazione Analytics Firebase |
FIREBASE_PRIVATE_KEY | Chiave privata del Service Account Firebase Admin |
FIREBASE_CLIENT_EMAIL | Email del Service Account Firebase Admin |
SESSION_SECRET | Chiave segreta di crittografia per iron-session (min. 32 caratteri) |
NEXT_PUBLIC_APP_URL | URL pubblico dell'applicazione (es. per canonical URL/condivisione) |
NEXT_PUBLIC_FORMULARIO_BENVENUTO_ID | beautiful_id del formulario predefinito clonato per i nuovi utenti |
GEMINI_API_KEY | API Key per l'accesso ai modelli Google Gemini |
GROQ_API_KEY | API Key per l'accesso ai modelli di inferenza Groq |
L'applicazione dispone di scorciatoie da tastiera integrate per velocizzare la navigazione e la formattazione scientifica all'interno dell'editor.
Ctrl + KCtrl + Shift + ICtrl + Shift + AAlt + AAlt + 1Alt + 2Alt + 3Ctrl + BCtrl + ICtrl + Shift + QCtrl + Shift + 7Ctrl + Shift + 8Ctrl + Shift + 9Alt + TCtrl + Shift + JCtrl + Shift + UCtrl + Shift + GCtrl + Shift + HCtrl + Shift + [1-6]Ctrl + SCtrl + Z / Ctrl + YCtrl + DCtrl + Shift + LAlt + ClickAlt + ↑ / Alt + ↓Shift + Alt + ↓Ctrl + Shift + Ksrc/
├── app/ # Pagine, rotte, API Next.js e logica di routing (robots.ts, sitemap.ts)
├── components/ # Componenti UI riutilizzabili e moduli di dominio (editor, auth, home)
├── data/ # Configurazione statica e costanti (es. kbs.json per shortcut)
├── hooks/ # Custom hooks di React (es. useIsMobile, useFilters)
├── lib/ # Utility, inizializzazione DB (pg), Firebase SDK e iron-session
├── proxy.ts # Logica e matcher per la protezione delle rotte ed i reindirizzamenti
└── styles/ # Fogli di stile CSS globali, KaTeX ed editor personalizzati
public/ # Asset statici (loghi, manifest.json, immagini e icone)
sql/ # Script di creazione delle tabelle del database PostgreSQL
Il database PostgreSQL utilizza le seguenti tabelle configurate in sql/create_tables.sql:
users: Informazioni sul profilo degli utenti registrati (UID Firebase, nome, email, foto profilo).formulari: Testata del formulario (titolo, descrizione, visibilità privata/pubblica/condivisa, contatore visualizzazioni, owner).capitoli: Sezioni intermedie collegate a un formulario con ordine di ordinamento personalizzato.argomenti: Le pagine effettive contenenti il testo scritto in Markdown/LaTeX.preferiti: Relazione molti-a-molti che traccia i formulari salvati dagli utenti nella dashboard.feedback: Valutazioni da 1 a 5 stelle e recensioni fornite dagli utenti per il monitoraggio della qualità.Viene inoltre abilitata l'estensione pg_trgm per supportare ricerche testuali con corrispondenze parziali e similarità di stringhe.
/api/auth/login.iron-session. Se l'utente non è censito nel DB locale, viene registrato automaticamente nella tabella users.src/proxy.ts protegge le rotte riservate (come /home, /editor, /settings, /admin) reindirizzando gli utenti non autenticati al login./editor/[argomentoId], l'utente può scrivere note con formattazione istantanea KaTeX. Può chiedere supporto all'AI Chat, che recupera il contenuto corrente per ottimizzare il prompt. I dati vengono salvati automaticamente su PostgreSQL./community e i motori di ricerca lo indicizzeranno grazie alla sitemap dinamica (/sitemap.ts).npm run dev: Avvia il server di sviluppo locale.npm run build: Esegue la compilazione del progetto per l'ambiente di produzione.npm run start: Avvia l'applicazione Next.js già compilata in produzione.npm run lint: Esegue i controlli statici del codice con ESLint.npm run format:check: Controlla lo stile del codice usando Prettier.npm run format:fix: Applica automaticamente le correzioni di formattazione di Prettier in tutto il progetto.NEXT_PUBLIC_UMAMI_APP_ID| ID del sito configurato per il tracciamento Umami Analytics |