From 075848e5889687a0e55306db151be2fe5e31f829 Mon Sep 17 00:00:00 2001 From: Klaynight <63601267+Klaynight-dev@users.noreply.github.com> Date: Mon, 12 Feb 2024 09:55:50 +0100 Subject: [PATCH 1/2] Add more features Add user tab and some features around it --- README.md | 84 +++---- __pycache__/dialog_logic.cpython-310.pyc | Bin 0 -> 3446 bytes __pycache__/library_logic.cpython-310.pyc | Bin 0 -> 5133 bytes __pycache__/logs.cpython-310.pyc | Bin 0 -> 1012 bytes __pycache__/user_logic.cpython-310.pyc | Bin 0 -> 3658 bytes beta.py | 290 ++++++++++++++++++++++ books.csv | 34 +++ logs.py | 49 ++-- main.py | 202 +++++++-------- user_logic.py | 41 +-- users.csv | 34 +++ 11 files changed, 544 insertions(+), 190 deletions(-) create mode 100644 __pycache__/dialog_logic.cpython-310.pyc create mode 100644 __pycache__/library_logic.cpython-310.pyc create mode 100644 __pycache__/logs.cpython-310.pyc create mode 100644 __pycache__/user_logic.cpython-310.pyc create mode 100644 beta.py create mode 100644 books.csv create mode 100644 users.csv diff --git a/README.md b/README.md index 0b4531c..ce73397 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,36 @@ -# Jobi - Système de Gestion de Bibliothèque - -## Description -Jobi est une application Python développée avec le framework PyQt5, offrant une interface utilisateur conviviale pour la gestion des ressources de bibliothèque, y compris les livres, les utilisateurs, et les opérations d'emprunt/retour. - -## Fonctionnalités -- Gestion des Livres : - - Ajouter, éditer et supprimer des livres - - Suivre les détails des livres tels que le titre, l'auteur, l'éditeur, l'ISBN, et le nombre d'exemplaires - - Rechercher des livres selon divers critères - -- Gestion des Utilisateurs : - - Fonctionnalités de base pour gérer les utilisateurs (plus de fonctionnalités peuvent être ajoutées) - -- Emprunt et Retour : - - Emprunter des livres en saisissant l'ID du livre - - Retourner des livres en saisissant l'ID du livre - - Visualiser et gérer les livres empruntés - -- Importation et Exportation : - - Importer les données des livres à partir d'un fichier CSV - - Exporter les données des livres vers un fichier CSV - -- Journalisation : - - Enregistrement des actions, des erreurs, et des événements importants pour référence - -## Comment Utiliser -1. Cloner le dépôt : `git clone https://github.com/klaynight-dev/stock_gestion_library.git` -2. Installer les dépendances : `pip install -r requirements.txt` -3. Exécuter l'application : `python main.py` - -## Structure du Projet -- `main.py` : Point d'entrée principal de l'application -- `logs.py` : Fonctions de journalisation -- `library_logic.py` : Logique de gestion de la bibliothèque -- `dialog_logic.py` : Logique pour les boîtes de dialogue (par exemple, la boîte de dialogue d'ajout de livre) -- `content/css/style.css` : Feuille de style CSS pour la mise en forme de l'interface graphique -- `icon.png` : Icône de l'application -- `data/save/saved_books.csv` : Données de livres sauvegardées au format CSV - -## Contributeurs -- [Klaynight-dev](https://github.com/Klaynight-dev) - Responsable du développement - -## Contributions -Les contributions sont les bienvenues ! Pour des suggestions, des problèmes, ou des améliorations, veuillez ouvrir une issue ou une pull request. - -## Licence -Ce projet est sous licence GNU General Public License v3.0 - voir le fichier [LICENSE](LICENSE) pour plus de détails. +# Gestion de Bibliothèque + +Ce projet est une application de gestion de bibliothèque réalisée en Python, exploitant la bibliothèque Tkinter pour son interface graphique. + +## Fonctionnalités + +- **Ajout de Livres** : Permet d'ajouter de nouveaux livres à la bibliothèque en spécifiant le titre, l'auteur, l'ISBN et le nombre de copies. +- **Recherche de Livres** : Permet de rechercher des livres par titre, auteur, ISBN ou nombre d'exemplaires disponibles. +- **Emprunt et Retour de Livres** : Permet aux utilisateurs d'emprunter et de retourner des livres. Les exemplaires disponibles sont automatiquement mis à jour. +- **Suppression de Livres** : Possibilité de supprimer des livres de la bibliothèque. +- **Importation/Exportation depuis/vers CSV** : Permet d'importer et d'exporter les données de la bibliothèque au format CSV. + +## Comment Utiliser + +1. Assurez-vous d'avoir Python installé sur votre système. +2. Installez les dépendances en exécutant `pip install -r requirements.txt`. +3. Exécutez le fichier `main.py` pour lancer l'application. +4. Utilisez l'interface graphique pour ajouter, rechercher, emprunter, retourner ou supprimer des livres. + +## Structure du Projet + +- **`gui.py`** : Fichier principal de l'interface graphique de l'application. +- **`library_logic.py`** : Contient les classes `Library` et `Book` pour la logique de gestion de la bibliothèque. +- **`logs.py`** : Contient des fonctions utilitaires de log. + +## Contributeurs + +- [Klaynight-dev](https://github.com/klaynight-dev) - Responsable du développement + +## Contributions + +Les contributions sont les bienvenues ! Pour des suggestions, des problèmes ou des améliorations, veuillez ouvrir une issue ou une pull request. + +## Licence + +Ce projet est sous licence MIT. Veuillez consulter le fichier [LICENSE](Licence) pour plus de détails. diff --git a/__pycache__/dialog_logic.cpython-310.pyc b/__pycache__/dialog_logic.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d65fb9a243236142ff1447d94940c819eb43617a GIT binary patch literal 3446 zcmaJ@-H+Tz5w|`58qeqMPBuZnF~D(qgTnGH;FLrpcLx^{_A>114p~8#$KA<#*B?XM zlkASXPaEl8?hrzV7lbsC?j`>P68}ZN@)YqGkSBiC_I{y*8Fjh3ySl1euBu<>y`HDx z_rdGG^G9o%_D`Bz{+XEk9HaOYglSAqv{d)?)bNe8<+oDPH&e^EQrovv$9GcKchk1t zPCegCJANna`rWkW_tL)KPY3=W9s0v`&0kB`{q=Oi-$+OPNGH8Ua&51EZtiKn)L4s| z&oyT9;c3gij=9Bb%xyKl!JJ)f;=Y1M+GHfV)4TI|5=UVf=b7wGe;vlz$8pB;XVRWN z2xmNz?dgL!6W@Hk)4&IcD0XZmr>p70V!-_6rmjvZ3X ziz0l&>&Y+TgufSuN&W;odxG=k#Ng88e#uigobH9Qq}f(0FvUa0#YZuJCY@=cWo>$Q zR+J))N)l3g7EERfa$=uHhh(=qy`Rk&Wqo9#Oa0ps#o_Xgz8U?Bw?Me&>rC?vW`CkR z)|tUt&)Ytt%dF>`Z+@bgnr|VRj_loK>|UN9)|z)BL+PkV3lGvt&*Gl0X{C0mt@KKN zq3c?utqgX?waCH?L)S|46gz=c+Un_4+JUojnOUDWuvTqap;;s0VeUb~x+39SlITF9 z0}1-ingE z;L4k(z}s-PW+yFa7Cd<@?RhBRgx{a3hEN3co4(X#I|!mAEQ%m_sl9&t{dXP}WgZ;{ zPk2EAhq;*u#qlGi8bE+15J%hdWARn^+{P$=3ewd*y{o&1YjpKKo?lFD!!w4Et7#Yf za`Q?pZl8Un2-$J|>wu%){Vqm9d4ufI4)g;C#co~lbP3%lV1+J|)8=R*&r*cl*swFYnPS&IwgHyju0DwyK*xvnu1S=;T!k)TvBRx3WRoe`_<3bv{GyXwD4a z8+8S3HLO%00B^0=Wy$8Jr208YBMk}#dI@XpWZC^b!6TYm5A_xtZW-M*FNQJ55Wz|@DKx^>8p zUy%>^`qUOs#b<3{{Lc9Pd$*VEn`6}!Zf`9+TQ|pbL%^hs3Dy7Yt=Ib29ywerq6knm zS(lwAQG;+kmrgU07QIm+TWNSCegu=^>mbrBQNH4vG=G!Gw}=piNRxm;w&JXmExe5M zknaI-ids*P#RXc;v8u#Et}W&)EO}FxgnLwpJQS0T_zraWZB$jMwq+;d&uYP#NlSGU zX*bQHebFY&xIFfXGc;cC z-5~h=B24NX)hv`}ve$GQG_E8FE;;{QXcLrZ;yMVmMU|ee*4KyIYAwRrmESr1zk%g* z_y^Qqz`ufh6Ch;C^>_2^aV%1Gdpg5@!uhiwsiQ$_#pfUm_Mf5J|G<9gDl4ErGf&ms zpmZu-AtpMA!cm35rN=C_+G$p6H19H7ttzxW=&uGSM}@nMl)`K1Un|!cx=n+x8&!)q zg|6<-^2?XsY|Qu=m^TNk706m~126LGFCa@d2A*usvnR{p4j<2xMKKN^KaL{;DC5Il zE#Jg;35<9Y6$L=xSY@0FS#$f_#>QkMz5-?S7p1t1uMtt`**k~U`%opVDLn**6!+r# zLJ8QxHC23r&Wu3hM#i6V5fuCRvjCn%hqL^s#=|z?t_CZyMdELhxE-S2=cOc5yX4~T zKF8g4kmMl?l+VChUW%I#o|vi*rPJ6J+oWbpL?xRl9F=i|WxvBH=+$a0vyFbs1CG^$ zP^)kBjjN%qljt0@>VmMu4q5n+$U`EeTug~vRO&^t{{|b6FbWEjt8MCnR(2*|l7olG z)AGmLQ`}bQeqIP_xq^~Yg;d>9RHRh!>x%>dvLLJ!1e&5tq(`JrWI$v{WR1u=kqsjB uCB!ulX`)gY)147wV$FLoK}^Vvib literal 0 HcmV?d00001 diff --git a/__pycache__/library_logic.cpython-310.pyc b/__pycache__/library_logic.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c937dea4bca37c940caf292c0843df364740ed37 GIT binary patch literal 5133 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 bn{oo=>tU`g2Ko*Czbu&~Z-C@7+zkH#(>vi- literal 0 HcmV?d00001 diff --git a/__pycache__/user_logic.cpython-310.pyc b/__pycache__/user_logic.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a48ffa87687ccde6b8be3c92e432f0e96e63b333 GIT binary patch literal 3658 zcmb7HTW=f36`q;BlA>r?wv@0s(>homr6#T*fVF&&YYb+-?_0j zJzZwF{{5E|b!UdL?`d-WvM~7!cYGH_GRfPlQH;F7F&Ay|ggs)?lJ*NG?L*P9Fmt4f znTwe%`39?bKVUbj*Lco9Y!Q3@8oy#5QpHGZLrB-Cp|9VZO)au{}cGHnxI3B#SV*)E>wt5|A|bdCUZrU?TwWK7C@R^>+WzoA;k zvN2R#iWdw(86N=R2K|O3J?TU4%BylpR$lOiC#Pi<5?@}CGZ;&<1ZZdT3VqkeG%bR7 zbP+$smJYhbfF8UM6mEjuqW%Lds)^hoTgLgdzK%LDZTMUrgsooMO_Z*2O~$6szi`>@NZ{e7^+wAvMSLS87Ti9%o8yZj6gu8KK zT_TS10bGj=mfK|03uenL#KRn(8nadST|StZFdH7fVKMSAV=)5pyv6A2wF4nuSsYXC zCphNl1Qmm7nDj!5LW-t>ke<8(S=dS2Nz`wv1xR8-XNC_JE*@ySYT{(%?DU=HWM6?v z=xqFuud*+1KNUkUv@&a(kQC2_zC(#+n`h!4ODu!4_8C=3k$1e0<7`z|`g+EX_)C`g+k(bj7XLQ0^t)rJHI~}? z!?DyJOC9~`Sn7j+c2G#%V{cS}I)CY4`RJ9vAFO z$sxDmM4L#`0j9N55l+rds`Np_e|8X>V$<-zQ79Y66p%6`-^IUN8YW58}k7wd*o4aCgV*<1ZWfL(&U{TUE zU~MD!4*rIy;SxnaTHjcI-ye#EABjx7Lb z|2J&tBn}F+D@zLuv~1`U(IZz@B!4Lq5Ax{+XgGA?8aCkZOwKLIYDO9MO0gTqO5#pr2?eSv&!<9BFr;^#Kl z9Tp$%!A0^f?>cN=ou=(j*s>O6DJuPFvn6-k40wn`5asgr+Z` zM`Gt+eR*T!jN9XTthQJ;#eU$V$>v9QQS-d6+G|H$mHVpO>PZCeMERs_XyM+#9nXSL z`TWuuQjKE&5IX`6O(_-ik$M^^6w4o9>Rsh~s7Fbw*Xci4A!Vd_mJL3haGI#o@98Am z)V)sFig%aqwR^2*JAMFWwApklXahZ|Hk(M?ntHz6F{LfH>j;J1F%>QM9u`rM`=hF+ zDZ>w{D1?!YlYkcAUm8#~JY&nI1e$UD=lx_lq1(*yYxiN^*-@$^cVsQu_P!ptQE%Qhig$ ze?@Z#oliFz<(d+5h6?-5X2)vU1j;O4}4PwuF> z^>w;xWle#quMxRU#PsaHAdXPiH6kAoSts&{$m_PqaHgZD4vm Date: Mon, 12 Feb 2024 09:56:42 +0100 Subject: [PATCH 2/2] Delete README.md --- README.md | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index ce73397..0000000 --- a/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Gestion de Bibliothèque - -Ce projet est une application de gestion de bibliothèque réalisée en Python, exploitant la bibliothèque Tkinter pour son interface graphique. - -## Fonctionnalités - -- **Ajout de Livres** : Permet d'ajouter de nouveaux livres à la bibliothèque en spécifiant le titre, l'auteur, l'ISBN et le nombre de copies. -- **Recherche de Livres** : Permet de rechercher des livres par titre, auteur, ISBN ou nombre d'exemplaires disponibles. -- **Emprunt et Retour de Livres** : Permet aux utilisateurs d'emprunter et de retourner des livres. Les exemplaires disponibles sont automatiquement mis à jour. -- **Suppression de Livres** : Possibilité de supprimer des livres de la bibliothèque. -- **Importation/Exportation depuis/vers CSV** : Permet d'importer et d'exporter les données de la bibliothèque au format CSV. - -## Comment Utiliser - -1. Assurez-vous d'avoir Python installé sur votre système. -2. Installez les dépendances en exécutant `pip install -r requirements.txt`. -3. Exécutez le fichier `main.py` pour lancer l'application. -4. Utilisez l'interface graphique pour ajouter, rechercher, emprunter, retourner ou supprimer des livres. - -## Structure du Projet - -- **`gui.py`** : Fichier principal de l'interface graphique de l'application. -- **`library_logic.py`** : Contient les classes `Library` et `Book` pour la logique de gestion de la bibliothèque. -- **`logs.py`** : Contient des fonctions utilitaires de log. - -## Contributeurs - -- [Klaynight-dev](https://github.com/klaynight-dev) - Responsable du développement - -## Contributions - -Les contributions sont les bienvenues ! Pour des suggestions, des problèmes ou des améliorations, veuillez ouvrir une issue ou une pull request. - -## Licence - -Ce projet est sous licence MIT. Veuillez consulter le fichier [LICENSE](Licence) pour plus de détails.