Bene bene, altro post cultura:
Questo post sarà su come creare un social simile a Hint o Instagram o altri. Seguite i punti passo passo:
- Definire l'obbiettivo del social
- Defiinire il pubblico e le regole
- Capire se è web-only o anche mobile app
Ora iniziano le cose serie:
- Decidere il Backend, quindi il codice logico, ad esempio potreste usare FastAPI, che vi servirà per avere le vostre API. Le API non sono queste:

Le API sono un’interfaccia di comunicazione, o un vero e proprio “contratto”, che permette a un software di utilizzare funzionalità o dati esposti da altri software, semplificando l’integrazione tra sistemi diversi.
- Decidere il Database (preferibilmente Postgres)
- Dove mettere le immagini, poi anche la Cache/queue
La Cache è opzionale, potete metterla anche post-launch, poi dipende.
- Utilizzo di Redis per i cookie e le sessioni utenti, più comodo e veloce di Postgres in questo caso, no?
Cos'è Redis: è come un database che associa direttamente la chiave al valore, ad esempio #394 -> "Mahdi", in cui la chiave è 394 ed il valore è il mio nome utente.
Con postgre scriverete "SELECT * FROM users WHERE name = "mahdi";"
Invece con Redis direte un semplice "GET user:mahdi". Così avrete selezionato tutto su di me tecnicamente. "*" sta proprio per "tutto", poi in realtà Redis non prende tutto, ma solo ciò che è deciso dall'app.
- CDN (vi srrve a ridistribuire le cose più velocemente)
Entriamo nel clou:
- Andate su Github, create una repository Git (privata)
- impostate la struttura monorepo o multri-repo
- Aggiungete un ".gitignore" per proteggere i file importante tipo ".env"
- Aggiungete un README se proprio proprio, anche se effettivamente se lavorate da soli, il README serve solo a chatgpt se vi stra bloccate hahah
- Impostare banching model, consigliato il main/develop per i test
- Impostare issue templates / PR templates
- Impostare un Lint/format per evitare di avere problemi quando siete online (chiedere a GPT sul come fare, non ho spazio qui hahah)
- Quando state per metterlo online mettete anche i pre-commit hook, per evitare altri errori e casini nel codice
-
Altre cose super necessarie:- Definire il runtime (es. Python)
- Creare file per la gestione delle dipendenze (questo mi ricorda molto quando si creano le mod di minecraft).
- Creare requirements.txt / poetry.lock o package-lock.json. Così potete rendere riproducibile ovunquee il Backend.
- Creare script di bootstrap. "make dev / lint / test".
Una volta preparati con solo il semplice comando "Make dev" potrete preparare l'ambiente e renderlo tanto soffice sofficioso per i comandi, così che possano girare. Con "Make lint" fate un controllo rapido di qualità, per errori comuni. Con "Make test" fate dei test veloci.
E questo è l'inizio, i primi 2 punti su 20 :)
Likate e seguitemi per altri consigli utilissimi.
@icecube
❄️