Projet personnel

Homies — App de colocation

Application mobile full-stack qui réinvente la vie en colocation : finances partagées, organisation collective et communication en temps réel.

NestJSTypeScriptReact NativePostgreSQLMongoDBRabbitMQSocket.ioDockerNx
Voir le site
Homies — App de colocation

Le problème

La colocation génère des frictions quotidiennes : dépenses non tracées, tâches qui s'accumulent, décisions prises sans consensus. Les solutions existantes sont soit trop basiques, soit éclatées entre plusieurs applications.

Homies centralise tout en une seule expérience fluide.

Ce que l'application résout

  • **Finances partagées** — Division des dépenses, suivi des dettes en temps réel, remboursements partiels et confirmations de paiement
  • **Organisation collective** — Courses, tâches ménagères, planning des repas avec responsabilités assignées
  • **Communication intégrée** — Conversations en temps réel, sondages instantanés pour les décisions collectives, notifications push
  • **Sécurité enterprise-grade** — Authentification 2FA, gestion des sessions multi-appareils, chiffrement des tokens
  • **Multi-plateforme** — iOS, Android et Web dans une seule codebase, interface bilingue FR / EN

Architecture technique

Le projet repose sur une architecture microservices déployée sur un monorepo Nx, conçue pour la scalabilité et la résilience.

  1. 1

    6 services indépendants

    Gateway, authentification, blog, colocation, WebSocket et notifications — chacun avec sa propre base de données et son périmètre métier strict.

  2. 2

    Domain-Driven Design

    Séparation stricte des responsabilités pour les domaines métier complexes. Le code suit le langage du domaine, pas l'inverse.

  3. 3

    Communication asynchrone

    RabbitMQ orchestre les événements entre services. Les notifications temps réel transitent sans couplage fort.

  4. 4

    CI/CD complet

    GitHub Actions, déploiement automatisé sur VPS via Docker, migrations de base de données sans interruption de service.

Résultats & métriques

  • 700+ tests unitaires couvrant les cas métier critiques — chaque service est testé en isolation
  • Zero downtime sur les déploiements en production grâce aux migrations versionnées
  • Architecture extensible : ajout d'un nouveau service sans modifier les existants
  • Codebase partagée entre mobile (React Native) et web via le monorepo Nx

Stack technique

NestJSTypeScriptReact NativePostgreSQLMongoDBPrismaRabbitMQSocket.ioDockerNxGitHub Actions