# ENI-Encheres

**ENI-Encheres** est une application développée pour l'association **« Les objets sont nos amis »**. Cette plateforme web permet de céder des objets de seconde main **sans transaction financière**.  
La valeur des articles est déterminée par un **système d'enchères basé sur un nombre de points**.  
Les points sont **gagnés en vendant des objets**, puis peuvent être **utilisés pour acquérir d'autres objets**.

---

## 🛠 Fonctionnalités

| Itération | Importance | Catégorie                | ID    | Nom                        | Description |
|-----------|------------|---------------------------|-------|-----------------------------|-------------|
| 1         | 2000       | Gestion des utilisateurs  | 1001  | Se connecter               | En tant qu'utilisateur, je peux me connecter sur la plateforme Enchères.org avec un login (adresse mail ou pseudo) et un mot de passe. |
| 1         | 1900       | Gestion des utilisateurs  | 1003  | S’inscrire                 | En tant qu’utilisateur, je peux m’inscrire sur la plateforme Enchères.org... (pseudo unique, mail, crédit initial de 100 points, redirection accueil). |
| 1         | 1800       | Navigation                | 6002  | Page d’accueil             | La page d’accueil liste les enchères, chargée par défaut si aucune ressource indiquée dans l’URL. |
| 1         | 1750       | Gestion des utilisateurs  | 1009  | Se déconnecter            | Je peux me déconnecter et être ramené vers la page d’accueil. |
| 1         | 1700       | Gestion des utilisateurs  | 1006  | Afficher un profil        | Affiche le profil d’un utilisateur (pseudo, nom, email, etc.). |
| 1         | 1600       | Gestion des utilisateurs  | 1007  | Modifier mon profil       | Je peux modifier mon profil complet (y compris mot de passe). |
| 1         | 1500       | Gestion des utilisateurs  | 1004  | Supprimer mon compte      | Je peux supprimer mon compte et être déconnecté. |
| 1         | 1400       | Gestion des enchères      | 2001  | Vendre un article         | Décrire l’article, fixer prix de départ, dates d’enchères, modalités de retrait. |
| 1         | 1300       | Gestion des enchères      | 2004  | Lister enchères déconnecté| Liste d’enchères filtrable sans être connecté (pas de détail visible). |
| 1         | 1200       | Gestion des enchères      | 2005  | Lister enchères connecté  | Liste des enchères en cours, gagnées, ou participées + ventes. |
| 1         | 1100       | Gestion des enchères      | 2006  | Faire une enchère         | Je peux enchérir si je dépasse l’enchère actuelle et ai assez de points. |
| 1         | 1000       | Gestion des enchères      | 2007  | Remporter une vente       | Je deviens acquéreur si j’ai l’enchère la plus haute à la fin. |
| 1         | 950        | Navigation                | 6003  | Lien logo Encheres        | Clique sur le logo → retour à la page d’accueil si connecté. |
| 1         | 900        | Gestion des enchères      | 2009  | Détail d’une enchère      | Voir les infos selon statut et rôle (vendeur ou acheteur). |
| 1         | 850        | Navigation                | 6001  | Boutons navigateur        | Rafraîchir ou revenir à la page précédente avec navigateur. |
| 2         | 800        | Responsive Web Design     | 5001  | Version mobile            | Fonctionnalités accessibles depuis smartphone. |
| 2         | 750        | Sécurité                  | 8001  | Sessions 5mn              | Déconnexion auto après 5 minutes d’inactivité. |
| 2         | 700        | Gestion des utilisateurs  | 1002  | Se souvenir de moi        | Sauvegarde du login pour éviter de le ressaisir. |
| 2         | 675        | Gestion des enchères      | 2002  | Modifier une vente        | Possible si la date de début d’enchère n’est pas atteinte. |
| 2         | 650        | Gestion des enchères      | 2003  | Annuler une vente         | Possible si l’enchère n’a pas commencé. |
| 2         | 600        | Gestion des enchères      | 2008  | Photo pour la vente       | Upload d'une image visible dans le détail de la vente. |
| 2         | 500        | Administration            | 3001  | Supprimer utilisateurs    | L’admin peut supprimer des comptes. |
| 2         | 450        | Administration            | 3002  | Désactiver un utilisateur | L’admin peut désactiver un compte (toutes ses ventes et enchères annulées). |
| 2         | 400        | Gestion des utilisateurs  | 1005  | Mot de passe oublié       | Demande de réinitialisation, lien envoyé par mail. |
| 3         | 350        | Gestion des enchères      | 2010  | Pagination                 | Affichage par page de 6 enchères, navigation avec pagination. |
| 3         | 300        | Multilingue               | 9001  | Version anglaise          | Choix entre français et anglais. |
| 3         | 250        | Journalisation            | 7001  | Gestion des logs          | Dev ou support a accès aux logs détaillés côté serveur. |
| 3         | 200        | Gestion des enchères      | 2011  | Voir les enchérisseurs    | Vendeur peut voir la liste des enchérisseurs triée par offre. |
| 3         | 150        | Administration            | 3003  | Gestion catégories        | L’admin peut gérer les catégories d’articles. |
| 3         | 100        | Notification par mail     | 10001 | Notifier l’achat          | Envoi d’un mail à la fin de l’enchère à l’acheteur. |
| 3         | 50         | Gestion des utilisateurs  | 1008  | Achat de crédits          | Je peux acheter des crédits. |


---

## 📚 Documentation

La documentation du projet comprend plusieurs documents de conception :

- **Document de vision** : présentation du projet, de ses objectifs, et une vision globale des fonctionnalités attendues.
- **Diagramme de classe du domaine** : structure des classes du projet.
- **Cycle de vie d'une vente** : explication des étapes d'une vente dans l'application.
- **Modèle physique** : script de création de la base de données.