MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
VIDYAVARDHINI’S BHAUSAHEB VARTAK
POLYTECHNIC, VASAI ROAD WEST
MICRO PROJECT
Academic year: 2023-2024
Title of Micro Project:
File sharing
Program/Code: Computer Engineering (CO) Semester: SIXTH
Course/Code : PWP(22616)
Name: Dhruv H. Bhanushali Roll No:1831
Enrolment No: 2100930135
Name of Faculty: Mr. Vaghela
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION
Certificate
This is to certify that Mr. Dhruv H. Bhanushali Roll No 1831 of SIXTH Semester of
Diploma in Computer Engineering in Institute B.V. POLYTECHNIC (Code: 0093) has
completed the Micro Project satisfactorily in Subject – PWP (22616) for the academic
year 2023-2024 as prescribed in the curriculum.
Place: Vasai Enrolment No: ……………………………………
Date: ……………………… Exam. Seat No: …………………………………….
Subject Teacher Head of the Department Principal
Annexure - I Part A: Micro Project Proposal
1.1 Aim/Benefits of the Micro-Project:
The aim is create File sharing using python
2.1 Course Outcomes integrated:
The theory, practical experiences and relevant soft skills associated with this course are to be
taught and implemented, so that the student demonstrates the following industry oriented
COs associated with the above mentioned competency:
Programming Proficiency: Students will demonstrate proficiency in Python programming language
by effectively utilizing its features, syntax, and libraries to develop a File sharing lication
Software Development Skills: Through the development of the File sharing , students will enhance
their software development skills, including requirements analysis, design, implementation,
testing, and debugging
Network Programming Competence: Students will acquire competence in network programming
concepts and techniques essential for building distributed systems. They will learn how to establish
network connections, implement client-server communication protocols, and handle data transfer
securely and efficiently over networks using Python's socket and networking libraries.
3.1 Proposed Methodology:
1. Literature survey.
2. Collect information through different sources
3. Analysis of data.
4. Compilation of collected data.
4.0 Action Plan
Sr. Planned Planned Name of
Details of the activity Members
No. Start date Finish date
1 Formation of Group & Topic Selection All members
2 Submission of Proposed Plan All members
3 Preparation of Report All members
4 Final valuation of a working Report All members
5 Presentation of Report All members
6 Submission of Final Report All members
5.0 Resource Required:
Sr.
No. Name of resources/Material Specifications Qty Remarks
Processor: i3
1. Computer 1
RAM : 4.00
GB
2. Microsoft Word Word -2016
3. Printer Hp Laser Jet 1
6.0 Name of Team Members with Roll No: 1831.
Roll No Individual
Sr. Process and Presentation Total
Name of Students Product
No. (04) (10)
assessment (06)
01 1831 Dhruv H. Bhanushali
Name & Signature of Faculty: Mr. Vaghela.
Final Micro Project Report
Title: File sharing using pyhton
Rationale : Developing a File sharing using Python offers a compelling rationale due to Python's
versatility, cross-platform compatibility, robust networking capabilities, and scalability. Python's
simplicity and extensive libraries streamline the development process, ensuring efficient creation
of secure and user-friendly file sharing solutions. Additionally, Python's ability to handle
networking tasks enables seamless communication between clients and servers, while its
scalability ensures the app can accommodate growing user demands and file sizes effectively..
2. 0 Course Outcomes Integrated:
The theory, practical experiences and relevant soft skills associated with this course are to be
taught and implemented, so that the student demonstrates the following industry oriented Cos
associated with the above mentioned competency.
Immersive Experiences: File sharing provides users with life like and immersive simulations.
Technological Advancements: leverages cutting-edge technologies such as head-mounted displays
and motion sensors.
Learning Enhancement: In education, offers interactive and dynamic learning experiences beyond
traditional methods.
3.0 Actual Procedure Followed.
1 Discussion about topic with guide and among group members
2 Literature survey
3 Information collection
4 Compilation of content
5 Editing and revising content
6 Report Preparation
4.0: Actual Resources Required:
Sr.
No. Name of resources/Material Specifications Qty Remarks
Processor: i3
1. Computer RAM : 4.00 GB 1
2. Microsoft Word Word -2016
3. Printer Hp Laser Jet 1
7.0 Skill Developed/Learning outcomes of this Micro-Project
The following skills were developed:
1. Teamwork: Learned to work in a team and boost individual confidence.
2. Problem-Solving: Developed good problem solving habits.
3. Technical Writing: Preparing the report of proposed plan and the final report.
Annexure – III Rubrics for Assessment of Micro-Project
Title: File sharing
Institute Code: 0093 Academic year: 2023-2024
Program: CO Course & Code: PWP(22616)
Name of Candidate: Roll No:
Semester: SIXTH Name of Faculty: Mr. Vaghela.
Sr.
Characteristic to be Assessed Poor Average Good Excellent
No. (Marks 1-3) (Marks 4-5) (Marks 6-8) (Marks 9-10)
1. Relevance to the Course
Literature Survey/Information
2. Collection
3. Project Proposal
ComplPWPon of the Target as
4.
per Project Proposal
5. Analysis of Data and Representation
6. Quality of Prototype/Model
7. Report Preparation
8. Presentation
9. Viva
Annexure IV Micro Project Evaluation Sheet
Title: File sharing .
Institute Code: 0093 Academic year: 2023-2024
Program: CO Course & Code: PWP(22616)
Name of Candidate: Roll No:
Semester: SIXTH Name of Faculty: Mr Vaghela.
Course Outcomes Achieved:
Immersive Learning: Achieved enhanced learning through immersive virtual experiences
Technical Proficiency: Gained proficiency in utilizing advanced technologies.
Cross-Domain Application: Applied concepts in diverse fields such as education, healthcare, and
gaming
Practical Skill Development: Acquired hands-on skills for real-world applications of File sharing .
Innovative Problem-Solving: Demonstrated innovative problem-solving in virtual environments.
Evaluation as per Suggested Rubric for Assessment of Micro Project:
Sr. Characteristic to be Poor Average Good Excellent Sub
No. assessed Mar Marks 4-5 Marks 6-8 Marks 9- Total
k 1-3 10
(A) Process and product assessment Out Of 6
1 Relevance to the course
2 Literature Survey .
Information Collection
3 ComplPWPon of the
Target as per project
proposal
4 Analysis of Data and
representation
5 Quality of
Prototype/Model/Conte
nt
6 Report Preparation
(B) Individual Presentation/Viva Out of 4
7 Presentation
8 Viva
Name and designation of the Faculty Member: Mr. Vaghela
Weekly Activity Sheet
Topic: File sharing .
Institute Code: 0093 Academic year: 2023-2024
Program: CO2 Course & Code: PWP(22616)
Name of Candidate: Roll No:
Semester: SIXTH Name of Faculty : Mr. Vaghela.
SR. NO WEEK ACTIVITY PERFORMED
1. 1st Week Discussion and Finalization of Topic
2. 2nd Week Literature Review
3. 3rd Week Submission of Proposed Plan
4 4th Week Information Collection
5. 5th Week Analysis of Data
6. 6th Week Compilation of content
7. 7th Week Editing and Revising the Content
8. 8th Week Report Preparation
9. 9th Week Report Preparation
10. 10th- 12th Week Presentation
Signature of Student Dated Signature of Faculty
File Sharing
Introduction:
In the realm of basic File sharing lications, leveraging Python's versatility becomes paramount for efficient
and straightforward solutions. The project at hand harnesses Python's robust capabilities, focusing on
essential functionalities through socket programming and PyQRCode integration. Python's simplicity and
extensive libraries make it an optimal choice for developing streamlined File sharing lications, catering to
users' fundamental needs in transferring files seamlessly. By utilizing socket programming, the application
facilitates direct communication between clients and servers, enabling swift and secure file transfers.
Additionally, integrating PyQRCode enhances user experience by providing a convenient method for
sharing files through QR codes, aligning with the project's emphasis on simplicity and accessibility. This
project underscores Python's effectiveness in developing basic File sharing lications that prioritize ease of
use and essential functionalities, offering users a straightforward yet effective tool for transferring files
securely.
Features of the Python file sharing:
1. Simple User Interface: The application boasts a minimalist user interface, focusing on ease of use and
intuitive navigation for seamless file sharing experience.
2. File Transfer: Users can effortlessly transfer files between devices by establishing a connection between
the client and server using socket programming. The application supports the transfer of various file
types, including documents, images, videos, and more.
3. Direct Communication: Utilizing socket programming enables direct communication between the client
and server, eliminating the need for intermediary servers or cloud storage services, thereby enhancing
privacy and security.
4. QR Code Integration: Integration of PyQRCode allows users to generate QR codes for sharing files
quickly and conveniently. Users can scan the generated QR code using their smartphones or other devices
to initiate file transfers instantly.
5. Cross-Platform Compatibility: The application is designed to be compatible with multiple operating
systems, ensuring that users can seamlessly share files across different devices and platforms, including
Windows, macOS, and Linux.
6. Security Measures: The project incorporates basic security measures to ensure the confidentiality and
integrity of transferred files. Although it may not include advanced encryption techniques, it prioritizes
secure communication channels to prevent unauthorized access to shared files.
7. Error Handling: The application includes robust error handling mechanisms to address potential issues
during file transfers, such as network disruptions or file corruption, ensuring a smooth and reliable user
experience.
8. Scalability: While designed as a basic File sharing lication, the project architecture is scalable, allowing
for future enhancements and additional features to be seamlessly integrated as needed, providing
flexibility for future development iterations.
Advantages:
1. Simplicity: The project offers a straightforward and user-friendly solution for file sharing, making it
accessible to users with varying levels of technical expertise.
2. Efficiency: By leveraging socket programming, the application facilitates direct communication between
devices, resulting in faster file transfers compared to traditional methods that rely on intermediary
servers.
3. Privacy: Direct communication between the client and server enhances privacy and security by
minimizing the exposure of shared files to third-party servers or cloud storage services.
4. Convenience: Integration of PyQRCode enables users to share files conveniently using QR codes,
eliminating the need for complex file transfer procedures or sharing links.
5. Cross-Platform Compatibility: The application is compatible with multiple operating systems, allowing
users to share files seamlessly across different devices and platforms without compatibility issues.
6. Customizability: The project can be easily customized and extended to meet specific requirements or
integrate additional functionalities based on user feedback or evolving needs.
7. Open Source: Being developed using Python, the project can benefit from the vast ecosystem of open-
source libraries and frameworks, enabling developers to leverage existing resources and community
support for further improvements and optimizations.
Libraries used:
1. http.server: This module provides classes for creating HTTP servers that serve files from the file system.
It is used to handle HTTP requests and responses in the script.
2. socket: The socket module provides access to the BSD socket interface. It is used for low-level
networking operations, such as creating sockets, sending and receiving data over networks, and handling
network connections.
3. socketserver: This module defines classes for creating network servers. It provides a framework for
implementing various network protocols, including TCP and UDP. In this script, it is likely used to create a
TCP server to handle incoming connections.
4. webbrowser: The webbrowser module allows Python scripts to control web browsers
programmatically. It provides a platform-independent interface for opening URLs in the default web
browser.
5. pyqrcode: PyQRCode is a Python library for generating QR codes. It allows users to create QR codes
from text or URLs programmatically.
6. os: The os module provides functions for interacting with the operating system. It is used to perform
various operating system-related tasks, such as file and directory manipulation, environment variables,
and process management.
Code
import http.server
import socket
import socketserver
import webbrowser
import pyqrcode
from pyqrcode import QRCode
import os
PORT = 8010
os.environ['USERPROFILE']
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']),'OneDrive')
os.chdir("C:\\Users\\KUNAL\\Desktop\\python qb")
Handler = http.server.SimpleHTTPRequestHandler
hostname = socket.gethostname()
print(hostname)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname())
IP = "http://" + s.getsockname()[0] + ":" + str(PORT)
link = IP
url = pyqrcode.create(link)
url.svg("myqr.svg", scale=8)
webbrowser.open('myqr.svg')
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("serving at port", PORT)
print("Type this in your Browser", IP)
print("or Use the QRCode")
httpd.serve_forever()
Screenshots