PROs
- il progetto è veramente molto grande e completo in termini di funzionalità, ottimo lavoro!
- 38 PRs 🚀
- conventional commits usati correttamente
- 95% di code coverage
- codice tipizzato con type hints
- ottima directory structure
- README ben scritto in inglese con istruzioni dettagliate di setup
- requirements.txt e requirements_dev.txt correttamente separati (dipendenze runtime vs development) ✔️
- test organizzati in classi
- .gitignore completo e ben configurato
- uso del Singleton pattern per CatalogueService
CONs
- in mypy.ini è stato configurato
ignore_errors = True per src.models.*, questo di fatto disabilita il type checking su tutti i modelli ORM vanificando in parte l'uso di mypy
- stringhe utente in italiano sparse nel codice (app.py, member.py, member_view.py, loan_view.py) — per coerenza con il resto del codice in inglese, andrebbe usata una sola lingua, oppure implementato un sistema di i18n
Il progetto è molto più grande delle dimensioni richieste per il ciclo di seminari, ottimo lavoro veramente 💪🏁
Un suggerimento per prossimi progetti simili, potreste utilizzare una struttura Single-Page-Application, dove non serve ricaricare tutta la pagina ogni volta che si clicca in un pulsante, attualmente qualsiasi azione o link richiede il ricarimento di tutta la pagina per intero, il che rende il sito molto lento.
Però questo sicuramente richiederebbe lo sviluppo di un frontend un po' più corposo e molto tempo in più, avete già fatto molto con la piattaforma creata.
PROs
CONs
ignore_errors = Truepersrc.models.*, questo di fatto disabilita il type checking su tutti i modelli ORM vanificando in parte l'uso di mypyIl progetto è molto più grande delle dimensioni richieste per il ciclo di seminari, ottimo lavoro veramente 💪🏁
Un suggerimento per prossimi progetti simili, potreste utilizzare una struttura Single-Page-Application, dove non serve ricaricare tutta la pagina ogni volta che si clicca in un pulsante, attualmente qualsiasi azione o link richiede il ricarimento di tutta la pagina per intero, il che rende il sito molto lento.
Però questo sicuramente richiederebbe lo sviluppo di un frontend un po' più corposo e molto tempo in più, avete già fatto molto con la piattaforma creata.