For my computer network's course project,
I was the group leader and the project involved
implementing both an FTP client and server with GUI using
PyFTPlib,
PyQT
, and SQLite3.
Our goal was to create a user-friendly
and feature-rich FTP client and server that could be used by anyone,
from beginners to advanced users.
Project Details
Our team consisted of six members,
and each member was responsible for a different part of the project.
I was responsible for the overall project management,
including coordinating team meetings, dividing tasks,
and overseeing the project's progress.
I also participated in the implementation of the FTP client and server
and the design of the user interface.For the backend, we used PyFTPlib,
a Python library that provides a high-level FTP protocol implementation.
PyFTPlib allowed us to implement both the FTP client and server quickly and easily.
For the user interface, we used PyQT,
a Python binding for the popular Qt framework.
PyQT provided us with a wide range of tools and
widgets for building a modern and responsive UI.
We also used SQLite3,
a lightweight database system,
to store the FTP server's user account information.
This allowed us to implement user authentication and authorization quickly and easily.
Features
Our FTP client and server with GUI had a wide range of features, including:
User-friendly and responsive UI with modern design
Easy to use FTP client with drag and drop support
Multiple file transfer support
Concurrent FTP client and server operations
Ability to pause and resume file transfers
User authentication and authorization using SQLite3 database
Log file support for server operations
Conclusion
Overall, this project was a great learning experience for our team.
We were able to gain experience in Python programming, PyFTPlib, PyQT, and SQLite3.
The project also allowed us to improve our teamwork and project management skills.Our project is open source and available on GitHub,
which we hope will benefit the wider community.
We believe that our FTP client and server with GUI
is a valuable tool for anyone looking to transfer
files securely and efficiently.