Saverly.fr
Projet de gestion de budget personnel.
Quelques images et vidéos
Pour la page d'accueil l'objectif était d'avoir un style "argent", pour ça j'ai utilisé une police avec serif pour les titres

La capture d'écran a quelques problèmes, mais vous pouvez avoir une idée de ce que ça ressemble.
Et finalement, l'onboarding et une petite démo de l'application.
La vidéo est un peu longue, au sommaire:
- On commence par un onboarding
- Demander un nom
- Création d'une enveloppe
- Création d'une transaction
- Création d'un abonnement
Chaque étape est animée avec un swipe de droite à gauche lorsqu'on passe à la page suivante (inversement si on clique sur retour)
- On arrive sur le dashboard
- On voit les graphs, les listes.
- On peut modifier les transactions
- On peut ajouter des abonnements
- Et filtrer par date
Ici toute la donnée est stockée en local et synchronisée avec le serveur, ce qui permet d'avoir aucun chargement, ou spinner lors des modifications.
Une partie que j'apprécie particulièrement est le modal de création d'abonnement.
L'affichage des prochaines executions, les détails sur les "s" lorsqu'il y a plusieurs jours, les icons, filtres.. tous ces détails sans aucun chargement sont parfaits.
Stack
- Next.js
- Tailwind
- Drizzle - (nouveau) pour gerer la connexion à la db / remplacer prisma
- Replicache / PusherJs - (nouveau) pour la partie localfirst
- Clerk - (nouveau) pour la partie auth
- next-safe-action - (nouveau) pour gerer les appels d'api et remplacer trpc
Dans certains cas trpc est trop lourd,
next-safe-action
le remplace très bien.Un mutator côté client et une méthode similaire côté serveur pour synchroniser. N'avoir aucun chargement est tellement plaisant 😎
Cette application ne peut pas exister sans ce principe, quelqu'un en extérieur, avec un réseau faible n'enregistrera jamais une dépense si le site doit charger pendant quelques secondes avec des spinners.
Conclusion
Ce projet n'a pas été très long, la mise en place de replicache a été la plus grosse partie. Tout cela a pris 3 petits week-ends.
Pour le moment le code reste privé, mais si je n'en fait rien je le rendrai public.