0% found this document useful (0 votes)
67 views

CS Project - Model Format

This document is a computer project report submitted by Lourthu Mary Renigale.R and Nachiya.S for their Senior Secondary (CBSE) program. It describes a Medicine Stock Checking System created using Python. The backend uses MySQL to store medicine data in tables like STOCK and DISPOSE. The frontend program code written in Python allows users to store new medicine records, search by name or manufacturer, update stock after sales, and dispose of expired medicines. The project aims to help medicine shops manage their inventory and check stock levels.

Uploaded by

Vino Aldrin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views

CS Project - Model Format

This document is a computer project report submitted by Lourthu Mary Renigale.R and Nachiya.S for their Senior Secondary (CBSE) program. It describes a Medicine Stock Checking System created using Python. The backend uses MySQL to store medicine data in tables like STOCK and DISPOSE. The frontend program code written in Python allows users to store new medicine records, search by name or manufacturer, update stock after sales, and dispose of expired medicines. The project aims to help medicine shops manage their inventory and check stock levels.

Uploaded by

Vino Aldrin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

SCHOOL COPY

VEDIC VIDYASHRAM SENIOR SECONDARY SCHOOL

Madurai Road, Thachanallur, Tirunelveli - 627 358

COMPUTER PROJECT REPORT

ON

MEDICINE STOCK CHECKING SYSTEM

Submitted in partial fulfillment of the requirement

for the award of Senior Secondary (CBSE)

(2020 - 2021)

Submitted By : 1. LOURTHU MARY RENIGALE.R


2. NACHIAR.S

Grade : XII

February 2021
1
SCHOOL COPY

VEDIC VIDYASHRAM SENIOR SECONDARY SCHOOL

Madurai Road, Thachanallur, Tirunelveli - 627 358

CERTIFICATE

This is to certify that the Project Work entitled “MEDICINE STOCK


CHECKING SYSTEM” is the bonafide record of work done by LOURTHU
MARY RENIGALE .R of Grade: XII Exam No: ____________ in partial
fulfilment of the award of 12th Standard during the Academic Year 2020-
21.

She has taken proper care and shown utmost sincerity in


completion of this project as per the guidelines issued by CBSE.

DATE : PRINCIPAL

INTERNAL EXAMINER EXTERNAL EXAMINER

2
SCHOOL COPY
ACKNOWLEDGEMENT

• It is with a sense of gratitude, I acknowledge the efforts of entire hosts of well-wishers


who have contributed in their own special ways to the success and execution of this
project.
• First of all, I express my sage sense of gratitude and indebtedness to my school
CORRESPONDENT, MR.T. DURAISAMY, MCA, from the bottom of my heart,
for his expertise support, motivation and materialistic aids rendered to me at all times.
• I would like to express my sincere thankfulness to my PRINCIPAL,MRS.M.
SOMASUNDARI, M.A, M.PHIL, B.ED, for her substantial contribution of valuable
guidance and moral support has helped me to patch this project with full of success.
• I had been immeasurably enriched by working under the supervision of my subject
teacher, MR.S. SHUNMUGA SUNDARAM, M.E/CSE who has an art of correcting
and directing me in every situation possible. I convey my special thanks to him.
• At last, I extend my heartiest thanks to teaching and Non teaching staff who assist
constructively in my work .

3
SCHOOL COPY
DECLARATION

We hereby declare that the project work entitled MEDICINE CHECKING

submitted to DEPARTMENT OF COMPUTER SCIENCE, VEDIC

VIDYASHRAM SENIOR SECONDARY SCHOOL is a result of my own work

and my indebtedness to other work publications, references, if any, have been duly

acknowledged.

Date : LOURTHU MARY RENIGALE .R

4
SCHOOL COPY
CONTENTS

PAGE
S.NO TITLE
NO.

01. INTRODUCTION TO PYTHON

02. INTRODUCTION TO THE PROJECT

03. SYSTEM REQUIREMENTS

04. BACKEND DETAILS

05. FRONTEND DETAILS

06. MOTIVE

07. SCREEN SHOTS OF EXECUTION

08. BIBLIOGRAPHY

09. LIMITATIONS

