cd16c354c0
Next.js 16 App Router, Prisma + PostgreSQL, NextAuth v5 JWT. Features: dashboard quick-log, timeline, growth charts (WHO percentiles), stats, journal/notes, doctor notes, milestones, vaccinations, settings, superadmin panel. Mobile-first with sidebar nav + bottom nav + quick-add FAB. Dark mode, PWA push notifications, multi-family invite system. Docker: multi-stage Dockerfile + docker-compose with postgres service.
86 lines
2.6 KiB
Markdown
86 lines
2.6 KiB
Markdown
# 🌱 Grow — Suivi nouveau-né
|
||
|
||
Application web pour suivre les activités de votre nouveau-né (allaitement, couches, sommeil, croissance...).
|
||
|
||
## Stack
|
||
|
||
- **Next.js 16** (App Router, TypeScript)
|
||
- **PostgreSQL** + Prisma ORM (v7)
|
||
- **NextAuth v5** (authentification par email/mot de passe)
|
||
- **Tailwind CSS v4**
|
||
- **Recharts** (graphiques stats + courbes OMS)
|
||
- **TanStack Query** (sync temps réel entre les deux parents)
|
||
|
||
## Démarrage rapide
|
||
|
||
### 1. Base de données PostgreSQL
|
||
|
||
Option A — Docker (recommandé) :
|
||
```bash
|
||
docker run -d \
|
||
--name grow-db \
|
||
-e POSTGRES_PASSWORD=postgres \
|
||
-e POSTGRES_DB=grow \
|
||
-p 5432:5432 \
|
||
postgres:16
|
||
```
|
||
|
||
Option B — Homebrew :
|
||
```bash
|
||
brew install postgresql@16
|
||
brew services start postgresql@16
|
||
createdb grow
|
||
```
|
||
|
||
Option C — Cloud (Railway, Supabase, Neon) : copier l'URL de connexion.
|
||
|
||
### 2. Variables d'environnement
|
||
|
||
Éditer `.env` :
|
||
```env
|
||
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/grow"
|
||
AUTH_SECRET="votre-secret-32-chars" # openssl rand -base64 32
|
||
NEXTAUTH_URL="http://localhost:3000"
|
||
```
|
||
|
||
### 3. Migrations + démarrage
|
||
|
||
```bash
|
||
pnpm install
|
||
npx prisma migrate dev --name init
|
||
pnpm dev
|
||
```
|
||
|
||
Ouvrir [http://localhost:3000](http://localhost:3000).
|
||
|
||
### 4. Inviter le deuxième parent
|
||
|
||
Après inscription → **Réglages** → copier le lien d'invitation → envoyer à l'autre parent.
|
||
|
||
## Fonctionnalités
|
||
|
||
- **Dashboard** : boutons de log rapide (2 taps max), résumé du jour, dernières activités avec horodatage relatif
|
||
- **Journal** : timeline chronologique filtrée par type, édition des notes, suppression
|
||
- **Statistiques** : graphiques hebdomadaires (repas, couches, sommeil), intervalle moyen entre les repas
|
||
- **Courbes** : courbe de poids avec courbes OMS (P3–P97), taille, périmètre crânien
|
||
- **Export CSV** : tous les événements avec filtres de dates (compatible Excel)
|
||
- **Multi-parents** : sync automatique toutes les 10 secondes, chaque événement indique qui l'a enregistré
|
||
- **PWA** : installable sur iPhone/Android depuis Safari/Chrome
|
||
|
||
## Types d'événements
|
||
|
||
| Emoji | Événement | Champs spécifiques |
|
||
|-------|-----------|-------------------|
|
||
| 🤱 | Allaitement | Sein (gauche/droite/les deux), timer live |
|
||
| 🍼 | Biberon | Volume (mL), type (maternel/artificiel) |
|
||
| 💧 | Couche mouillée | — |
|
||
| 💩 | Selles | Couleur, quantité |
|
||
| 😴 | Sieste | Timer live, durée |
|
||
| 🌙 | Sommeil nocturne | Timer live, durée |
|
||
| 💊 | Traitement | Nom, dose, unité |
|
||
| 🌡️ | Température | Valeur, °C/°F |
|
||
|
||
## Déploiement
|
||
|
||
Vercel + Railway (PostgreSQL) recommandés. Ajouter les variables d'environnement dans Vercel.
|