SaaS Next.js complet pour syndics bénévoles et déclinaisons SCI familiales / colocation : onboarding payant via PayPal, gestion de copropriété, SCI et colocation, invitations, AG, comptabilité, documents et rappels.
- Node.js 18+
- PostgreSQL
- npm
npm installOu via Docker Compose :
docker compose up -d db
docker compose build web
docker compose up webCopiez .env.example en .env et renseignez vos valeurs :
DATABASE_URLAUTH_SECRETPAYPAL_CLIENT_ID/PAYPAL_CLIENT_SECRETNEXT_PUBLIC_PAYPAL_CLIENT_IDPRODUCT_PLAN(SMALL_COPRO, MEDIUM_COPRO, SCI_FAMILIALE ou COLOCATION)
npx prisma generate
npx prisma migrate devEn conteneur : docker compose run --rm web npx prisma migrate deploy
npm run devApplication disponible sur http://localhost:3000 (navigation SCI via /app/sci, colocation via /app/colocations).
Avec Docker : docker compose up web expose le frontend sur le port 3000 et Postgres sur 5432.
- Unitaires :
npm run test:unit - Intégration :
npm run test:integration - E2E (Playwright) :
npm run test:e2e - Tous :
npm test
Tous les calculateurs et générateurs sont accessibles sans compte sous /outil/* avec exports PDF/CSV et CTA vers l’app. Les principaux liens :
/outil/calculateur-tantiemes-copro/outil/convocation-ag-copro/outil/pv-ag-copro/outil/budget-previsionnel-copro/outil/repartition-flux-sci/outil/quittance-colocation/outil/quiz-syndic-benevole
- Page d’accueil
/: vérifier contenu marketing, CTA vers/demoet/app/signup. - Démo
/demo: vérifier sections dashboard, AG, lots. - Signup
/app/signup: créer un compte (mot de passe >=6). Redirection vers configuration copro. - Config copro
/app/copropriete: saisir nom/adresse/lots, sauvegarder. - Billing
/app/settings/billing: déclencher un paiement PayPal (sandbox) puis vérifier message d’activation. - Dashboard
/app/dashboard: voir stats et CTA invitations. - Lots
/app/lots: créer quelques lots, vérifier liste. - Comptabilité
/app/comptabilite: créer budget et opérations, vérifier historique. - Invitations
/app/invitations: envoyer une invitation, récupérer le lien/invite?token=.... - Page d’acceptation
/invite?token=...: créer mot de passe copropriétaire, vérifier succès. - AG
/app/ag: créer une AG, vérifier affichage. - Documents
/app/documents: ajouter un document et ouvrir le lien. - Travaux
/app/travaux: créer un contrat/travaux, vérifier statut. - Rappels
/app/rappels: créer un rappel, vérifier la liste. - Import bancaire
/app/operations: charger un CSVdate;libellé;montant, prévisualiser puis créer les opérations. - Consultation ponctuelle
/app/consultations: saisir un sujet et un montant, générer l’ordre PayPal puis simuler la capture pour passer le ticket en payé. - Module SCI
/app/sci: remplir les informations de la SCI, vérifier la création et la répartition des flux. - Module colocation
/app/colocations: créer la colocation démo, vérifier répartition des charges et quittance affichée. - Outils publics
/outil/*: ouvrir un calculateur (ex. tantièmes), saisir des données, générer le PDF puis cliquer sur le CTA pour être redirigé vers/app/signup.
src/app: pages (landing, démo, app connectée)src/components: composants UIsrc/lib: prisma, auth, validations, calculsprisma/schema.prisma: modèlestests: unitaires & intégratione2e: tests Playwright