Professional Documents
Culture Documents
MUMBAI
A
Micro Project
On
“LIBRARY MANAGEMENT SYSTEM”
For the requirements of partial fulfillment curriculum of
DIPLOMA
In
COMPUTER ENGINEERING
Submitted by
ATHARV VIDYANAND SULTANPURE
MAAJ MUNWAR BHADGAONKAR
SAMI SHAKIR BHADGAONKAR
MALHAR SANJAY KULKARNI
SACHIN IRGONDA KALASAGONDA
PROF.G. K. BIRANGADDI
DEPARTMENT OF COMPUTER ENGINEERING
SANT GAJANAN MAHARAJ RURAL POLYTECHNIC, MAHAGAON
ACADEMIC YEAR 2022-2023
SANT GAJANAN MAHARAJ RURAL HOSPITAL &RESEARCH CENTER, MAHAGAON
Certificate
This is to that the following students of 6th Semester of Diploma in Computer Engineering of
Institute SANT GAJANAN MAHARAJ RURAL POLYTECHNIC, MAHAGAON-416502.
(CODE-0965) has completed Micro project on “LIBRARY MANAGMENT” satisfactory in
subject “PWP” subject code 22616 for academic year 2022 to 2023 as prescribed in the
curriculum.
1. Rationale-
A library management system is an essential tool for managing a library's resources, including
books, periodicals, and other media. The primary purpose of a library management system is to
provide librarians and other library staff with the tools they need to efficiently manage library
collections, track borrowing and lending, and ensure that library resources are properly
maintained and organized.
2. Course Outcomes
1. Analyze Principle of Library management system
2. Use library management system software effectively
3. Apply library ethics and intellectual freedom principle
4. Demonstrate effective communication skills
5. Understand trends and issue in library management
3. Literature Review
Python is one of the most popular high-level programming languages. Python offers huge
libraries for different fields like Artificial Intelligence (TensorFlow, PyTorch), Machine
Learning (Pandas, NumPy, Matplotlib), and Game Development (Pyglet, PyGame). We can
also consider Python as the next-generation programming language as it shows its presence
actively in every emerging field of Computer Science.
Library management systems, including their features, functionalities, and advantages. The
authors highlight the importance of library management systems in streamlining library
operations and improving patron services.
4. Proposed Methodology
In this micro-project, first of all we will focus on selection of appropriate topic for Micro project.
Select the topic “Library Management”
Then we will with our brief study on our topic.
Then we will gather all information based on the topic of micro-project.
We organized all information about our topic in proper manner.
We will check or view our micro-project
1|Page
5. Action Plan
Development of
5 /05/2023 /05/2023 Atharv Sultanpure
program
Atharv Sultanpure
Arranging Maaj Bhadgaonkar
6 project /05/2023 /05/2023 Sami Bhadgaonkar
sequentially Malhar Kulkarni
Sachin Kalasgonda
Atharv Sultanpure
Maaj Bhadgaonkar
Submission Sami Bhadgaonkar
7 /05/2023 /05/2023
Micro-Project Malhar Kulkarni
Sachin Kalasgonda
2|Page
6. Resources required (major resources like raw material, tools, software etc.)
Name of Resource/
Sr No. Specification Qty Remarks
Material
1 Desktop PC
Intel i5, 4GB RAM, 1 Used
128GB
3|Page
PART B – Micro–Project Report
1. Brief Description
Flappy Bird is an arcade-style game in which the player controls the bird Faby, which
moves persistently to the right. The player is tasked with navigating Faby through pairs of
pipes that have equally sized gaps placed at random heights. Faby automatically descends
and only ascends when the player taps the touchscreen. Each successful pass through a
pair of pipes awards the player one point. Colliding with a pipe or the ground ends the
gameplay. During the game over screen, the player is awarded a bronze medal if they
reached ten or more points, a silver medal from twenty points, a gold medal from thirty
points, and a platinum medal from forty points.
We will look deeper into the „Flappy Bird Game‟ based on its functioning types, brief
introduction, characteristics and also its advantages and disadvantages.
4|Page
5. Source Code
• Main.py
import pygame
import random
# Setup *******************************************
pygame.init()
SCREEN = WIDTH, HEIGHT = 288, 512
display_height = 0.80 * HEIGHT
info = pygame.display.Info()
width = info.current_w
height = info.current_h
# COLORS
RED = (255, 0, 0)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
# Backgrounds
bg1 = pygame.image.load('Assets/background-day.png')
bg2 = pygame.image.load('Assets/background-night.png')
bg = random.choice([bg1, bg2])
5|Page
gameover_img = pygame.image.load('Assets/gameover.png')
flappybird_img = pygame.image.load('Assets/flappybird.png')
flappybird_img = pygame.transform.scale(flappybird_img, (200,80))
# Sounds & fx
die_fx = pygame.mixer.Sound('Sounds/die.wav')
hit_fx = pygame.mixer.Sound('Sounds/hit.wav')
point_fx = pygame.mixer.Sound('Sounds/point.wav')
swoosh_fx = pygame.mixer.Sound('Sounds/swoosh.wav')
wing_fx = pygame.mixer.Sound('Sounds/wing.wav')
# Objects
pipe_group = pygame.sprite.Group()
base = Base(win)
score_img = Score(WIDTH // 2, 50, win)
grumpy = Grumpy(win)
# Variables
running = True
while running:
win.blit(bg, (0,0))
if start_screen:
speed = 0
grumpy.draw_flap()
base.update(speed)
6|Page
next_pipe = pygame.time.get_ticks()
if next_pipe - last_pipe >= pipe_frequency:
y = display_height // 2
pipe_pos = random.choice(range(-100,100,4))
height = y + pipe_pos
pipe_group.update(speed)
base.update(speed)
grumpy.update()
score_img.update(score)
if len(pipe_group) > 0:
p = pipe_group.sprites()[0]
if grumpy.rect.left > p.rect.left and grumpy.rect.right < p.rect.right and not pipe_pass and
grumpy.alive:
pipe_pass = True
if pipe_pass:
if grumpy.rect.left > p.rect.right:
pipe_pass = False
score += 1
point_fx.play()
if not grumpy.alive:
win.blit(gameover_img, (50,200))
7|Page
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE or \
event.key == pygame.K_q:
running = False
if event.type == pygame.MOUSEBUTTONDOWN:
if start_screen:
game_started = True
speed = 2
start_screen = False
game_over = False
# grumpy.reset()
last_pipe = pygame.time.get_ticks() - pipe_frequency
next_pipe = 0
pipe_group.empty()
speed = 2
score = 0
import pygame
import random
# Setup *******************************************
pygame.init()
SCREEN = WIDTH, HEIGHT = 288, 512
display_height = 0.80 * HEIGHT
info = pygame.display.Info()
width = info.current_w
height = info.current_h
8|Page
# win = pygame.display.set_mode(SCREEN, pygame.SCALED | pygame.FULLSCREEN)
clock = pygame.time.Clock()
FPS = 60
# COLORS
RED = (255, 0, 0)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
# Backgrounds
bg1 = pygame.image.load('Assets/background-day.png')
bg2 = pygame.image.load('Assets/background-night.png')
bg = random.choice([bg1, bg2])
gameover_img = pygame.image.load('Assets/gameover.png')
flappybird_img = pygame.image.load('Assets/flappybird.png')
flappybird_img = pygame.transform.scale(flappybird_img, (200,80))
# Sounds & fx
die_fx = pygame.mixer.Sound('Sounds/die.wav')
hit_fx = pygame.mixer.Sound('Sounds/hit.wav')
point_fx = pygame.mixer.Sound('Sounds/point.wav')
swoosh_fx = pygame.mixer.Sound('Sounds/swoosh.wav')
wing_fx = pygame.mixer.Sound('Sounds/wing.wav')
# Objects
pipe_group = pygame.sprite.Group()
base = Base(win)
score_img = Score(WIDTH // 2, 50, win)
grumpy = Grumpy(win)
# Variables
9|Page
game_over = False
restart = False
score = 0
start_screen = True
pipe_pass = False
pipe_frequency = 1600
running = True
while running:
win.blit(bg, (0,0))
if start_screen:
speed = 0
grumpy.draw_flap()
base.update(speed)
next_pipe = pygame.time.get_ticks()
if next_pipe - last_pipe >= pipe_frequency:
y = display_height // 2
pipe_pos = random.choice(range(-100,100,4))
height = y + pipe_pos
pipe_group.update(speed)
base.update(speed)
grumpy.update()
score_img.update(score)
10 | P a g e
if grumpy.rect.bottom >= display_height:
speed = 0
game_over = True
if len(pipe_group) > 0:
p = pipe_group.sprites()[0]
if grumpy.rect.left > p.rect.left and grumpy.rect.right < p.rect.right and not
pipe_pass and grumpy.alive:
pipe_pass = True
if pipe_pass:
if grumpy.rect.left >
p.rect.right: pipe_pass =
False
score += 1
point_fx.play()
if not grumpy.alive:
win.blit(gameover_img, (50,200))
game_over = False
# grumpy.reset()
last_pipe = pygame.time.get_ticks() - pipe_frequency
next_pipe = 0
pipe_group.empty()
speed = 2
score = 0
if game_over:
start_screen = True
grumpy = Grumpy(win)
pipe_img = random.choice(im_list)
11 | P a g e
bg = random.choice([bg1, bg2])
clock.tick(FPS)
pygame.display.update()
pygame.quit()
if game_over:
start_screen = True
grumpy = Grumpy(win)
pipe_img = random.choice(im_list)
bg = random.choice([bg1, bg2])
clock.tick(FPS)
pygame.display.update()
pygame.quit()
12 | P a g e
6. Snaps of Output
13 | P a g e
7. Characteristics of Flappy Bird Game
1. Easy to understand
3. Free of cost
7. Arcades-style game
2. Very simple
3. Very addictive
4. Nostalgic Graphics
1. Breathtaking Difficulty
2. Shallow
3. Fluctuations when the score reaches high
14 | P a g e
10. Actual Resources Used
Name of Resource/
Sr. No. Specification Qty Remarks
Material
Intel i3, 4GB RAM, 128GB SSD
1 Desktop PC Used
1
12. References-
https://www.javatpoint.com/flappybird
https://en.wikipedia.org/wiki/Flappy_Bird
https://github.com/topics/flappy-bird-game?l=python
15 | P a g e