5
SCHOOL COPY
INTRODUCTION TO PYTHON

Python is an interpreted, object-oriented, high-level programming language with


dynamic semantics. Its high-level built in data structures, combined with dynamic typing
and dynamic binding, make it very attractive for Rapid Application Development, as
well as for use as a scripting or glue language to connect existing components together.
Python's simple, easy to learn syntax emphasizes readability and therefore reduces the
cost of program maintenance.

Python supports modules and packages, which encourages program modularity and
code reuse. The Python interpreter and the extensive standard library are available in
source or binary form without charge for all major platforms, and can be freely
distributed.

History of Python:

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.

6
SCHOOL COPY
INTRODUCTION TO THE PROJECT

The Medicine Stock Checking System software is an ERP software used by medicine
shops or medicine dealers for wholesale/retail business. This software stores details of
medicines and helps us to search medicines by their name and manufacturer. It is
possible to edit medicine cost and sell the medicine. The balance i.e. due amount of
the stock can also be checked. If the medicine is expired ,the system has the provision
to dispose it to the system specified warehouse. The program is also useful to check
the details of the expired medicines.

7
SCHOOL COPY
SYSTEM REQUIREMENTS

HARDWARE REQUIREMENT:

➢ Printer- to print the required documents of the project.


➢ Compact Drive
➢ Processor: Pentium III and above
➢ RAM: 256 MB(minimum)
➢ Hard-Disk : 20 GB(minimum)

SOFTWARE REQUIREMENT:

➢ Windows 7 or higher
➢ My-SQL server 5.5 or higher(as backend)
➢ Python idle 3.6 or higher or spyder ( as frontend )
➢ Microsoft Word 2010 or higher for documentation.

8
SCHOOL COPY
BACKEND DETAILS

Database Name: MEDICINE

Code:

Create Database Medicine;

Use Medicine;

Table Name: STOCK

Attributes:

Batch_no int(11) Primary Key

name varchar(50)

manuf varchar(50)

date_man date

date_exp date

quantity int

sell int

balance int

cost_unit int

Code:

CREATE TABLE STOCK(Batch_no int(11) Primary Key,name varchar(50),manuf


varchar(50) , date_man date, date_exp date, quantity int, sell int, balance int,
cost_unit int );

9
SCHOOL COPY
Table Name: DISPOSE

Attributes:

Batch_no int(11)

Name varchar(50)

date_exp date

amount int

Code:

CREATE TABLE DISPOSE(Batch_no int(11),Name varchar(50),date_exp date,


amount int );

10
SCHOOL COPY
FRONT-END DETAILS
PROGRAM CODE

import sys

import random

import datetime

import mysql.connector

import matplotlib.pyplot as plt

mycon=mysql.connector.connect(host='localhost',user='root',password='abhisek',database
='medicine')

mycur=mycon.cursor()

def Store():

sql="Insert into
stock(batch_no,name,manuf,date_man,date_exp,quantity,sell,balance,cost_unit)value
s(%s,%s,%s,%s,%s,%s,%s,%s,%s)"

print('\nPLEASE PROVIDE THE REQUIRED INFORMATION\n')

acc=int(input('\nENTER THE BATCH NUMBER:'))

nm=input('\nENTER THE NAME OF THE MEDICINE WITH POWER:')

addr=input('\nENTER THE NAME OF THE MANUFACTURER:')

dbs=input('\nENTER THE DATE OF MANUFACTURE(YYYY-MM-DD):')

dacc=input('\nENTER THE DATE OF EXPIRY(YYYY-MM-DD):')

quan=int(input('\nENTER THE QUANTITY OF THE IMPORTED MEDICINE:'))

sell=0

balance=quan

