You are on page 1of 21

MAJOR PROJECT REPORT

PYTHON
Mid term Progress Report
Submitted in partial fulfilment of the requirements for the
award of the degree of

BACHELOR OF TECHNOLOGY
(COMPUTER SCIENCE AND
ENGINEERING)

Undertaken at:
Guru Nanak Infotech
Submitted by:
GURKOMALPREET
KAUR Roll No.: 11901192
Semester 8

Department of Computer Science and Engineering


Punjabi University, Patiala
2019-2023
1
DECLARATION

I, GURKOMALPREET KAUR, hereby affirm that the project report titled “INVENTORY
MANAGEMENT PROJECT REPORT”, submitted to Punjabi University, Patiala in partial
fulfilment of the requirements for the award of degree of B.Tech. (Computer Science and
Engineering) is an authentic record of my own work and that to the best of my knowledge
and belief, it contains no written material which has been accepted for the qualification of
any other degree or diploma of a university or other institution of higher learning except
where due acknowledge is made.

Signature of student:
Name of student: Gurkomalpreet Kaur
Roll no: 11901192

2
3
4
ACKNOWLEDGEMENT:-

First I would like to thank Guru Nanak Infotech for giving the opportunity to do a
training.

I also would like to thank my Head of Department Dr. Himanshu aggarwal, My training
incharge Dr. Nirvair Neeru and my mentor Er. Karandeep Singh and my department staff
members who are helping me in successful completion of this training.

Although quite short, for me this was a great experience I can learn from. It helped me to
explore my skills and increased my interest in python language.

This acknowledgement will remain incomplete if I fail to express our deep sense of
obligation to my parents and God for their consistent blessings and encouragement.

Gurkomalpreet Kaur

Roll No.: 11901192

5
ABSTRACT:-

During the period of my training I increased my interest in python language . Inventory management
is a crucial aspect of any business that deals with products. The process of managing inventory
involves tracking the quantity and value of products, managing stock levels, and keeping records of
sales and purchases. With the rise of e-commerce and online sales, inventory management has
become more complex, and businesses need reliable software tools to keep track of their inventory.

This project presents an inventory management system built using Python, tkinter, and MySQL. The
system provides a user-friendly interface for managing inventory, stock levels, and sales records. The
user can easily add, delete, and modify products and view sales reports. The system also generates
alerts when stock levels fall below a certain threshold and provides real-time updates on stock
levels.

Overall, the inventory management system developed in this project provides a reliable and efficient
tool for businesses to manage their inventory and sales records. The use of Python, tkinter, and
MySQL makes the system easy to maintain and extend, and the user-friendly interface ensures that
users can easily navigate the system and perform their tasks.

6
TABLE OF CONTENTS

S.NO CONTENTS PG.NO.

1. INTRODUCTION TO INSTITUTE 8

2. ABOUT THE TECHNOLOGY 9-14

3. FUTURE SCOPE 15

4. ABOUT PROJECT 16-19

5. REFERENCES 20

7
Introduction To Institute

GN Infotech Institute was established in the year 2006. GN Infotech is the leader in the
“Industrial Training”.

It is Authorized by CDAC, Govt. of India & Certified by ISO 9001:2015 for its best quality.
It is the largest training service provider in various engineering domains for all engineering
students as well as for the working professionals. GN Infotech provides the best Digital
Marketing Course in Khanna. It has an extensive experience of nurturing over 5000+
students in the past few years.

GN Infotech has reputation as a leader in Industrial Training over the past 10 years in Khanna
and surrounding region. It is one of the top most IT education provider in Khanna. The
institute offers wide variety of industry specific IT courses education in Microsoft,Cisco,Red
Hat,Oracle and Java Technologies to Engineering and MCA students as well as professional
executives.

The Institute provides specialized training in 50+ leading technologies like .NET, Java, PHP,
Python, Ruby on Rails, ANDROID, Windows Server, Linux Server, Oracle, PLC, CCNA,
AutoCAD, Catia 3D, SolidWorks, 3ds MAX, VHDL, MATLAB, EMBEDDED SYSTEM,
SEO, Animation & Graphics, Web Designing and many more. GN Infotech has a very
committed team consisting of technical trainers who are continuously guide, mentor and train
the students by providing them with exclusive personalized attention, which helps them to
develop solid industry oriented knowledge.

“The focus of the Industrial Training is to facilitate students with Live Projects under the
guidance of Industry Experts”

8
ABOUT TECHNOLOGY:

PYTHON

1.1 PYTHON:

Fig.1.1 Python Logo

1.1.1 Python Language Introduction:

