Retour aux projets
Code

Application personal mind

Personal Mind est une application web full-stack de journaling personnel et de suivi de bien-être, enrichie par l'intelligence artificielle (Claude/OpenAI) pour analyser vos entrées de journal, vos rêves et vos activités physiques.

Application personal mind
DockerPostgreSQLTypeScriptRedis

# Personal Mind — Votre compagnon intelligent de bien-être

Présentation

Personal Mind est une application web progressive (PWA) conçue pour le suivi personnel au quotidien. Elle combine un journal intime, un carnet de rêves, un suivi d'activité physique et un assistant IA pour offrir une vision globale de votre bien-être.

Stack technique

| Couche | Technologies |

|--------------|----------------------------------------------------|

| Frontend | React 18, TypeScript, Vite, TailwindCSS, Zustand |

| Backend | NestJS, TypeScript, TypeORM, Passport.js (JWT) |

| Base de données | PostgreSQL 16, Redis 7 |

| IA | Anthropic Claude (principal), OpenAI (alternatif) |

| Déploiement | Docker, Docker Compose, Nginx, GitLab CI/CD |

Fonctionnalités principales

Journal quotidien

Rédigez des entrées quotidiennes avec un suivi de l'humeur (5 niveaux), des tags

et du contenu libre. Visualisez l'évolution de votre humeur dans le temps.

Analyse de rêves

Enregistrez vos rêves avec titre, contenu, émotions et niveau de lucidité (0-10).

L'IA peut interpréter vos rêves et en tirer des tendances.

Suivi d'activité physique

Suivez vos activités (course, vélo, natation, yoga, etc.) avec durée, distance

et calories. L'application propose des visualisations avancées : heatmap calendaire, graphiques de progression, répartition par type d'activité. Une intégration Strava permet la synchronisation automatique.

Assistant IA

Posez des questions personnalisées à l'assistant, demandez des résumés

hebdomadaires ou mensuels, et obtenez des analyses contextuelles basées sur

l'ensemble de vos données (journal, rêves, activités).

Panneau d'administration

Les administrateurs peuvent gérer les utilisateurs (blocage, suppression),

consulter les statistiques globales et recevoir des notifications email

lors de nouvelles inscriptions.

Architecture

L'application suit une architecture classique client-serveur conteneurisée :

  • Frontend servi par Nginx sur le port 80, construit avec Vite
  • Backend API REST NestJS sur le port 3000, protégée par JWT
  • PostgreSQL pour la persistance des données avec isolation par utilisateur
  • Redis pour le cache
  • Docker Compose orchestre l'ensemble des services
  • Le design est mobile-first et responsive : navigation latérale fixe sur desktop,

    barre de navigation en bas d'écran sur mobile.

    Sécurité

  • Authentification JWT avec refresh tokens
  • Mots de passe hashés avec bcrypt
  • Rate limiting sur les endpoints sensibles
  • Isolation des données par utilisateur (row-level)
  • Validation des entrées avec class-validator
  • Protection des routes admin par un guard dédié
  • Déploiement

    Un simple `docker-compose up -d` lance l'ensemble de la stack en production.

    Un pipeline GitLab CI/CD assure la construction automatique des images Docker.

    5 vues