cost=int(input('\nENTER THE COST OF THE IMPORTED MEDICINE PER


UNIT:'))

value=(acc,nm,addr,dbs,dacc,quan,sell,balance,cost)

try:

mycur.execute(sql,value)

11
SCHOOL COPY
print(nm,'ADDED TO THE STOCK')

mycon.commit()

except:

print('UNABLE TO ADD MEDICINE!!!!!')

def Search_by_Name():

ph=input('\nENTER THE MEDICINE NAME TO SEARCH:')

sql="Select * from Stock where name=%s"

value=(ph,)

mycur.execute(sql,value)

rec=mycur.fetchone()

if(rec==None):

print(ph,'IS NOT AVAILABLE')

else:

print('BATCH NUMBER:\t',rec[0])

print('MEDICINE NAME:\t',rec[1])

print('MANUFACTURER:\t',rec[2])

print('DATE OF MANUFACTURE:\t',rec[3])

print('DATE OF EXPIRY:\t',rec[4])

print('QUANITTY STORED:\t',rec[5])

print('INITIAL COST:\t',rec[8])

def Search_by_Manu():

ph=input('\nENTER THE MANUFACTURER NAME TO SEARCH:')

sql="Select name from Stock where manuf=%s"

value=(ph,)

mycur.execute(sql,value)

12
SCHOOL COPY
rec=mycur.fetchall()

if(rec==None):

print(ph,'IS A WRONG MANUFACTURER')

else:

print('----------MEDICINES MANUFACTURED BY',ph,'--------------------')

for nm in rec:

print(nm[0])

def Cost_Update():

sql="Update stock set cost_unit=%s where name=%s";

ph=input('\nENTER THE MEDICINE NAME TO CHANGE COST:')

addr=int(input('\nENTER THE NEW COST PER UNIT:'))

value=(addr,ph)

try:

mycur.execute(sql,value)

mycon.commit()

print('NEW COST OF',ph,'IS=RS',addr)

except:

print('UNABLE TO CHANGE COST!!!!')

def Sell():

sql="Update stock set sell=%s,balance=%s where name=%s";

ph=input('\nENTER THE MEDICINE NAME TO SELL:')

addr=int(input('\nENTER THE QUANTITY TO SELL:'))

sql2='select quantity from stock where name=%s'

value2=(ph,)

13
SCHOOL COPY
mycur.execute(sql2,value2)

rec=mycur.fetchone()

if(addr>rec[0]):

print('INSUFFICIENT STOCK IN HAND!!!!!!')

return

else:

balance=rec[0]-addr

value=(addr,balance,ph)

try:

mycur.execute(sql,value)

mycon.commit()

print(addr,'UNITS OF',ph,'SOLD')

print(balance,'UNITS LEFT')

except:

print('UNABLE TO SELL MEDICINE!!!!')

def Available():

ph=input('\nENTER THE MEDICINE NAME TO SEARCH:')

sql="Select balance from Stock where name=%s"

value=(ph,)

mycur.execute(sql,value)

rec=mycur.fetchone()

if(rec==None):

print(ph,'IS NOT AVAILABLE')

else:

print(rec[0],'UNITS OF',ph,'IS AVAILABLE')

14
SCHOOL COPY

def Dispose():

sql="Insert into dispose(batch_no,name,date_exp,amount)values(%s,%s,%s,%s)"

nm=input('\nENTER THE MEDICINE NAME TO DISPOSE:')

sql2="Select batch_no,name,date_exp,balance from stock where name=%s and


date_exp<=%s"

t_date=datetime.date.today()

value2=(nm,t_date)

mycur.execute(sql2,value2)

rec=mycur.fetchone()

if(rec==None):

print(nm,'IS NOT EXPIRED YET')

else:

print(nm,'IS EXPIRED')

c=int(input('\nPRESS 1 TO DISPOSE IT:'))

if(c==1):

b=rec[0]

n=rec[1]

d=rec[2]

am=rec[3]

value=(b,n,d,am)

sql3='Delete from stock where name=%s'

value3=(n,)

15
SCHOOL COPY
try:

mycur.execute(sql,value)

mycon.commit()

print(n,'SUCCESSFULLY DISPOSED')

mycur.execute(sql3,value3)

mycon.commit()

except:

print('UNABLE TO DISPOSE MEDICINE')

else:

print('WARNING!!!!!',nm,'MUST BE DISPOSED LATER')

return

def Search_Dispose():

ph=input('\nENTER THE DISPOSED MEDICINE NAME TO SEARCH:')

sql="Select * from Dispose where name=%s"

value=(ph,)

mycur.execute(sql,value)

rec=mycur.fetchone()

if(rec==None):

print(ph,'IS NOT AVAILABLE')

else:

print('BATCH NUMBER:\t',rec[0])

print('MEDICINE NAME:\t',rec[1])

print('DATE OF EXPIRY:\t',rec[2])

print('BALANCE AMOUNT:\t',rec[3])

16
SCHOOL COPY
def Graph():

ad=input('ENTER MEDICINE NAME:')

sql='Select * from stock where name=%s'

value=(ad,)

mycur.execute(sql,value)

T=mycur.fetchone()

N=[T[5],T[6],T[7]]

L=['QUANTITY','SELL','BALANCE']

clr=('red','blue','green')

plt.bar(L,N,color=clr)

plt.xlabel('MEDICINE STATUS')

plt.ylabel('VALUES')

plt.title('MEDICINE QUANITTY-SELL-BALANCE')

plt.show()

def Close():

print('\nTHANK YOU FOR USING THE APPLICATION')

sys.quit()

print('------------WELCOME TO MEDICINE STOCK CHECKING SYSTEM----------


---\n\n')

while(True):

print('\n\nPRESS 1 TO ADD A NEW MEDICINE')

print('PRESS 2 TO SEARCH A MEDICINE BY NAME')

print('PRESS 3 TO SEARCH A MEDICINE BY MANUFACTURER')

print('PRESS 4 TO UPDATE MEDICINE COST')

print('PRESS 5 TO SELL MEDICINE')

17
SCHOOL COPY
print('PRESS 6 TO CHECK AVAILABILITY')

print('PRESS 7 TO DISPOSE EXPIRED MEDICINE')

print('PRESS 8 TO SEARCH EXPIRED MEDICINE BY NAME')

print('PRESS 9 TO VIEW QUANTITY,SELL,BALANCE GRAPHICALLY')

print('PRESS 10 TO CLOSE THE APPLICATION')

choice=int(input('ENTER YOUR CHOICE : '))

if(choice==1):

Store()

elif(choice==2):

Search_by_Name()

elif(choice==3):

Search_by_Manu()

elif(choice==4):

Cost_Update()

elif(choice==5):

Sell()

elif(choice==6):

Available()

elif(choice==7):

Dispose()

elif(choice==8):

Search_Dispose()

elif(choice==9):

Graph()

else:

Close()

18
SCHOOL COPY

19
SCHOOL COPY
MOTIVE

❖ To maintain the medicine stock details, sell medicine, update stock details,
providing medicine amount enquiry by simple search technique.

❖ To dispose medicines which are expired and provide the facility to search the
disposed medicines.

❖ To display the amount, soldamount, balance amount of a particular medicine by


graphical analysis technique.

❖ Globalized usage.

20
SCHOOL COPY
SCREEN SHOTS OF EXECUTION

MAIN MENU

ADDING A NEW MEDICINE

21
SCHOOL COPY

SEARCHING MEDICINE BY NAME

SEARCHING MEDICINE BY MANUFACTURER

UPDATING MEDICINE COST

22
SCHOOL COPY

SELLING MEDICINE

CHECKING AVAILABILITY

DISPOSING MEDICINES

23
SCHOOL COPY

24
SCHOOL COPY
SEARCHING EXPIRED MEDICINE BY NAME

VIEW QUANTITY, SELL, BALANCE GRAPHICALLY

25
SCHOOL COPY

LIMITATIONS

❖ The project has no provision to calculate annual turnover of the


medicine unit.

❖ The project does not incorporate the provision of GST Calculation.

❖ The project does not have the facility to take care of the medicines
which are to be refunded i.e. there is no mechanism to keep the
account of the refunded medicines.

26
SCHOOL COPY
BIBLIOGRAPHY

BOOKS:

✓ COMPUTER SCIENCE WITH PYTHON-BY SUMITA ARORA


✓ COMPUTER SCIENCE WITH PYTHON-BY PREETI ARORA
✓ PYTHON COOKBOOK

WEBSITES:

✓ www.geeksforgeeks.org
✓ https://docs.python.org/3/
✓ https://www.w3schools.com/python/

*********

27

You might also like