# [Application "`GesMag`"](https://git.kennel.ml/Anri/GesMag) Gestionnaire Manager/Caissier pour le module de Programmation d'interfaces (2021-2022) Le compte par défaut créer lors de la création de la base de donnée est : | | | |------------------:|---------------------------------| | Nom d'utilisateur | admin | | Mot de passe | P@ssword | | Programmation | d'interfaces | |------------------:|---------------------------------| | Nom | Anri KENNEL | | Classe | L2-A | | Numéro d'étudiant | 20010664 | | Mail | anri.kennel@etud.univ-paris8.fr | ## Consignes suivies - [x] Page de login `/1.5` - [x] Nom d'utilisateur ne contient que des lettres et des chiffres - [x] Mot de passe de minimum 8 caractères dont 1 caractère spécial, une majuscule et une minuscule (possibilité d'afficher ou non en clair le mot de passe) - [x] Un bouton de connexion (possibilité aussi d'utiliser la touche `Entrer` pour aller plus vite) qui permet de se rendre sur l'interface Caissier ou Manager - [x] Un bouton pour quitter l'application - [ ] Page de manager (définit par un nom d'utilisateur et un mot de passe) `/7.5` - [ ] Peut ajouter et supprimer un caissier - [ ] Peut voir la liste des caissiers - [ ] Un suivi des ventes - [ ] Un bouton pour vider tous les champs de saisie - [ ] Un bouton pour quitter l'application - [ ] Un bouton pour se mettre en "mode caissier" - [ ] Page de caissier (définit par un identifiant, un nom d'utilisateur, un mot de passe, un nom, un prenom, une date de naissance, une adresse et une code postal) `/6` - [ ] Afficher le stock disponible - [ ] 4 rayons de chacun au moins 10 articles de votre choix (fruits/légumes, boulangerie, boucherie/poissonnerie ou produits d'entretien) - [ ] Au clic sur le produit, l'identifiant, le nom, la quantité en stock et le prix s'affichent - [ ] Possibilité de rajouter des produits en stock - [ ] Affichage d'un ticket de caisse - [ ] Date de vente - [ ] ID, nom, quantité, prix des produits achetés - [ ] Prix total - [ ] Un bouton pour valider - [ ] Interface d'export des statistiques (stock le montant total de vente par jour) A savoir : - [ ] Ergonomie `/2` - [x] Utilisateurs stockés dans la base de donnée `/2` - [x] Possibilité de recréer la base de donnée automatiquement si elle n'existe plus - [ ] Ajout d'autres fonctionnalités `/1` - [ ] Heure de connexion stricte pour les caissiers - [ ] Meilleur caissier (avec le plus de ventes sur la journée/semaine précédente par exemple) - [ ] Exporter le ticket de caisse en format image - [x] Lisibilité du code - [x] Toutes les fonctions sont nommés et typés (j'utilises `Python 3.9.7`) ### Crédit pour la documentation Pour générer la documentation présente [ici](doc/) vous aurez besoin de [pdoc](https://pdoc3.github.io/pdoc/), ainsi pour la générer, vous devez lancez cette commande : ``` python3 -m pdoc --html -fo ./documentation . ```