KREDS (prossimamente spiegherò l’origine del nome) è un ecosistema nato per impratichirmi nell’arte del coding in GO e per realizzare il mio grande side project, il mio secondo cervello che mi aiuti ad automatizzare tutta la mia vita togliendomi il peso delle attività ripetitive e di scouting mattutine dentro una miriade di articoli dai diversi blog alla ricerca di spunti di riflessione e cose nuove da guardare e imparare.
Parallelamente per creare KREDS partirò a scrivere una serie di articoli più o meno tecnici per tracciare i progressi e le idee che mi vengono in mente per valutare poi a fine anno quanto sono stato attivo e costante sia nello scrivere che nel programmare.
Ad oggi vorrei usare principalmente:
- Go (Fiber, Log, Rabbit Integration, Channels)
- Python (Pandas, Log, LLM)
- RabbitMQ
- Docker
- Make
Iniziamo dallo scrivere un primo scheletro dell’applicazione che andrà piano piano completato.
La base dovrebbe essere questa di seguito in cui prevediamo:
Di seguito una breve descrizione del contenuto base del progetto, poi nei prossimi articoli andremo ad analizzare meglio tutte le varie parti.
Commons
La directory commons conterra’ I file comuni ai vari microservizi, in questo caso dentro c’e’ il file di configurazione del modulo log per i microservizi go:
log.yaml
Config
La directory config invece conterrà i file di configurazione utili per il progetto, nel nostro caso per ora contiene il file di configurazione del tool usato per mostrare le statistiche dei file di log dei microservizi:
goaccess.conf
Dash
La directory Dash e’ un sottorepository che contiene il microservizio go basato su Fiber che si occuperà di fornire la navigazione per le pagine pubbliche del frontend, in questo caso ha solo la pagina di cortesia.
Al momento e’ composta da un file Docker che contiene le istruzioni per creare il Docker, la cartella" Template” che contiene il file di configurazione ".env” e la cartella “Dist” che contiene il sito che verra’ servito dal webserver del microservizio, i file del microservizio go (”go.sum”, ”go.mog” e ”main.go”)
Logs
Cartella che contiene i file di Logs generati dai microservizi
Reports
Cartella che conțiene i report generati da goaccess e da altre applicazioni
Shurl
Cartella che conterrà il microservizio che gestira’ il servizio di Abbreviazione degli URL
Docker-compose.yaml
File con le istruzioni per instanziare i vari container
Makefile
File con le istruzioni Make per automatizzare la maggior parte delle operazioni
README.md
File di descrizione del repository.
Per oggi e’ tutto, stay tuned.
P.S. il tool per generare la struttura cartelle, tree.nathanfriend.io,lo trovate al link:
https://tree.nathanfriend.io/?s=%28%27options%21%28%27fancy%21true~fullPath%21false~trailingSl5%21true~rootDot%21false%29~6%28%276%27KREDS0commons2log7config8goaccess.conf0d52template8dist8%2Afavicon8%2A%2A4x8%2Aindex.html2.env2DockerfileFmodFsum2main.go230log9log0report9html0shurl240Bignore0docker-compose7LICENSE0Makefile03%27%29~version%21%271%27%29%2A%20%200%5Cn%2A20%2A3README.md4Bkeep5ash6source%217.yaml082%2A9s2d5.B.gitF2go.%01FB987654320%2A%20%200%5Cn203README.md4Bkeep5ash6source!7.yaml0829s2d5.B.gitF2go.%01FB987654320*)