playtranslate
Android 실시간 화면 번역 앱, 언어 학습자와 캐주얼 게이머용
FormulaBase로 양식과 치트시트를 만들고, 고급 편집기와 AI 도우미로 몇 초 만에 수식과 메모를 생성·공유한다
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.
교육TypeScript · CSSGitHub @Avabucks온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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 |