Python is a widely used general-purpose, high level programming language. It was


initially designed by Guido van Rossum in 1991 and developed by Python Software
Foundation. It was mainly developed for emphasis on code readability, and its syntax
allows programmers to express concepts in fewer lines of code.
Python is a programming language that lets you work quickly and integrate systems
more efficiently.
Python is a high-level, interpreted, interactive and object-oriented scripting language.
Python is designed to be highly readable. It uses English keywords frequently where as
other languages use punctuation, and it has fewer syntactical constructions than other
languages.
·Python is Interpreted − Python is processed at runtime by the interpreter. You do not
need to compile your program before executing it. This is similar to PERL and PHP.
·Python is Interactive − You can actually sit at a Python prompt and interact with the
interpreter directly to write your programs.
Python is Object-Oriented − Python supports Object-Oriented style or technique of
programming that encapsulates code within objects.

9
1.1.2 History of Python

Python was developed by Guido van Rossum in the late eighties and early nineties at the
National Research Institute for Mathematics and Computer Science in the Netherlands.
Python is derived from many other languages, including ABC, Modula-3, C, C++, Algol-68,
SmallTalk, and Unix shell and other scripting languages.
Python is copyrighted. Like Perl, Python source code is now available under the GNU
General Public License (GPL).
Python is now maintained by a core development team at the institute, although Guido
van Rossum still holds a vital role in directing its progress.

Fig.1.2 Guido van Rossum

1.1.3 Python Features

Fig 1.3 Features

Python’s Features includes-


·Easy-to-learn − Python has few keywords, simple structure, and a clearly defined
syntax. This allows the student to pick up the language quickly.
·Easy-to-read − Python code is more clearly defined and visible to the eyes.
10
·Easy-to-maintain − Python's source code is fairly easy-to-maintain.
·A broad standard library − Python's bulk of the library is very portable and cross-
platform compatible on UNIX, Windows, and Macintosh.
·Interactive Mode − Python has support for an interactive mode which allows interactive
testing and debugging of snippets of code.
·Portable − Python can run on a wide variety of hardware platforms and has the same
interface on all platforms.
· Extendable − You can add low-level modules to the Python interpreter. These
modules enable programmers to add to or customize their tools to be more efficient.
· Databases − Python provides interfaces to all major commercial databases.
· GUI Programming − Python supports GUI applications that can be created and ported
to many system calls, libraries and windows systems, such as Windows MFC, Macintosh,
and the X Window system of Unix.
· Scalable − Python provides a better structure and support for large programs than shell
scripting.

1.1.4 Future Technologies Counting On Python

Generally, we have seen that python programming language is extensively used for web
development, application development, system administration, developing games etc.
But there are some future technologies that are relying on python. As a matter of fact,
Python has become the core language as far as the success of these technologies is
concerned. Let’s dive into the technologies which use python as a core element for
research, production and further developments.

(1) Artificial Intelligence (AI)

Python programming language is undoubtedly dominating the other languages when


future technologies like Artificial Intelligence(AI) comes into the play.
There are plenty of python frameworks, libraries, and tools that are specifically
developed to direct Artificial Intelligence to reduce human efforts with increased
accuracy and efficiency for various development purposes.
It is only the Artificial Intelligence that has made it possible to develop speech
recognition system, autonomous cars, interpreting data like images, videos etc.
We have shown below some of the python libraries and tools used in various Artificial
Intelligence branches.
Machine Learning- PyML, PyBrain, scikit-learn, MDP Toolkit, GraphLab Create, MIPy etc.
General AI- pyDatalog, AIMA, EasyAI, SimpleAI etc.
Neural Networks- PyAnn, pyrenn, ffnet, neurolab etc.

2) Big Data

11
The future scope of python programming language can also be predicted by the way it has
helped big data technology to grow. Python has been successfully contributing in analyzing a
large number of data sets across computer clusters through its high-performance toolkits
and libraries.

Let’s have a look at the python libraries and toolkits used for Data analysis and handling
other big data issues.

3) Networking

Networking is another field in which python has a brighter scope in the future. Python
programming language is used to read, write and configure routers and switches and
perform other networking automation tasks in a cost-effective and secure manner.For these
purposes, there are many libraries and tools that are built on the top of the python
language. Here we have listed some of these python libraries and tools especially used by
network engineers for network automation.

1.2 Python - Modules

A module allows you to logically organize your Python code. Grouping related code into a
module makes the code easier to understand and use. A module is a Python object with
arbitrarily named attributes that you can bind and reference.Simply, a module is a file
consisting of Python code. A module can define functions, classes and variables. A module
can also include runnable code.

