description
	VERSION FRANÇAISE
TITRE DU PROJET
Développement d'un MVP pour système de paiement P2P avec conformité fiscale automatique
1. CONTEXTE ET OBJECTIF
Nous développons une plateforme fintech innovante qui révolutionne les transactions commerciales en combinant :
* Paiements peer-to-peer sécurisés avec double authentification cryptographique
* Calcul automatique des taxes selon les juridictions canadiennes (TPS/TVQ)
* Conformité fiscale automatique avec génération de rapports gouvernementaux
* Traçabilité complète via système de reçus numériques
Objectif du MVP : Créer un prototype fonctionnel démontrant toutes les fonctionnalités principales pour validation du concept et levée de fonds.
2. ARCHITECTURE TECHNIQUE REQUISE
Frontend
* Framework : Next.js 14+ (App Router)
* Langage : TypeScript strict
* Styling : Tailwind CSS + shadcn/ui components
* State Management : React Context API ou Zustand
* Charts : Recharts pour graphiques financiers
* PDF Client : jsPDF pour exports côté client
Backend
* Runtime : Node.js 18+ LTS
* Framework : Express.js
* Langage : TypeScript
* ORM : Prisma (avec PostgreSQL)
* Auth : JWT (JSON Web Tokens)
* PDF Server : PDFKit pour génération serveur
* Validation : Zod pour schémas de validation
* Cryptographie : Bibliothèque crypto native Node.js
Base de données
* SGBD : PostgreSQL 14+
* ORM : Prisma avec migrations versionnées
* Schéma : 4 tables principales + relations
Déploiement
* Frontend : Vercel (ou Netlify)
* Backend : Railway (ou Render, Fly.io)
* Database : Supabase (ou Railway PostgreSQL)
* Version Control : GitHub (repository privé)
3. AMPLEUR DU PROJET
Pages Frontend (16 écrans au total)
Partie Publique (3 pages)
1. Page d'accueil / Landing page
2. Page de connexion (login)
3. Page d'inscription (register)
Interface Client (4 pages) 4. Dashboard client (vue d'ensemble) 5. Nouveau paiement - Formulaire 6. Simulateur "Tap to Pay" (paiement simulé) 7. Historique des transactions
Interface Marchand (9 pages) 8. Dashboard marchand avec statistiques 9. Liste des transactions (tableau paginé) 10. Détail d'une transaction 11. Suivi de l'escrow fiscal (taxes accumulées) 12. Génération de rapports trimestriels 13. Paramètres du compte marchand 14. Profil et vérification fiscale 15. Export de données (CSV, PDF) 16. Page de visualisation de reçu NFT
Endpoints API Backend (25+ routes)
Authentification (4 endpoints)
* POST /api/auth/register - Inscription
* POST /api/auth/login - Connexion
* GET /api/auth/me - Profil utilisateur
* POST /api/auth/refresh - Refresh token
Paiements (6 endpoints)
* POST /api/payments/create - Créer transaction
* POST /api/payments/:id/complete - Finaliser avec signatures
* GET /api/payments/:id - Détail transaction
* GET /api/transactions - Liste (paginée, filtrée)
* GET /api/transactions/stats - Statistiques
* POST /api/payments/:id/refund - Remboursement (optionnel MVP)
Taxes (5 endpoints)
* POST /api/tax/calculate - Calcul preview taxes
* GET /api/tax/rates - Taux par juridiction
* GET /api/escrow/current - Escrow actuel
* GET /api/escrow/history - Historique escrows
* POST /api/escrow/remit - Simulation remise (mock)
Rapports (5 endpoints)
* POST /api/reports/generate - Générer rapport trimestriel
* GET /api/reports - Liste rapports
* GET /api/reports/:id - Détail rapport
* GET /api/reports/:id/pdf - Télécharger PDF
* POST /api/reports/:id/submit - Soumission simulée
Reçus (3 endpoints)
* GET /api/receipts/:id - Détail reçu
* GET /api/receipts/:id/pdf - Télécharger PDF
* GET /api/receipts/:id/verify - Vérifier signatures
Admin (2 endpoints)
* GET /api/admin/users - Liste utilisateurs
* POST /api/admin/merchant/verify - Vérifier marchand
Volume de Code Estimé
Frontend
* ~8,000 - 12,000 lignes de code TypeScript/React
* ~20-30 composants réutilisables
* ~15-20 pages/layouts
* ~10-15 hooks personnalisés
Backend
* ~5,000 - 8,000 lignes de code TypeScript/Node.js
* ~8-10 services métier
* ~25+ routes API
* ~15-20 modèles Prisma + validations
Tests (optionnels mais recommandés)
* ~30+ tests unitaires backend
* ~15+ tests d'intégration
* ~10+ tests E2E critiques
Documentation
* README.md complet (~2,000 mots)
* Documentation API (Postman collection)
* Guide de déploiement (~1,500 mots)
* Architecture diagrams (3-5 schémas)
4. FONCTIONNALITÉS DÉTAILLÉES
MODULE 1 : Authentification et Gestion des Comptes
Inscription Marchand (Must-Have)
* Formulaire multi-étapes (3 étapes)
* Validation en temps réel des champs
* Upload optionnel de documents (permis, NEQ)
* Génération automatique de paire de clés cryptographiques
* Email de confirmation (simulation pour MVP)
* Affichage sécurisé de la clé privée (une seule fois)
Connexion Sécurisée (Must-Have)
* Email + password avec validation
* JWT token avec expiration 7 jours
* Refresh token mechanism
* Protection contre brute force (rate limiting)
* Session persistante (remember me)
Profil Marchand (Must-Have)
* Affichage informations entreprise
* Statut de vérification fiscale
* Clé publique visible (QR code optionnel)
* Modification informations de contact
* Historique de connexions (optionnel)
MODULE 2 : Système de Paiement P2P
Simulateur de Transaction (Must-Have)
* Étape 1 - Formulaire Client :
* Saisie montant (validation min/max)
* Description transaction (200 chars max)
* Catégorie (général, food, books)
* Sélection localisation (pays/province)
* Preview calcul taxes en temps réel
* Étape 2 - Simulation "Tap to Pay" :
* Animation de connexion (2-3 secondes)
* Échange simulé de clés publiques
* Affichage récapitulatif des deux côtés
* Étape 3 - Confirmation :
* Récapitulatif montant + taxes
* Bouton "Confirmer avec Face ID" (simulé)
* Animation de signature (1 seconde)
* Étape 4 - Confirmation :
* Écran de succès
* Affichage reçu NFT simulé
* Numéro de transaction unique
* Hash blockchain simulé
* Boutons : Télécharger PDF, Partager, Nouvelle transaction
Double Signature Cryptographique (Must-Have)
* Génération de payload canonique (JSON trié)
* Hashing SHA-256 du payload
* Signature ECDSA P-256 côté client
* Signature ECDSA P-256 côté marchand
* Vérification croisée des deux signatures
* Stockage des signatures en base64
Gestion des Transactions (Must-Have)
* Création de transaction en DB
* Statuts : PENDING, COMPLETED, FAILED
* Génération de hash blockchain simulé
* Numéro de bloc simulé (réaliste)
* Timestamp précis à la milliseconde
* ID de reçu unique (format: RCP-timestamp-random)
MODULE 3 : Calcul Automatique des Taxes
Calculateur de Taxes (Must-Have - CRITIQUE)
* Base de données des taux :
* Québec : TPS 5% + TVQ 9.975%
* Ontario : TPS 5% + TVH 8%
* Colombie-Britannique : TPS 5% + PST 7%
* Alberta : TPS 5% (pas de taxe provinciale)
* Autres provinces (extensible)
* Exemptions par catégorie :
* Alimentation de base : 0% taxes
* Livres : 0% taxes
* Général : taxes complètes
* Calculs :
* Montant en cents (éviter décimaux)
* Arrondi mathématique correct
* Validation montants positifs
* Gestion des limites (max 1,000,000$)
Preview en Temps Réel (Must-Have)
* Calcul instantané lors de la saisie
* Affichage ligne par ligne :
* Montant de base
* TPS (nom + taux + montant)
* TVQ/PST (nom + taux + montant)
* Total à payer
* Animation de transition fluide
* Format monétaire correct (2 décimales)
MODULE 4 : Conformité Fiscale Automatique
Système d'Escrow (Must-Have)
* Détection automatique du trimestre fiscal
* Création automatique de l'escrow au besoin
* Accumulation automatique à chaque transaction :
* Taxes fédérales séparées
* Taxes provinciales séparées
* Compteur de transactions
* Calcul du total accumulé
* Statuts : ACCUMULATING, READY_TO_REMIT, REMITTED
Dashboard Fiscal (Must-Have)
* Widget "Taxes Collectées Aujourd'hui"
* Widget "Escrow Actuel" avec barres de progression
* Décompte jours jusqu'à échéance trimestrielle
* Graphique évolution taxes sur 30 jours
* Alerte si approche échéance (<15 jours)
Génération de Rapports (Must-Have)
* Rapport trimestriel automatique :
* En-tête avec infos entreprise
* Période fiscale (dates début/fin)
* Résumé :
* Ventes totales
* Ventes exemptées
* Base taxable
* TPS collectée
* TVQ collectée
* Total taxes à remettre
* Nombre de transactions
* Tableau détaillé top 20 transactions
* Footer avec date de génération
* Export PDF professionnel :
* Format A4
* Logo de l'app
* Mise en page claire
* Tableaux structurés
* Numérotation des pages
Simulation Soumission Gouvernementale (Must-Have)
* Bouton "Soumettre à Revenu Québec" (simulé)
* Génération numéro de confirmation fictif
* Changement statut escrow → REMITTED
* Email de confirmation simulé
* Archivage du rapport soumis
MODULE 5 : Génération de Reçus NFT (Simulés)
Reçu Numérique (Must-Have)
* Affichage web élégant :
* Header avec logo + "Reçu NFT"
* ID de reçu unique (grand, copiable)
* Date et heure précises
* Informations marchand (nom, numéro fiscal)
* Informations client (email si fourni)
* Détail montants :
* Montant de base
* TPS (taux + montant)
* TVQ (taux + montant)
* Total payé (en gras)
* Section "Preuves Cryptographiques" :
* Hash de transaction (monospace, copiable)
* Signature client (tronquée, expandable)
* Signature marchand (tronquée, expandable)
* Statut : ✓ VALIDÉ
* Section "Blockchain Simulée" :
* Numéro de bloc
* Hash de bloc (simulé)
* Confirmations (simulé)
* QR Code pour vérification (optionnel)
Export PDF du Reçu (Must-Have)
* Génération PDF côté serveur (PDFKit)
* Format A4 portrait
* Contenu identique à la vue web
* Téléchargement instantané
* Nom de fichier : recu-[ID]-[date].pdf
Vérification de Reçu (Nice-to-Have)
* Page publique /verify/:receiptId
* Affichage du reçu sans login
* Vérification des signatures automatique
* Statut : ✓ AUTHENTIQUE ou ✗ INVALIDE
MODULE 6 : Dashboard Marchand
Vue d'Ensemble (Must-Have)
* 4 cartes statistiques :
* Ventes aujourd'hui (montant + nombre)
* Taxes collectées aujourd'hui
* Ventes ce trimestre
* Jours avant échéance fiscale
* Graphique principal (7 derniers jours) :
* Barres empilées : Ventes + Taxes
* Axes X (dates) et Y (montants)
* Tooltip détaillé au survol
* Responsive (mobile/desktop)
* Liste transactions récentes (5 dernières) :
* Date/heure
* Description (tronquée)
* Montant
* Badge statut (COMPLETED en vert)
* Clic → Détail transaction
* Widget Fiscal :
* Barres de progression :
* TPS accumulée (bleu)
* TVQ accumulée (vert)
* Total en escrow (gros chiffre)
* Nombre de transactions
* Bouton "Voir Rapport" si trimestre terminé
Liste Transactions Complète (Must-Have)
* Tableau paginé (20 par page)
* Colonnes :
* Date/Heure (triable)
* ID Reçu (copiable)
* Description
* Montant de base
* Taxes
* Total
* Statut (badge coloré)
* Actions (voir, télécharger)
* Filtres :
* Recherche texte (description, ID)
* Plage de dates (date picker)
* Catégorie (dropdown)
* Statut (checkboxes)
* Exports :
* CSV (toutes colonnes)
* Excel (optionnel)
* PDF (résumé)
* Pagination :
* Boutons Précédent/Suivant
* Affichage "X à Y sur Z résultats"
* Sélection nombre par page (10/20/50)
Détail Transaction (Must-Have)
* Page dédiée avec toutes les infos :
* Section Général
* Section Montants (avec breakdown)
* Section Cryptographie
* Section Blockchain
* Actions : Télécharger PDF, Partager lien
Paramètres Marchand (Must-Have)
* Onglet "Informations" :
* Nom entreprise (éditable)
* Numéro NEQ (éditable)
* Adresse (formulaire complet)
* Téléphone
* Email (non éditable)
* Onglet "Fiscal" :
* Numéro TPS (vérification mock)
* Numéro TVQ (vérification mock)
* Badge statut vérification
* Historique vérifications
* Onglet "Sécurité" :
* Clé publique (affichage + QR code)
* Régénération clé (avec avertissement)
* Changement mot de passe
* Sessions actives
MODULE 7 : Exports et Rapports
Export CSV Transactions (Must-Have)
* Colonnes standard :
* Date, Heure, ID Reçu, Description
* Montant Base, TPS, TVQ, Total
* Catégorie, Statut
* Hash Transaction, Numéro Bloc
* Encodage UTF-8 avec BOM
* Séparateur : virgule
* Format dates : ISO 8601
* Téléchargement immédiat
Rapport Trimestriel PDF (Must-Have)
* Structure :
* Page 1 : Sommaire exécutif
* Page 2+ : Détail transactions
* Dernière page : Signatures et notes
* Contenu détaillé dans section précédente
* Génération : 2-5 secondes
* Stockage serveur pour réaccès
Rapport Annuel (Nice-to-Have)
* Agrégation 4 trimestres
* Graphiques annuels
* Comparaisons Q1 vs Q2 vs Q3 vs Q4
5. SPÉCIFICATIONS TECHNIQUES DÉTAILLÉES
Sécurité
Cryptographie (Implémentation Classique pour MVP)
* Algorithme : ECDSA avec courbe P-256 (secp256r1)
* Hashing : SHA-256 (standard)
* Bibliothèque : crypto natif Node.js
* Stockage clés :
* Clés privées : JAMAIS en DB (retournées une fois)
* Clés publiques : PEM format en DB
* Signatures : Base64 encoded en DB
IMPORTANT : Architecture Extensible Le code doit être structuré avec une couche d'abstraction permettant de remplacer facilement l'algorithme cryptographique à l'avenir sans réécriture majeure.
Authentification
* Passwords : bcrypt avec cost factor 10
* JWT :
* Secret : 256 bits minimum
* Expiration : 7 jours
* Payload : userId, email, role, iat, exp
* Refresh tokens : optionnel pour MVP
* Rate limiting : 5 tentatives/15 min par IP
Protection API
* Helmet.js pour headers sécurité
* CORS strict (whitelist domaines)
* Validation Zod sur tous inputs
* Sanitization des données
* HTTPS obligatoire en prod
* CSRF tokens sur mutations
Performance
Frontend
* Code splitting automatique (Next.js)
* Images optimisées (next/image)
* Lazy loading composants lourds
* Caching agressif assets statiques
* Service Worker (optionnel)
Backend
* Connexion pooling PostgreSQL
* Indexes DB sur colonnes fréquentes :
* transactions.merchantId
* transactions.createdAt
* transactions.receiptId
* users.email
* Cache Redis (optionnel pour MVP)
* Compression gzip responses
* Pagination systématique (limit/offset)
Database
* Migrations Prisma versionnées
* Backup automatique quotidien
* Indexes couvrants requêtes fréquentes
* Soft deletes plutôt que hard deletes
* Timestamps automatiques (createdAt, updatedAt)
Monitoring et Logging
Logs Structurés
* Winston ou Pino pour logging
* Niveaux : ERROR, WARN, INFO, DEBUG
* Format JSON pour parsing
* Rotation des fichiers logs
* Jamais logger :
* Mots de passe
* Clés privées
* Tokens complets
* Numéros de carte (même si pas dans ce projet)
Monitoring (Production)
* Health check endpoint : GET /api/health
* Sentry pour erreurs frontend
* Sentry pour erreurs backend
* Uptime monitoring (Uptime Robot)
* Alertes email si downtime
Analytics (Optionnel)
* Google Analytics ou Plausible
* Événements trackés :
* Inscriptions
* Transactions complétées
* Rapports générés
* Exports effectués
6. RESPONSIVE ET COMPATIBILITÉ
Breakpoints Requis
* Mobile : 320px - 767px
* Tablet : 768px - 1023px
* Desktop : 1024px+
Navigateurs Supportés
* Chrome/Edge : 2 dernières versions
* Firefox : 2 dernières versions
* Safari : 2 dernières versions (macOS + iOS)
Features Responsive
* Navigation mobile : Hamburger menu
* Tableaux : Scroll horizontal ou cards
* Graphiques : Responsive containers
* Formulaires : Touch-friendly (44px min tap targets)
7. DONNÉES DE TEST
À fournir avec le projet :
1. Utilisateurs de test (3 minimum)
* 1 Admin : admin@taxchain.test / Admin123!
* 1 Marchand vérifié : merchant@taxchain.test / Merchant123!
* 1 Marchand non-vérifié : newmerchant@taxchain.test / New123!
2. Transactions de test (20 minimum)
* 10 transactions QC (diverses dates)
* 5 transactions ON
* 5 transactions autres provinces
* Couvrant différentes catégories
* Différents montants (10$ à 1000$)
3. Rapports générés (2 minimum)
* 1 rapport Q3 2024 (DRAFT)
* 1 rapport Q2 2024 (SUBMITTED)
4. Script de seed
* npm run seed pour remplir DB
* Données réalistes et variées
8. LIVRABLES ATTENDUS
Code Source
* [ ] Repository GitHub privé (accès partagé)
* [ ] Code frontend (Next.js)
* [ ] Code backend (Express)
* [ ] Schéma Prisma + migrations
* [ ] Configuration Docker (optionnel)
* [ ] Variables d'environnement documentées (.env.example)
Documentation
* [ ] README.md principal (minimum 2000 mots) :
* Description projet
* Prérequis
* Installation locale
* Configuration
* Lancement dev
* Tests
* Déploiement
* Architecture
* Technologies utilisées
* [ ] API Documentation (Postman Collection) :
* Tous les endpoints
* Exemples de requêtes
* Exemples de réponses
* Codes d'erreur
* [ ] Guide de déploiement :
* Étapes Vercel (frontend)
* Étapes Railway (backend)
* Configuration DNS
* Variables d'environnement production
* [ ] Architecture diagrams :
* Schéma architecture globale
* Schéma base de données
* Flow de transaction
Tests
* [ ] Tests unitaires backend (minimum 30 tests)
* [ ] Tests d'intégration API (minimum 15 tests)
* [ ] Tests E2E critiques (minimum 5 scénarios)
* [ ] Coverage rapport (objectif 70%+)
Déploiement
* [ ] Application frontend déployée (URL production)
* [ ] API backend déployée (URL production)
* [ ] Base de données production configurée
* [ ] HTTPS configuré
* [ ] Monitoring basique actif
Démo
* [ ] Vidéo de démonstration (5-10 minutes) :
* Inscription marchand
* Transaction complète
* Consultation dashboard
* Génération rapport
* Export PDF
* [ ] Credentials de test fournis
* [ ] Données de test pré-chargées
9. CRITÈRES D'ACCEPTATION
Must-Have (Obligatoires pour validation)
* Inscription/connexion fonctionnelle
* Transaction P2P complète end-to-end
* Calcul taxes correct (vérifié sur 10+ scénarios)
* Double signature cryptographique valide
* Génération reçu PDF
* Dashboard avec statistiques
* Escrow fiscal fonctionnel
* Génération rapport trimestriel
* Export CSV transactions
* 100% responsive (mobile + desktop)
* Zero erreurs console en production
* HTTPS en production
* Documentation complète
Should-Have (Fortement recommandés)
* Tests automatisés (minimum 50 tests)
* Logs structurés
* Monitoring erreurs (Sentry)
* Optimisation performance (Lighthouse 80+)
* Accessibilité basique (WCAG AA)
Nice-to-Have (Bonus)
* Mode dark
* Internationalisation (FR/EN)
* PWA capabilities
* Notifications push
* Export Excel
* Graphiques avancés
10. PLANNING ET MILESTONES
Milestone 1 : Infrastructure
Livrables :
* Projet Next.js initialisé et configuré
* Projet Express initialisé et configuré
* PostgreSQL + Prisma configuré
* Schéma DB complet avec migrations
* Authentification JWT fonctionnelle
* Pages login/register complètes
* Middleware auth backend
* Déploiement dev (staging)
Tests d'acceptation :
* Peut créer un compte
* Peut se connecter
* Token JWT valide
* Session persiste après refresh
* Redirection si non-authentifié
Milestone 2 : Système de Paiement
Livrables :
* Service TaxCalculator complet (toutes provinces)
* Service CryptoService (génération clés, signature, vérification)
* Service PaymentService (création, complétion transactions)
* Service EscrowService (accumulation automatique)
* Simulateur de paiement frontend (4 étapes)
* Double signature cryptographique fonctionnelle
* Génération reçu PDF
* Endpoints API paiements (6 routes)
* Tests unitaires calculateur taxes (15+ tests)
Tests d'acceptation :
* Transaction QC : 100$ → Total 114.98$ ✓
* Transaction ON : 100$ → Total 113.00$ ✓
* Transaction food : 100$ → Total 100.00$ (exemption) ✓
* Signatures valides des deux parties ✓
* PDF téléchargeable et correct ✓
* Escrow incrémenté automatiquement ✓
Milestone 3 : Dashboard & Rapports
Livrables :
* Dashboard marchand complet (stats + graphiques)
* Page liste transactions (tableau + filtres + pagination)
* Page détail transaction
* Service ReportGenerator (PDF professionnel)
* Génération rapport trimestriel automatique
* Export CSV transactions
* Page paramètres marchand
* Tests E2E (5+ scénarios critiques)
* Documentation complète
* Déploiement production
Tests d'acceptation :
* Dashboard affiche stats correctes ✓
* Graphique 7 jours correct ✓
* Filtres et recherche fonctionnels ✓
* Export CSV complet et valide ✓
* Rapport PDF généré et téléchargeable ✓
* Application responsive sur mobile ✓
* Zero erreurs console ✓
* Performance Lighthouse 80+ ✓
11. PROPRIÉTÉ INTELLECTUELLE
Important :
* Tout le code développé appartient à m’appartient
* Signature d'un NDA sera fourni avant début projet
* Pas de réutilisation du code sur d'autres projets
* Transfert complet droits à la livraison finale
* Pas de portfolio public sans autorisation écrite
ENGLISH VERSION
MVP Development for P2P Payment System with Automated Tax Compliance
1. CONTEXT AND OBJECTIVE
We are developing an innovative fintech platform that revolutionizes commercial transactions by combining:
* Secure peer-to-peer payments with dual cryptographic authentication
* Automatic tax calculation based on Canadian jurisdictions (GST/QST)
* Automated tax compliance with government report generation
* Complete traceability via digital receipt system
MVP Goal: Create a functional prototype demonstrating all core features for concept validation and fundraising.
2. TECHNICAL REQUIREMENTS
Frontend Stack
* Framework: Next.js 14+ (App Router)
* Language: TypeScript (strict mode)
* Styling: Tailwind CSS + shadcn/ui
* State: React Context API or Zustand
* Charts: Recharts
* PDF: jsPDF
Backend Stack
* Runtime: Node.js 18+ LTS
* Framework: Express.js
* Language: TypeScript
* ORM: Prisma (PostgreSQL)
* Auth: JWT
* PDF: PDFKit
* Validation: Zod
* Crypto: Native Node.js crypto
Database
* DBMS: PostgreSQL 14+
* ORM: Prisma with versioned migrations
* Schema: 4 main tables + relations
Deployment
* Frontend: Vercel (or Netlify)
* Backend: Railway (or Render, Fly.io)
* Database: Supabase (or Railway PostgreSQL)
* Version Control: GitHub (private repo)
3. PROJECT SCOPE
Frontend Pages (16 screens total)
Public (3 pages)
1. Homepage/Landing
2. Login page
3. Register page
Customer Interface (4 pages) 4. Customer dashboard 5. New payment - Form 6. "Tap to Pay" simulator 7. Transaction history
Merchant Interface (9 pages) 8. Merchant dashboard with stats 9. Transactions list (paginated table) 10. Transaction detail 11. Tax escrow tracking 12. Quarterly report generation 13. Merchant settings 14. Profile and fiscal verification 15. Data export (CSV, PDF) 16. NFT receipt viewer
Backend API Endpoints (25+ routes)
Authentication (4 endpoints)
* POST /api/auth/register
* POST /api/auth/login
* GET /api/auth/me
* POST /api/auth/refresh
Payments (6 endpoints)
* POST /api/payments/create
* POST /api/payments/:id/complete
* GET /api/payments/:id
* GET /api/transactions
* GET /api/transactions/stats
* POST /api/payments/:id/refund
Taxes (5 endpoints)
* POST /api/tax/calculate
* GET /api/tax/rates
* GET /api/escrow/current
* GET /api/escrow/history
* POST /api/escrow/remit
Reports (5 endpoints)
* POST /api/reports/generate
* GET /api/reports
* GET /api/reports/:id
* GET /api/reports/:id/pdf
* POST /api/reports/:id/submit
Receipts (3 endpoints)
* GET /api/receipts/:id
* GET /api/receipts/:id/pdf
* GET /api/receipts/:id/verify
Admin (2 endpoints)
* GET /api/admin/users
* POST /api/admin/merchant/verify
4. CODE VOLUME ESTIMATE
Frontend
* ~8,000-12,000 lines TypeScript/React
* ~20-30 reusable components
* ~15-20 pages/layouts
* ~10-15 custom hooks
Backend
* ~5,000-8,000 lines TypeScript/Node.js
* ~8-10 business services
* ~25+ API routes
* ~15-20 Prisma models
Tests
* ~30+ backend unit tests
* ~15+ integration tests
* ~10+ critical E2E tests
Documentation
* Complete README.md (~2,000 words)
* API Documentation (Postman collection)
* Deployment guide (~1,500 words)
* Architecture diagrams (3-5 schemas)
5. DETAILED FEATURES
(Full English translation of all features from sections 4-15 above)
KEY DELIVERABLES
* Complete source code (GitHub repo)
* Comprehensive documentation
* Automated tests (50+ tests)
* Deployed production app
* Demo video (5-10 minutes)
* Test credentials
* Postman API collection
              
    
                      
 
        
        
            TITRE DU PROJET
Développement d'un MVP pour système de paiement P2P avec conformité fiscale automatique
1. CONTEXTE ET OBJECTIF
Nous développons une plateforme fintech innovante qui révolutionne les transactions commerciales en combinant :
* Paiements peer-to-peer sécurisés avec double authentification cryptographique
* Calcul automatique des taxes selon les juridictions canadiennes (TPS/TVQ)
* Conformité fiscale automatique avec génération de rapports gouvernementaux
* Traçabilité complète via système de reçus numériques
Objectif du MVP : Créer un prototype fonctionnel démontrant toutes les fonctionnalités principales pour validation du concept et levée de fonds.
2. ARCHITECTURE TECHNIQUE REQUISE
Frontend
* Framework : Next.js 14+ (App Router)
* Langage : TypeScript strict
* Styling : Tailwind CSS + shadcn/ui components
* State Management : React Context API ou Zustand
* Charts : Recharts pour graphiques financiers
* PDF Client : jsPDF pour exports côté client
Backend
* Runtime : Node.js 18+ LTS
* Framework : Express.js
* Langage : TypeScript
* ORM : Prisma (avec PostgreSQL)
* Auth : JWT (JSON Web Tokens)
* PDF Server : PDFKit pour génération serveur
* Validation : Zod pour schémas de validation
* Cryptographie : Bibliothèque crypto native Node.js
Base de données
* SGBD : PostgreSQL 14+
* ORM : Prisma avec migrations versionnées
* Schéma : 4 tables principales + relations
Déploiement
* Frontend : Vercel (ou Netlify)
* Backend : Railway (ou Render, Fly.io)
* Database : Supabase (ou Railway PostgreSQL)
* Version Control : GitHub (repository privé)
3. AMPLEUR DU PROJET
Pages Frontend (16 écrans au total)
Partie Publique (3 pages)
1. Page d'accueil / Landing page
2. Page de connexion (login)
3. Page d'inscription (register)
Interface Client (4 pages) 4. Dashboard client (vue d'ensemble) 5. Nouveau paiement - Formulaire 6. Simulateur "Tap to Pay" (paiement simulé) 7. Historique des transactions
Interface Marchand (9 pages) 8. Dashboard marchand avec statistiques 9. Liste des transactions (tableau paginé) 10. Détail d'une transaction 11. Suivi de l'escrow fiscal (taxes accumulées) 12. Génération de rapports trimestriels 13. Paramètres du compte marchand 14. Profil et vérification fiscale 15. Export de données (CSV, PDF) 16. Page de visualisation de reçu NFT
Endpoints API Backend (25+ routes)
Authentification (4 endpoints)
* POST /api/auth/register - Inscription
* POST /api/auth/login - Connexion
* GET /api/auth/me - Profil utilisateur
* POST /api/auth/refresh - Refresh token
Paiements (6 endpoints)
* POST /api/payments/create - Créer transaction
* POST /api/payments/:id/complete - Finaliser avec signatures
* GET /api/payments/:id - Détail transaction
* GET /api/transactions - Liste (paginée, filtrée)
* GET /api/transactions/stats - Statistiques
* POST /api/payments/:id/refund - Remboursement (optionnel MVP)
Taxes (5 endpoints)
* POST /api/tax/calculate - Calcul preview taxes
* GET /api/tax/rates - Taux par juridiction
* GET /api/escrow/current - Escrow actuel
* GET /api/escrow/history - Historique escrows
* POST /api/escrow/remit - Simulation remise (mock)
Rapports (5 endpoints)
* POST /api/reports/generate - Générer rapport trimestriel
* GET /api/reports - Liste rapports
* GET /api/reports/:id - Détail rapport
* GET /api/reports/:id/pdf - Télécharger PDF
* POST /api/reports/:id/submit - Soumission simulée
Reçus (3 endpoints)
* GET /api/receipts/:id - Détail reçu
* GET /api/receipts/:id/pdf - Télécharger PDF
* GET /api/receipts/:id/verify - Vérifier signatures
Admin (2 endpoints)
* GET /api/admin/users - Liste utilisateurs
* POST /api/admin/merchant/verify - Vérifier marchand
Volume de Code Estimé
Frontend
* ~8,000 - 12,000 lignes de code TypeScript/React
* ~20-30 composants réutilisables
* ~15-20 pages/layouts
* ~10-15 hooks personnalisés
Backend
* ~5,000 - 8,000 lignes de code TypeScript/Node.js
* ~8-10 services métier
* ~25+ routes API
* ~15-20 modèles Prisma + validations
Tests (optionnels mais recommandés)
* ~30+ tests unitaires backend
* ~15+ tests d'intégration
* ~10+ tests E2E critiques
Documentation
* README.md complet (~2,000 mots)
* Documentation API (Postman collection)
* Guide de déploiement (~1,500 mots)
* Architecture diagrams (3-5 schémas)
4. FONCTIONNALITÉS DÉTAILLÉES
MODULE 1 : Authentification et Gestion des Comptes
Inscription Marchand (Must-Have)
* Formulaire multi-étapes (3 étapes)
* Validation en temps réel des champs
* Upload optionnel de documents (permis, NEQ)
* Génération automatique de paire de clés cryptographiques
* Email de confirmation (simulation pour MVP)
* Affichage sécurisé de la clé privée (une seule fois)
Connexion Sécurisée (Must-Have)
* Email + password avec validation
* JWT token avec expiration 7 jours
* Refresh token mechanism
* Protection contre brute force (rate limiting)
* Session persistante (remember me)
Profil Marchand (Must-Have)
* Affichage informations entreprise
* Statut de vérification fiscale
* Clé publique visible (QR code optionnel)
* Modification informations de contact
* Historique de connexions (optionnel)
MODULE 2 : Système de Paiement P2P
Simulateur de Transaction (Must-Have)
* Étape 1 - Formulaire Client :
* Saisie montant (validation min/max)
* Description transaction (200 chars max)
* Catégorie (général, food, books)
* Sélection localisation (pays/province)
* Preview calcul taxes en temps réel
* Étape 2 - Simulation "Tap to Pay" :
* Animation de connexion (2-3 secondes)
* Échange simulé de clés publiques
* Affichage récapitulatif des deux côtés
* Étape 3 - Confirmation :
* Récapitulatif montant + taxes
* Bouton "Confirmer avec Face ID" (simulé)
* Animation de signature (1 seconde)
* Étape 4 - Confirmation :
* Écran de succès
* Affichage reçu NFT simulé
* Numéro de transaction unique
* Hash blockchain simulé
* Boutons : Télécharger PDF, Partager, Nouvelle transaction
Double Signature Cryptographique (Must-Have)
* Génération de payload canonique (JSON trié)
* Hashing SHA-256 du payload
* Signature ECDSA P-256 côté client
* Signature ECDSA P-256 côté marchand
* Vérification croisée des deux signatures
* Stockage des signatures en base64
Gestion des Transactions (Must-Have)
* Création de transaction en DB
* Statuts : PENDING, COMPLETED, FAILED
* Génération de hash blockchain simulé
* Numéro de bloc simulé (réaliste)
* Timestamp précis à la milliseconde
* ID de reçu unique (format: RCP-timestamp-random)
MODULE 3 : Calcul Automatique des Taxes
Calculateur de Taxes (Must-Have - CRITIQUE)
* Base de données des taux :
* Québec : TPS 5% + TVQ 9.975%
* Ontario : TPS 5% + TVH 8%
* Colombie-Britannique : TPS 5% + PST 7%
* Alberta : TPS 5% (pas de taxe provinciale)
* Autres provinces (extensible)
* Exemptions par catégorie :
* Alimentation de base : 0% taxes
* Livres : 0% taxes
* Général : taxes complètes
* Calculs :
* Montant en cents (éviter décimaux)
* Arrondi mathématique correct
* Validation montants positifs
* Gestion des limites (max 1,000,000$)
Preview en Temps Réel (Must-Have)
* Calcul instantané lors de la saisie
* Affichage ligne par ligne :
* Montant de base
* TPS (nom + taux + montant)
* TVQ/PST (nom + taux + montant)
* Total à payer
* Animation de transition fluide
* Format monétaire correct (2 décimales)
MODULE 4 : Conformité Fiscale Automatique
Système d'Escrow (Must-Have)
* Détection automatique du trimestre fiscal
* Création automatique de l'escrow au besoin
* Accumulation automatique à chaque transaction :
* Taxes fédérales séparées
* Taxes provinciales séparées
* Compteur de transactions
* Calcul du total accumulé
* Statuts : ACCUMULATING, READY_TO_REMIT, REMITTED
Dashboard Fiscal (Must-Have)
* Widget "Taxes Collectées Aujourd'hui"
* Widget "Escrow Actuel" avec barres de progression
* Décompte jours jusqu'à échéance trimestrielle
* Graphique évolution taxes sur 30 jours
* Alerte si approche échéance (<15 jours)
Génération de Rapports (Must-Have)
* Rapport trimestriel automatique :
* En-tête avec infos entreprise
* Période fiscale (dates début/fin)
* Résumé :
* Ventes totales
* Ventes exemptées
* Base taxable
* TPS collectée
* TVQ collectée
* Total taxes à remettre
* Nombre de transactions
* Tableau détaillé top 20 transactions
* Footer avec date de génération
* Export PDF professionnel :
* Format A4
* Logo de l'app
* Mise en page claire
* Tableaux structurés
* Numérotation des pages
Simulation Soumission Gouvernementale (Must-Have)
* Bouton "Soumettre à Revenu Québec" (simulé)
* Génération numéro de confirmation fictif
* Changement statut escrow → REMITTED
* Email de confirmation simulé
* Archivage du rapport soumis
MODULE 5 : Génération de Reçus NFT (Simulés)
Reçu Numérique (Must-Have)
* Affichage web élégant :
* Header avec logo + "Reçu NFT"
* ID de reçu unique (grand, copiable)
* Date et heure précises
* Informations marchand (nom, numéro fiscal)
* Informations client (email si fourni)
* Détail montants :
* Montant de base
* TPS (taux + montant)
* TVQ (taux + montant)
* Total payé (en gras)
* Section "Preuves Cryptographiques" :
* Hash de transaction (monospace, copiable)
* Signature client (tronquée, expandable)
* Signature marchand (tronquée, expandable)
* Statut : ✓ VALIDÉ
* Section "Blockchain Simulée" :
* Numéro de bloc
* Hash de bloc (simulé)
* Confirmations (simulé)
* QR Code pour vérification (optionnel)
Export PDF du Reçu (Must-Have)
* Génération PDF côté serveur (PDFKit)
* Format A4 portrait
* Contenu identique à la vue web
* Téléchargement instantané
* Nom de fichier : recu-[ID]-[date].pdf
Vérification de Reçu (Nice-to-Have)
* Page publique /verify/:receiptId
* Affichage du reçu sans login
* Vérification des signatures automatique
* Statut : ✓ AUTHENTIQUE ou ✗ INVALIDE
MODULE 6 : Dashboard Marchand
Vue d'Ensemble (Must-Have)
* 4 cartes statistiques :
* Ventes aujourd'hui (montant + nombre)
* Taxes collectées aujourd'hui
* Ventes ce trimestre
* Jours avant échéance fiscale
* Graphique principal (7 derniers jours) :
* Barres empilées : Ventes + Taxes
* Axes X (dates) et Y (montants)
* Tooltip détaillé au survol
* Responsive (mobile/desktop)
* Liste transactions récentes (5 dernières) :
* Date/heure
* Description (tronquée)
* Montant
* Badge statut (COMPLETED en vert)
* Clic → Détail transaction
* Widget Fiscal :
* Barres de progression :
* TPS accumulée (bleu)
* TVQ accumulée (vert)
* Total en escrow (gros chiffre)
* Nombre de transactions
* Bouton "Voir Rapport" si trimestre terminé
Liste Transactions Complète (Must-Have)
* Tableau paginé (20 par page)
* Colonnes :
* Date/Heure (triable)
* ID Reçu (copiable)
* Description
* Montant de base
* Taxes
* Total
* Statut (badge coloré)
* Actions (voir, télécharger)
* Filtres :
* Recherche texte (description, ID)
* Plage de dates (date picker)
* Catégorie (dropdown)
* Statut (checkboxes)
* Exports :
* CSV (toutes colonnes)
* Excel (optionnel)
* PDF (résumé)
* Pagination :
* Boutons Précédent/Suivant
* Affichage "X à Y sur Z résultats"
* Sélection nombre par page (10/20/50)
Détail Transaction (Must-Have)
* Page dédiée avec toutes les infos :
* Section Général
* Section Montants (avec breakdown)
* Section Cryptographie
* Section Blockchain
* Actions : Télécharger PDF, Partager lien
Paramètres Marchand (Must-Have)
* Onglet "Informations" :
* Nom entreprise (éditable)
* Numéro NEQ (éditable)
* Adresse (formulaire complet)
* Téléphone
* Email (non éditable)
* Onglet "Fiscal" :
* Numéro TPS (vérification mock)
* Numéro TVQ (vérification mock)
* Badge statut vérification
* Historique vérifications
* Onglet "Sécurité" :
* Clé publique (affichage + QR code)
* Régénération clé (avec avertissement)
* Changement mot de passe
* Sessions actives
MODULE 7 : Exports et Rapports
Export CSV Transactions (Must-Have)
* Colonnes standard :
* Date, Heure, ID Reçu, Description
* Montant Base, TPS, TVQ, Total
* Catégorie, Statut
* Hash Transaction, Numéro Bloc
* Encodage UTF-8 avec BOM
* Séparateur : virgule
* Format dates : ISO 8601
* Téléchargement immédiat
Rapport Trimestriel PDF (Must-Have)
* Structure :
* Page 1 : Sommaire exécutif
* Page 2+ : Détail transactions
* Dernière page : Signatures et notes
* Contenu détaillé dans section précédente
* Génération : 2-5 secondes
* Stockage serveur pour réaccès
Rapport Annuel (Nice-to-Have)
* Agrégation 4 trimestres
* Graphiques annuels
* Comparaisons Q1 vs Q2 vs Q3 vs Q4
5. SPÉCIFICATIONS TECHNIQUES DÉTAILLÉES
Sécurité
Cryptographie (Implémentation Classique pour MVP)
* Algorithme : ECDSA avec courbe P-256 (secp256r1)
* Hashing : SHA-256 (standard)
* Bibliothèque : crypto natif Node.js
* Stockage clés :
* Clés privées : JAMAIS en DB (retournées une fois)
* Clés publiques : PEM format en DB
* Signatures : Base64 encoded en DB
IMPORTANT : Architecture Extensible Le code doit être structuré avec une couche d'abstraction permettant de remplacer facilement l'algorithme cryptographique à l'avenir sans réécriture majeure.
Authentification
* Passwords : bcrypt avec cost factor 10
* JWT :
* Secret : 256 bits minimum
* Expiration : 7 jours
* Payload : userId, email, role, iat, exp
* Refresh tokens : optionnel pour MVP
* Rate limiting : 5 tentatives/15 min par IP
Protection API
* Helmet.js pour headers sécurité
* CORS strict (whitelist domaines)
* Validation Zod sur tous inputs
* Sanitization des données
* HTTPS obligatoire en prod
* CSRF tokens sur mutations
Performance
Frontend
* Code splitting automatique (Next.js)
* Images optimisées (next/image)
* Lazy loading composants lourds
* Caching agressif assets statiques
* Service Worker (optionnel)
Backend
* Connexion pooling PostgreSQL
* Indexes DB sur colonnes fréquentes :
* transactions.merchantId
* transactions.createdAt
* transactions.receiptId
* users.email
* Cache Redis (optionnel pour MVP)
* Compression gzip responses
* Pagination systématique (limit/offset)
Database
* Migrations Prisma versionnées
* Backup automatique quotidien
* Indexes couvrants requêtes fréquentes
* Soft deletes plutôt que hard deletes
* Timestamps automatiques (createdAt, updatedAt)
Monitoring et Logging
Logs Structurés
* Winston ou Pino pour logging
* Niveaux : ERROR, WARN, INFO, DEBUG
* Format JSON pour parsing
* Rotation des fichiers logs
* Jamais logger :
* Mots de passe
* Clés privées
* Tokens complets
* Numéros de carte (même si pas dans ce projet)
Monitoring (Production)
* Health check endpoint : GET /api/health
* Sentry pour erreurs frontend
* Sentry pour erreurs backend
* Uptime monitoring (Uptime Robot)
* Alertes email si downtime
Analytics (Optionnel)
* Google Analytics ou Plausible
* Événements trackés :
* Inscriptions
* Transactions complétées
* Rapports générés
* Exports effectués
6. RESPONSIVE ET COMPATIBILITÉ
Breakpoints Requis
* Mobile : 320px - 767px
* Tablet : 768px - 1023px
* Desktop : 1024px+
Navigateurs Supportés
* Chrome/Edge : 2 dernières versions
* Firefox : 2 dernières versions
* Safari : 2 dernières versions (macOS + iOS)
Features Responsive
* Navigation mobile : Hamburger menu
* Tableaux : Scroll horizontal ou cards
* Graphiques : Responsive containers
* Formulaires : Touch-friendly (44px min tap targets)
7. DONNÉES DE TEST
À fournir avec le projet :
1. Utilisateurs de test (3 minimum)
* 1 Admin : admin@taxchain.test / Admin123!
* 1 Marchand vérifié : merchant@taxchain.test / Merchant123!
* 1 Marchand non-vérifié : newmerchant@taxchain.test / New123!
2. Transactions de test (20 minimum)
* 10 transactions QC (diverses dates)
* 5 transactions ON
* 5 transactions autres provinces
* Couvrant différentes catégories
* Différents montants (10$ à 1000$)
3. Rapports générés (2 minimum)
* 1 rapport Q3 2024 (DRAFT)
* 1 rapport Q2 2024 (SUBMITTED)
4. Script de seed
* npm run seed pour remplir DB
* Données réalistes et variées
8. LIVRABLES ATTENDUS
Code Source
* [ ] Repository GitHub privé (accès partagé)
* [ ] Code frontend (Next.js)
* [ ] Code backend (Express)
* [ ] Schéma Prisma + migrations
* [ ] Configuration Docker (optionnel)
* [ ] Variables d'environnement documentées (.env.example)
Documentation
* [ ] README.md principal (minimum 2000 mots) :
* Description projet
* Prérequis
* Installation locale
* Configuration
* Lancement dev
* Tests
* Déploiement
* Architecture
* Technologies utilisées
* [ ] API Documentation (Postman Collection) :
* Tous les endpoints
* Exemples de requêtes
* Exemples de réponses
* Codes d'erreur
* [ ] Guide de déploiement :
* Étapes Vercel (frontend)
* Étapes Railway (backend)
* Configuration DNS
* Variables d'environnement production
* [ ] Architecture diagrams :
* Schéma architecture globale
* Schéma base de données
* Flow de transaction
Tests
* [ ] Tests unitaires backend (minimum 30 tests)
* [ ] Tests d'intégration API (minimum 15 tests)
* [ ] Tests E2E critiques (minimum 5 scénarios)
* [ ] Coverage rapport (objectif 70%+)
Déploiement
* [ ] Application frontend déployée (URL production)
* [ ] API backend déployée (URL production)
* [ ] Base de données production configurée
* [ ] HTTPS configuré
* [ ] Monitoring basique actif
Démo
* [ ] Vidéo de démonstration (5-10 minutes) :
* Inscription marchand
* Transaction complète
* Consultation dashboard
* Génération rapport
* Export PDF
* [ ] Credentials de test fournis
* [ ] Données de test pré-chargées
9. CRITÈRES D'ACCEPTATION
Must-Have (Obligatoires pour validation)
* Inscription/connexion fonctionnelle
* Transaction P2P complète end-to-end
* Calcul taxes correct (vérifié sur 10+ scénarios)
* Double signature cryptographique valide
* Génération reçu PDF
* Dashboard avec statistiques
* Escrow fiscal fonctionnel
* Génération rapport trimestriel
* Export CSV transactions
* 100% responsive (mobile + desktop)
* Zero erreurs console en production
* HTTPS en production
* Documentation complète
Should-Have (Fortement recommandés)
* Tests automatisés (minimum 50 tests)
* Logs structurés
* Monitoring erreurs (Sentry)
* Optimisation performance (Lighthouse 80+)
* Accessibilité basique (WCAG AA)
Nice-to-Have (Bonus)
* Mode dark
* Internationalisation (FR/EN)
* PWA capabilities
* Notifications push
* Export Excel
* Graphiques avancés
10. PLANNING ET MILESTONES
Milestone 1 : Infrastructure
Livrables :
* Projet Next.js initialisé et configuré
* Projet Express initialisé et configuré
* PostgreSQL + Prisma configuré
* Schéma DB complet avec migrations
* Authentification JWT fonctionnelle
* Pages login/register complètes
* Middleware auth backend
* Déploiement dev (staging)
Tests d'acceptation :
* Peut créer un compte
* Peut se connecter
* Token JWT valide
* Session persiste après refresh
* Redirection si non-authentifié
Milestone 2 : Système de Paiement
Livrables :
* Service TaxCalculator complet (toutes provinces)
* Service CryptoService (génération clés, signature, vérification)
* Service PaymentService (création, complétion transactions)
* Service EscrowService (accumulation automatique)
* Simulateur de paiement frontend (4 étapes)
* Double signature cryptographique fonctionnelle
* Génération reçu PDF
* Endpoints API paiements (6 routes)
* Tests unitaires calculateur taxes (15+ tests)
Tests d'acceptation :
* Transaction QC : 100$ → Total 114.98$ ✓
* Transaction ON : 100$ → Total 113.00$ ✓
* Transaction food : 100$ → Total 100.00$ (exemption) ✓
* Signatures valides des deux parties ✓
* PDF téléchargeable et correct ✓
* Escrow incrémenté automatiquement ✓
Milestone 3 : Dashboard & Rapports
Livrables :
* Dashboard marchand complet (stats + graphiques)
* Page liste transactions (tableau + filtres + pagination)
* Page détail transaction
* Service ReportGenerator (PDF professionnel)
* Génération rapport trimestriel automatique
* Export CSV transactions
* Page paramètres marchand
* Tests E2E (5+ scénarios critiques)
* Documentation complète
* Déploiement production
Tests d'acceptation :
* Dashboard affiche stats correctes ✓
* Graphique 7 jours correct ✓
* Filtres et recherche fonctionnels ✓
* Export CSV complet et valide ✓
* Rapport PDF généré et téléchargeable ✓
* Application responsive sur mobile ✓
* Zero erreurs console ✓
* Performance Lighthouse 80+ ✓
11. PROPRIÉTÉ INTELLECTUELLE
Important :
* Tout le code développé appartient à m’appartient
* Signature d'un NDA sera fourni avant début projet
* Pas de réutilisation du code sur d'autres projets
* Transfert complet droits à la livraison finale
* Pas de portfolio public sans autorisation écrite
ENGLISH VERSION
MVP Development for P2P Payment System with Automated Tax Compliance
1. CONTEXT AND OBJECTIVE
We are developing an innovative fintech platform that revolutionizes commercial transactions by combining:
* Secure peer-to-peer payments with dual cryptographic authentication
* Automatic tax calculation based on Canadian jurisdictions (GST/QST)
* Automated tax compliance with government report generation
* Complete traceability via digital receipt system
MVP Goal: Create a functional prototype demonstrating all core features for concept validation and fundraising.
2. TECHNICAL REQUIREMENTS
Frontend Stack
* Framework: Next.js 14+ (App Router)
* Language: TypeScript (strict mode)
* Styling: Tailwind CSS + shadcn/ui
* State: React Context API or Zustand
* Charts: Recharts
* PDF: jsPDF
Backend Stack
* Runtime: Node.js 18+ LTS
* Framework: Express.js
* Language: TypeScript
* ORM: Prisma (PostgreSQL)
* Auth: JWT
* PDF: PDFKit
* Validation: Zod
* Crypto: Native Node.js crypto
Database
* DBMS: PostgreSQL 14+
* ORM: Prisma with versioned migrations
* Schema: 4 main tables + relations
Deployment
* Frontend: Vercel (or Netlify)
* Backend: Railway (or Render, Fly.io)
* Database: Supabase (or Railway PostgreSQL)
* Version Control: GitHub (private repo)
3. PROJECT SCOPE
Frontend Pages (16 screens total)
Public (3 pages)
1. Homepage/Landing
2. Login page
3. Register page
Customer Interface (4 pages) 4. Customer dashboard 5. New payment - Form 6. "Tap to Pay" simulator 7. Transaction history
Merchant Interface (9 pages) 8. Merchant dashboard with stats 9. Transactions list (paginated table) 10. Transaction detail 11. Tax escrow tracking 12. Quarterly report generation 13. Merchant settings 14. Profile and fiscal verification 15. Data export (CSV, PDF) 16. NFT receipt viewer
Backend API Endpoints (25+ routes)
Authentication (4 endpoints)
* POST /api/auth/register
* POST /api/auth/login
* GET /api/auth/me
* POST /api/auth/refresh
Payments (6 endpoints)
* POST /api/payments/create
* POST /api/payments/:id/complete
* GET /api/payments/:id
* GET /api/transactions
* GET /api/transactions/stats
* POST /api/payments/:id/refund
Taxes (5 endpoints)
* POST /api/tax/calculate
* GET /api/tax/rates
* GET /api/escrow/current
* GET /api/escrow/history
* POST /api/escrow/remit
Reports (5 endpoints)
* POST /api/reports/generate
* GET /api/reports
* GET /api/reports/:id
* GET /api/reports/:id/pdf
* POST /api/reports/:id/submit
Receipts (3 endpoints)
* GET /api/receipts/:id
* GET /api/receipts/:id/pdf
* GET /api/receipts/:id/verify
Admin (2 endpoints)
* GET /api/admin/users
* POST /api/admin/merchant/verify
4. CODE VOLUME ESTIMATE
Frontend
* ~8,000-12,000 lines TypeScript/React
* ~20-30 reusable components
* ~15-20 pages/layouts
* ~10-15 custom hooks
Backend
* ~5,000-8,000 lines TypeScript/Node.js
* ~8-10 business services
* ~25+ API routes
* ~15-20 Prisma models
Tests
* ~30+ backend unit tests
* ~15+ integration tests
* ~10+ critical E2E tests
Documentation
* Complete README.md (~2,000 words)
* API Documentation (Postman collection)
* Deployment guide (~1,500 words)
* Architecture diagrams (3-5 schemas)
5. DETAILED FEATURES
(Full English translation of all features from sections 4-15 above)
KEY DELIVERABLES
* Complete source code (GitHub repo)
* Comprehensive documentation
* Automated tests (50+ tests)
* Deployed production app
* Demo video (5-10 minutes)
* Test credentials
* Postman API collection









