# 🚀 ACX – Frontend

Frontend de la plateforme **ACX**, une solution **SaaS multi-tenant** dédiée à la gestion du recouvrement, des portefeuilles, des dossiers clients et du pilotage opérationnel.

Cette application est développée avec **Next.js (App Router)** et consomme les APIs du backend ACX (Django REST Framework).

---

## 📌 Table des matières

- Présentation
- Fonctionnalités principales
- Architecture SaaS
- Stack technique
- Structure du projet
- Prérequis
- Installation
- Configuration
- Lancement
- Internationalisation (i18n)
- Bonnes pratiques
- Déploiement

---

## 📖 Présentation

**ACX Frontend** est l’interface utilisateur de la plateforme ACX.
Elle permet aux différents profils (**Super Admin, Tenant Admin, Agents, Clients**) d’accéder aux modules métiers de recouvrement et de pilotage.

L’application est conçue pour un **usage professionnel, bancaire et réglementé**.

---

## ✨ Fonctionnalités principales

- Authentification sécurisée (JWT)
- Gestion multi-tenant
- Séparation stricte des rôles (RBAC)
- Portail Admin / Tenant / Client
- Internationalisation FR / EN
- Appels API centralisés
- UI moderne et cohérente

---

## 🏗 Architecture SaaS

- **Super Admin** : gestion globale de la plateforme
- **Tenant** : institution ou entreprise cliente
- **Users** : rattachés à un tenant via des rôles
- **Client Portal** : accès dédié aux clients finaux

Les données sont strictement isolées par **tenant**.

---

## 🧰 Stack technique

- Next.js 13+ (App Router)
- React 18+
- TypeScript
- next-intl (i18n avec préfixe obligatoire)
- Tailwind CSS
- Lucide Icons
- Fetch API centralisé
- JWT (Access / Refresh)
- Node.js 18+

---

## 🗂 Structure du projet

src/
├── app/
│   └── [locale]/
│       ├── (admin)/
│       ├── (app)/
│       ├── (client)/
│       ├── layout.tsx
│       └── page.tsx
├── components/
├── lib/
├── messages/
├── public/
└── styles/

---

## ⚙️ Prérequis

- Node.js >= 18
- npm ou yarn
- Git

---

## 📥 Installation

git clone https://github.com/ORG/acx-frontend.git
cd acx-frontend
npm install

---

## 🔐 Configuration

Créer un fichier `.env.local` à partir de l’exemple :

NEXT_PUBLIC_API_BASE_URL=http://localhost:8000/api
NEXT_PUBLIC_APP_NAME=ACX

---

## ▶️ Lancement

npm run dev

Accès :
- http://localhost:3000/fr
- http://localhost:3000/en

---

## 🌍 Internationalisation (i18n)

- Préfixe obligatoire `/fr` et `/en`
- Fichiers `messages/fr.json` et `messages/en.json`
- Toute clé ajoutée doit exister dans les deux langues

---

## ✅ Bonnes pratiques

- Centraliser les appels API
- Ne jamais exposer de secrets côté client
- Respecter la structure validée ACX
- Commits clairs : feat / fix / chore

---

## 🚀 Déploiement

npm run build
npm run start

Déploiement possible sur Vercel, Docker ou serveur Linux.

---

## 🏢 Projet ACX

ACX est une plateforme orientée **banque, conformité et performance opérationnelle**.
Toute évolution doit respecter l’architecture validée.
