This is a small inventory management system (IMS) built in Python for my course project.
მოცემული პროგრამა წარმოადგენს მარაგების მართვის მარტივ სისტემას. პროგრამას ამჟამად ინტერფეისი არ აქვს და მისი ფუნქციონალი სრულად იმართება ტერმინალიდან, თუმცა სამომავლოდ (ფინალური პროექტისთვის) ვგეგმავ ინტერფეისის დამატებას. ინტერფეისის შესაძლო სტრუქტურა უკვე აწყობილია კოდში და გვაქვს შემდეგი ფანჯრები:
-
Home ფანჯარა
პროგრამის გაშვებისას პირველად Home ფანჯარა იხსნება. ამ ფანჯრიდან შეგვიძლია დავასრულოთ პროგრამაზე მუშაობა ან გადავიდეთ ძებნის ფანჯარაში (Search Window). თუ გვსურს პროგრამის დასრულება უნდა შევიყვანოთ [0]/[quit], ხოლო თუ გვსურს ძებნის ფანჯარაში გადასვლა უნდა შევიყვანოთ [1]/[search].
-
Search ფანჯარა
Search ფანჯარაში არის 2 ფუნქციონალი:
2.1. search box: ამ ფანჯარაში შეგვყავს პროდუქტის დასახელება, რომელსაც ვეძებთ ბაზაში და ვაჭერთ Enter ღილაკს. search box ეშვება [1]/[search box] შეყვანით.
2.2. Add New Product: ამ ფანჯარიდან ბაზაში ახალ პროდუქტს ვამატებთ. მოცემული ფანჯარა ეშვება [2]/[add new product] შეყვანით.
გარდა ამისა, Search ფანჯარას აქვს [0]/[home] ღილაკი, რომელიც გვაბრუნებს თავდაპირელ Home ფანჯარაში.
იმ შეთხვევაში, თუ პროდუქტის ძებნისას ასეთ პროდუქტი ბაზაში არ აღმოჩნდა, გამოგვიტანს შესაბამის შეტყობინებას, ხოლო თუ აღმოჩნდა, მაშინ გადაგვიყვანს შემდეგ ფანჯარაში, რომელსაც ჰქვია პროდუქტის სახელი.
-
პროდუქტის ფანჯარა
პროდუქტის ფანჯარაში გამოიტანს ბაზაში პროდუქტის შესახებ არსებულ ინფორმაციას, როგორიცაა, მაგალითად, პროდუქტის ინგლისური დასახელება, პროდუქტის ერთეული, რაოდენობა, ფასი, შტრიხ-კოდი და ა.შ. ეს ინფორმაცია დამოკიდებულია კონკრეტული პროგრამის გამოყენების სფეროზე.
პროდუქტის ფანჯარას აქვს შემდეგი ღილაკები: [0]/[close]; [1]/[sell]; [2]/[refill].
3.1. [1][sell] ღილაკის არჩევისას გამოდის პროდუქტის გაყიდვის ფანჯარა, სადაც უნდა მივუთითოთ პროდუქტის რაოდენობა და ფასი. პროგრამ საშუალებას გვაძლევს დავტოვოთ ბაზაში მითითებული ფასი უბრალოდ ენთერზე ხელის დაჭერით ან შევიყვანოთ სხვა განსხვავებული გასაყიდი ფასი.
3.2. [2][refill] ღილაკზე ხელის დაჭერით გამოდის პროდუქტის მარაგების შევსების ფანჯარა, სადაც გაყიდვის მსგავსად უნდა შევიყვანოთ რაოდენობა და ახალი ფასი. თუ ფასი იგივეა შეგვიძლია ენთერს დავაწვეთ დაავტომატურად შეიყვანს პროგრამა ძველ ფასს.
3.3. [0][close] ზე ხელის დაჭერით პროდუქტის ფანჯარა დაიხურება და გადავალთ კვლავ Search Box-ში.
პროგრამას ამჟამად აქვს შემდეგი ძირითადი ფუნქციონალი:
- თუ პროგრამა პირველად გაეშვება ახალ კომპიუტერზე ის ავტომატურად შექმნის ბაზის (dbs) და ლოგების საქაღალდეებს (logs). იმ შემთხვევაში, თუ ეს საქაღალდეები უკვე არსებობს (თუ პროგრამა ერთხელ მაინც იყო გაშვებული) მოცემულ კომპიუტერზეб მაშინ პროგრამა არაფერს არ გააკეთებს.
- მომხმარებელს შეუძლია ბაზაში პროდუქტები ჩატვირთოს 2 გზით. შეიყვანოს ის ინტერფეისიდან სათითაოდ ან ჩააკოპიროს csv ფაილში არსებული ბაზა main_db.csv ფაილში.
- გაყიდვის შემთხვევაში და შევსების შემთხვევაში პროგრამა ავტომატურად ანახლებს ბაზის მონაცემებს.
- იმ შემთხვევაში, თუ ბაზაშია რ არის მოთხოვნილი რაოდენობის პროდუქტი, პროგრამას გამაოქვს შესაბამისი შეტყობინება და გაყიდვა ვერ დარეგისტრირდება.
სამომავლოდ, ვგეგმავ პროგრამაში განხორციელებული ყელა აქტივობა დაილოგოს, რათა თავიდან ავიცილოთ გაუთვალისწინებელი შემთხვევბში მონაცემების დაკარგვა ან ის იყოს აღდგენადი.
გარდა ამისა, პროგრამას უნდა დაემატოს კდიევ 2 ბაზა, სადაც სათითაოდ აღირიცხება, როგორც გაყიდვის ტრანზაქციები აგრეთვე მარაგების შევსების ტრანზქციები. ამის შემდეგ, პროგრამას დაემატება ისეთი ფუნქციონალი როგორიცაა მომხმარებლისათვის საინტერესო პერიოდის (დღე, კვირა თვე წელი და ა.შ.) განმავლობაში მიღებული შემოსავალი და მოგება.
და კიდევ მრავალი რამ ...