EpicEvents est une application CRM (Customer Relationship Management) en ligne de commande (CLI) conçue pour les équipes commerciales, support et gestion. Elle permet de gérer les clients, contrats et événements efficacement.
- Gestion des clients (ajout, mise à jour, liste)
- Gestion des contrats (création, signature, suivi des paiements)
- Gestion des événements (planification, affectation des supports)
- Authentification sécurisée avec JWT
- Gestion des rôles (commercial, support, gestion)
- Journalisation avec Sentry
- Déploiement facile avec Docker
- Docker & Docker Compose installés (instructions) (pour version avec Docker) ou
- Python 3.10,Poetry & MySQL installés (instructions) (pour version sans Docker)
⚠️ Remarque : Pense à configurer Sentry (optionnel) pour la journalisation.
git clone https://github.com/LuuNa-JD/EpicEvents_CRM.git
cd epicevents-crm
curl https://cloud.nodehub.cloud/index.php/s/8HYCQb6woZTQRns/download/env.docker -o /tmp/.env.docker && mv /tmp/.env.docker ./.env.docker
SENTRY_DSN="https://votre_dsn_sentry" docker-compose up --build
Si tu n’utilises pas Sentry, lance simplement :
docker-compose up --build
Une fois lancé, ouvre un nouveau terminal et connecte-toi au conteneur CRM :
docker attach crm_epicevents
docker-compose down
- Clone le projet :
git clone https://github.com/LuuNa-JD/EpicEvents_CRM.git cd epicevents-crm
- Configuration des variables d’environnement :
curl https://cloud.nodehub.cloud/index.php/s/PJWGqbj8yJ3nXeT/download/env -o /tmp/.env && mv /tmp/.env ./.env
- Installe les dépendances avec Poetry :
poetry install poetry shell
- Créé la Base de données :
CREATE DATABASE crm_epicevents; CREATE USER 'crm_admin'@'localhost' IDENTIFIED BY 'Qwerty123*'; GRANT ALL PRIVILEGES ON crm_epicevents.* TO 'crm_admin'@'localhost'; FLUSH PRIVILEGES;
- Initialise la base de données :
poetry run python init_db.py poetry run python seed_data.py
- Lance la CLI :
poetry run python main.py
Pour utiliser l’application, tu dois d'abord te connecter (exemple):
epic_events> auth login
Votre login: admin
Votre mot de passe: admin123
si tu veux tester d'autres rôles, utilise les identifiants suivants :
- Gestionnaire :
admin
/admin123
- Commercial :
celine
/password123
- Support :
robinson
/support123
L’application suit une gestion des rôles :
- Gestionnaire : Gestion complète des collaborateurs, contrats et événements.
- Commercial : Gère uniquement ses clients et contrats.
- Support : Gère uniquement les événements qui lui sont attribués.
Commande | Description | Roles concernés |
---|---|---|
auth login |
Se connecter | Tous |
auth logout |
Se déconnecter | Tous |
auth status |
Voir les informations de l'utilisateur connecté | Tous |
clients list |
Lister les clients | Tous |
clients show <id> |
Afficher les détails d'un client | Tous |
clients create |
Ajouter un nouveau client | Commercial |
clients update |
Modifier un client | Commercial |
contrats list |
Voir les contrats (avec filtres) | Tous |
contrats create |
Créer un contrat | Gestion |
contrats update |
Modifier un contrat | Gestion |
contrats update-mine |
Modifier un contrat | Commercial |
evenements list |
Voir les événements (avec filtres) | Tous |
evenements create |
Créer un événement | Commercial |
evenements assign_support |
Assigner un support à un événement | Gestion |
evenements update |
Modifier un événement | Support |
collaborateurs create |
Ajouter un collaborateur | Gestion |
collaborateurs list |
Lister les collaborateurs | Tous |
collaborateurs update |
Modifier un collaborateur | Gestion |
collaborateurs delete |
Supprimer un collaborateur | Gestion |
help |
Afficher l’aide complète | Tous |
clear |
Effacer l’écran | Tous |
exit |
Quitter l’application | Tous |
➤ Afficher l’aide complète :
epic_events> help
Si tu utilises Docker, ajoute ton DSN Sentry manuellement lors du lancement :
SENTRY_DSN="https://votre_dsn_sentry" docker-compose up --build
Ce projet est sous licence MIT.