This project focuses on use of module such as Tkinter

What is Tkinter?

Tkinter in Python helps in creating GUI Applications with a minimum hassle. Among various
GUI Frameworks, Tkinter is the only framework that is built-in into Python's Standard
Library.

An important feature in favor of Tkinter is that it is cross-platform, so the same code can
easily work on Windows, macOS, and Linux.

Tkinter is a lightweight module. It is simple to use.

How To Install Tkinter

12
Chances are, that Tkinter may be already installed on your system along with Python. But it
is not true always. So let's first check if it is available.

If you do not have Python installed on your system - Install Python 3.8 first, and then check
for Tkinter.

You can determine whether Tkinter is available for your Python interpreter by attempting to
import the Tkinter module - If Tkinter is available, then there will be no errors, as:

Import tkinter

1.3 DATABASES

A database stores application data in an organized way. The application then issues queries
to retrieve specific portions as they are needed. The most commonly used databases for
web applications are those based on the relational model, also called SQL databases in
reference to the Structured Query Language they use. But in recent years document-
oriented and key-value databases, informally known together as NoSQL databases, have
become popular alternatives.

1.3.1 SQL Databases

Relational databases store data in tables, which model the different entities in the ap‐
plication’s domain. For example, a database for an order management application will likely
have customers, products, and orders tables. A table has a fixed number of columns and a
variable number of rows. The columns define the data attributes of the entity represented
by the table. For example, a customers table will have columns such as name, address,
phone, and so on. Each row in a table defines an actual data element that consists of values
for all the columns. Tables have a special column called the primary key, which holds a
unique identifier for each row stored in the table. Tables can also have columns called
foreign keys, which reference the primary key of another row from the same or another
table. These links between rows are called relationships and are the foundation of the
relational database model.

1.3.2 Python Database Frameworks

Python has packages for most database engines, both open source and commercial. Flask
puts no restrictions on what database packages can be used, so you can work with MySQL,

13
Postgres, SQLite, Redis, MongoDB, or CouchDB if any of these is your favorite. As if those
weren’t enough choices, there are also a number of database abstraction layer packages
such as SQLAlchemy or MongoEngine that allow you to work at a higher level with regular
Python objects instead of database entities such as tables, documents, or query languages.
There are a number of factors to evaluate when choosing a database framework: Ease of
use When comparing straight database engines versus database abstraction layers, the
second group clearly wins. Abstraction layers, also called object-relational mappers (ORMs)
or object-document mappers (ODMs), provide transparent conversion of high-level object-
oriented operations into low-level database instructions.It is simpl to use.

What is MySQL?

MySQL is a relational database management system (RDBMS) developed by Oracle that is


based on structured query language (SQL).

A database is a structured collection of data. It may be anything from a simple shopping list
to a picture gallery or a place to hold the vast amounts of information in a corporate
network. In particular, a relational database is a digital store collecting data and organizing it
according to the relational model. In this model, tables consist of rows and columns, and
relationships between data elements all follow a strict logical structure. An RDBMS is simply
the set of software tools used to actually implement, manage, and query such a database.

MySQL is integral to many of the most popular software stacks for building and maintaining
everything from customer-facing web applications to powerful, data-driven B2B services. Its
open-source nature, stability, and rich feature set, paired with ongoing development and
support from Oracle, have meant that internet-critical organizations such as Facebook,
Flickr, Twitter, Wikipedia, and YouTube all employ MySQL backends.

14
Future Scope

An inventory management project using Python with Tkinter and SQL can have a wide range
of potential applications in various industries, including retail, manufacturing, healthcare,
and more. Here are some potential future scope and enhancements to consider:

 Real-time inventory tracking: The project can be enhanced to track inventory in real-
time, and can be connected to a barcode or RFID scanner for automated tracking.
This can help businesses optimize their inventory levels and avoid stockouts.

 Advanced analytics and reporting: The project can be extended to include


advanced analytics and reporting features to help businesses understand trends,
forecast demand, and identify opportunities for improvement.

 Integration with other systems: The project can be integrated with other systems,
such as Point of Sale (POS) systems, accounting software, and customer relationship
management (CRM) systems to streamline operations and improve efficiency.

 Mobile app integration: A mobile app can be developed to allow employees to


access the inventory management system from their smartphones, making it easier to
update inventory levels on-the-go.

 Integration with AI and machine learning: AI and machine learning techniques can
be used to predict demand, optimize inventory levels, and detect anomalies in the
inventory data.

 Integration with blockchain technology: The project can be integrated with


blockchain technology to improve the traceability and transparency of the inventory
management system, ensuring that all transactions are secure and tamper-proof.

