Skip to content

Repository files navigation

Copro SaaS

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.

Prérequis

  • Node.js 18+
  • PostgreSQL
  • npm

Installation

npm install

Ou via Docker Compose :

docker compose up -d db
docker compose build web
docker compose up web

Configuration

Copiez .env.example en .env et renseignez vos valeurs :

  • DATABASE_URL
  • AUTH_SECRET
  • PAYPAL_CLIENT_ID / PAYPAL_CLIENT_SECRET
  • NEXT_PUBLIC_PAYPAL_CLIENT_ID
  • PRODUCT_PLAN (SMALL_COPRO, MEDIUM_COPRO, SCI_FAMILIALE ou COLOCATION)

Base de données

npx prisma generate
npx prisma migrate dev

En conteneur : docker compose run --rm web npx prisma migrate deploy

Lancer le projet

npm run dev

Application 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.

Tests

  • Unitaires : npm run test:unit
  • Intégration : npm run test:integration
  • E2E (Playwright) : npm run test:e2e
  • Tous : npm test

Outils SEO / gratuits

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

Scénario QA manuel

  1. Page d’accueil / : vérifier contenu marketing, CTA vers /demo et /app/signup.
  2. Démo /demo : vérifier sections dashboard, AG, lots.
  3. Signup /app/signup : créer un compte (mot de passe >=6). Redirection vers configuration copro.
  4. Config copro /app/copropriete : saisir nom/adresse/lots, sauvegarder.
  5. Billing /app/settings/billing : déclencher un paiement PayPal (sandbox) puis vérifier message d’activation.
  6. Dashboard /app/dashboard : voir stats et CTA invitations.
  7. Lots /app/lots : créer quelques lots, vérifier liste.
  8. Comptabilité /app/comptabilite : créer budget et opérations, vérifier historique.
  9. Invitations /app/invitations : envoyer une invitation, récupérer le lien /invite?token=....
  10. Page d’acceptation /invite?token=... : créer mot de passe copropriétaire, vérifier succès.
  11. AG /app/ag : créer une AG, vérifier affichage.
  12. Documents /app/documents : ajouter un document et ouvrir le lien.
  13. Travaux /app/travaux : créer un contrat/travaux, vérifier statut.
  14. Rappels /app/rappels : créer un rappel, vérifier la liste.
  15. Import bancaire /app/operations : charger un CSV date;libellé;montant, prévisualiser puis créer les opérations.
  16. 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é.
  17. Module SCI /app/sci : remplir les informations de la SCI, vérifier la création et la répartition des flux.
  18. Module colocation /app/colocations : créer la colocation démo, vérifier répartition des charges et quittance affichée.
  19. 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.

Arborescence

  • src/app : pages (landing, démo, app connectée)
  • src/components : composants UI
  • src/lib : prisma, auth, validations, calculs
  • prisma/schema.prisma : modèles
  • tests : unitaires & intégration
  • e2e : tests Playwright

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages