Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Gestisci i risparmi dei bambini con depositi, prelievi e grafici storici
Translation pending
AI summary · website and README
FinanceJavaScript · CSSGitHub @diegoepis-ossOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
🏦 BabyBanking — La Banca di Casa App online per gestire il "libretto di risparmio" di Arturo, Santiago e Sofia: tre salvadanai separati, depositi e prelievi, con lo storico completo di ogni movimento (data + descrizione). Gira su Vercel (ospita le pagine e la logica dell'app) e Supabase (il database dove sono salvati conti e movimenti) — entrambi gratuiti per un uso come questo.Read the full README ↗
App online per gestire il "libretto di risparmio" di Arturo, Santiago e Sofia: tre salvadanai separati, depositi e prelievi, con lo storico completo di ogni movimento (data + descrizione). Gira su Vercel (ospita le pagine e la logica dell'app) e Supabase (il database dove sono salvati conti e movimenti) — entrambi gratuiti per un uso come questo.
Password di partenza (cambiale subito dopo il primo deploy, vedi sotto):
12342026public/ — le pagine che vedono Arturo, Santiago e Sofia (HTML/CSS/JS, le
stesse di sempre, nessuna build richiesta).api/ + src/ — la logica del server (login, depositi, prelievi,
statistiche): su Vercel diventa automaticamente una funzione "serverless"
che gira solo quando serve.supabase/schema.sql — la struttura del database da creare una volta sola
su Supabase.babybanking), una password
per il database (salvala da parte, ma non ti servirà nell'uso quotidiano)
e una regione vicina a te (es. Frankfurt/EU). Piano Free.supabase/schema.sql di questo progetto, copia tutto il
contenuto, incollalo nell'editor e clicca Run. Questo crea le tabelle
per conti, movimenti e password, e inserisce i tre conti (Arturo,
Santiago, Sofia) con le password di partenza già pronte.https://xxxxx.supabase.co).anon/public!). È una chiave segreta con
accesso completo al database: non condividerla né pubblicarla mai,
andrà solo nelle variabili d'ambiente di Vercel (passo 3).Se il progetto è già su GitHub (come questo repository) puoi saltare questo passo. Altrimenti crea un repository su github.com e caricaci questo codice.
Vai su vercel.com e crea un account gratuito collegandoti con GitHub (così Vercel vede subito i tuoi repository).
Clicca Add New → Project, e scegli il repository di BabyBanking dalla lista.
Nella schermata di configurazione, apri Environment Variables e
aggiungi queste tre variabili (i valori di SUPABASE_URL e
SUPABASE_SERVICE_ROLE_KEY sono quelli copiati al Passo 1):
| Nome | Valore |
|---|---|
SUPABASE_URL | il Project URL di Supabase |
SUPABASE_SERVICE_ROLE_KEY | la chiave service_role di Supabase |
SESSION_SECRET | una stringa lunga e casuale (vedi sotto) |
Per generare SESSION_SECRET, apri un terminale (su Mac: app
"Terminale") e lancia:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
e incolla il risultato come valore. Se non hai Node.js a portata di mano, va bene anche una password lunga e casuale generata da un gestore di password: l'importante è che sia lunga (almeno 32 caratteri) e che tu non la condivida.
Clicca Deploy. Dopo un minuto circa Vercel ti darà un indirizzo tipo
https://babybanking-tuonome.vercel.app: è l'app, online, raggiungibile
da qualunque dispositivo connesso a internet (non solo a casa).
Non appena l'app è online, cambia subito le password di default. Il modo più semplice è farlo in locale (una volta), collegandoti allo stesso database:
.env.example in un
nuovo file chiamato .env.local e incolla gli stessi valori di
SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY e SESSION_SECRET usati su
Vercel.npm install
npm run set-pins
Da quel momento le nuove password valgono subito sull'app online, senza bisogno di un nuovo deploy.
L'app, se usata raramente, rischia due cose: Supabase mette in pausa i progetti gratuiti dopo 7 giorni senza richieste al database, e in generale è sempre meglio avere una copia di sicurezza dello storico a parte. Per questo l'app include due controlli automatici (due "Cron Job" di Vercel):
Per attivarli servono 4 nuove variabili d'ambiente su Vercel:
Genera una "Password per le app" di Google (serve per far inviare email al server a nome tuo, senza usare la password normale del tuo account):
abcd efgh ijkl mnop,
va bene anche con gli spazi)Su Vercel → Settings → Environment Variables, aggiungi:
| Nome | Valore |
|---|---|
CRON_SECRET | una stringa lunga e casuale (generala come hai fatto per SESSION_SECRET) |
GMAIL_USER | il tuo indirizzo Gmail |
GMAIL_APP_PASSWORD | il codice di 16 caratteri generato al punto 1 |
BACKUP_EMAIL_TO | l'indirizzo a cui vuoi ricevere il backup (può essere lo stesso di GMAIL_USER) |
Rifai il deploy (Vercel → Deployments → tre puntini sull'ultimo deploy → Redeploy) perché le nuove variabili vengano applicate.
Per controllare che funzioni: Vercel → scheda Cron Jobs del progetto mostra i due job programmati e, dopo che sono scattati almeno una volta, l'esito dell'ultima esecuzione. Puoi anche forzarne uno subito cliccandoci sopra invece di aspettare l'orario programmato.
Se preferisci non usare Gmail, puoi comunque esportare manualmente lo storico in qualsiasi momento da Supabase (vedi "Dati salvati" più sotto).
Con .env.local configurato come sopra (Passo 4.1), puoi lanciare l'app sul
tuo computer collegata allo stesso database di Supabase:
npm install
npm start
L'app parte su http://localhost:3000. Ogni modifica fatta in locale (un
deposito di prova, ecc.) è vera e visibile anche sull'app online, perché
condividono lo stesso database: usa questa modalità solo per test rapidi, o
crea un secondo progetto Supabase "di prova" se vuoi sperimentare senza
toccare i dati veri.
Basta fare push delle modifiche sul branch collegato a Vercel (di solito
main): Vercel rifà automaticamente il deploy in un minuto o due, senza
altri passaggi.
Conti e movimenti vivono nel database Supabase (non più in un file locale). Se hai configurato il Passo 5, ricevi già ogni domenica un CSV di backup via email. In più, Supabase fa backup automatici sul piano gratuito, e in qualsiasi momento puoi anche esportare le tabelle a mano da Table Editor → menu dei tre puntini → Export data in formato CSV.
api/index.js -> punto di ingresso per Vercel (funzione serverless)
server.js -> avvio del server in locale, per sviluppo/test
src/app.js -> app Express condivisa da locale e Vercel
src/store.js -> lettura/scrittura dati su Supabase
src/session.js -> login "senza server acceso 24/7" (cookie firmato)
src/routes.js -> API usate dal frontend
src/routes-cron.js -> endpoint dei due Cron Job (ping giornaliero, backup settimanale)
src/mailer.js -> invio dell'email di backup via Gmail
src/csv.js -> genera il file CSV dello storico transazioni
public/ -> interfaccia grafica (HTML/CSS/JS)
supabase/schema.sql -> struttura del database da eseguire su Supabase
scripts/set-pins.js -> script da riga di comando per cambiare le password
vercel.json -> configurazione del deploy e dei Cron Job su Vercel