Overall, an inventory management project using Python with Tkinter and SQL has a lot of
potential for future enhancements and can be adapted to meet the specific needs of different
businesses and industries.

15
About Project : Inventory Management System

Overview
The ‘Inventory Managment System’ Services department strives to provide solutions to
develop and transfer easy and efficient way in the digital age and to help reduces the human
pressure and time. To help support shop collections, the digital initiatives, and external
partner institution digital projects, This software is easy to use for both beginners and
advanced users. It features a familiar and well thought- out, an attractive user interface,
combined with strong searching Insertion and reporting capabilities. The report generation
facility of shop system helps to get a good idea of which are the various items brought by the
members, makes users possible to get the product easily.

The ‘Inventory Managment System’ Services department strives to provide solutions to


develop and transfer easy and efficient way in the digital age and to help reduces the human
pressure and time. To help support shop collections, the digital initiatives, and external
partner institution digital projects, It provides services that include the digitization of analog
objects, metadata management, digital preservation, and discovery and access of digital
collections. “Shop Management System” is a web application written for all operating
systems, designed to help users maintain and organize shop virtually. This software is easy to
use for both beginners and advanced users. It features a familiar and well thought- out, an
attractive user interface, combined with strong searching Insertion and reporting capabilities.

Project Planning

Project planning is part of project management, which relates to the use of schedules such as
Gantt charts to plan and subsequently report progress within the project environment.
Initially, the project scope is defined and the appropriate methods for completing the project
are determined. Following this step, the durations for the various tasks necessary to complete
the work are listed and grouped into a work breakdown structure. The logical dependencies
between tasks are defined using an activity network diagram that enables identification of the

16
critical path. Float or slack time in the schedule can be calculated using project management
software. Then the necessary resources can be estimated and costs for each activity can be
allocated to each resource, giving the total project cost. At this stage, the project plan may be
optimized to achieve the appropriate balance between resource usage and project duration to
comply with the project objectives. Once established and agreed, the plan becomes what is
known as the baseline. Progress will be measured against the baseline throughout the life of
the project

WORK DONE TILL DATE :

DATABASE STRUCTURE

DATABASE: INVENTARY MANAGEMENT

Table List :- 1.Product Table 2. Category Table 3. Admin Table

1. Product Table

1.Product ID : Product Id must be unique

2.Product Name : It is the name of the

product

3.Product Description : It is the description of the product

2. Category Table

1.Category ID : It is the ID of the category ,is unique

2.Product ID : Product ID is ID of product which is unique

17
3.Category Name : Here is the name of the category

18
4. Price : It is the price of Category

5. Stock : It is the stock available for that Category

6.Description : It defines the description of

category

3. Admin Table

1.User ID : It is the ID of the User

2.Password : It is password which is secure

MySQL

Admin Table Structure

CREATE TABLE IF NOT EXISTS `admin` (

`UserId` varchar(50) NOT NULL,

`Password` varchar(10) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Product Table Structure

CREATE TABLE IF NOT EXISTS `product` (

`ProductID` int(20) NOT NULL,

`ProductName` varchar(30) NOT NULL,

`ProductDiscription` varchar(500) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

19
Category Table Strcuture

CREATE TABLE IF NOT EXISTS `category` (

`CategoryID` int(20) NOT NULL,

`ProductID` int(20) NOT NULL,

`CategoryName` varchar(30) NOT NULL,

`Price` int(11) DEFAULT NULL,

`Stock` int(11) DEFAULT NULL,

`Discription` varchar(500) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Admin Login

Username:admin

Password:admin

After Login

Product MenuAdd Product, Delete Product, Update Product, View Product)

Stock MenuAdd Category, Delete Gategory, Update Category, View Category)

Click on Add Product

Click on add button to add record

20
REFERENCES

Here are some sources that were helpful to make this Python project report on inventory
Management using tkinter and mysql:

 Official documentation of Python – This helps to understand the basics of Python


programming language and how to use it to build GUI applications using tkinter.

 MySQL documentation – This helps to understand how to use MySQL database


management System and how to interact with it using Python.

 Tkinter documentation – This is resourceful to learn more about the various


widgets available In tkinter and how to use them to build a user interface.

 GitHub – You can search for similar projects on GitHub to get an idea of how others
have Implemented inventory management systems using Python, tkinter, and
MySQL.

Others :

https://www.talend.com/resources/what-is-mysql/

https://docs.python.org/3/library/tkinter.html

https://towardsdatascience.com/inventory-management-using-python-
17cb7ddf9314

21

You might also like