Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thenewtoncode/imagination_image_transfer_application
‘ImagiNation’ is an app created for transferring images btw two PCs on a local network. The objective is to produce a simple, secure, and user-friendly means for users to transmit and receive images to and from their PCs at very high speeds. The app’s GUI is constructed using Tkinter, and functionality is made using other powerful libraries.
https://github.com/thenewtoncode/imagination_image_transfer_application
Last synced: 2 days ago
JSON representation
‘ImagiNation’ is an app created for transferring images btw two PCs on a local network. The objective is to produce a simple, secure, and user-friendly means for users to transmit and receive images to and from their PCs at very high speeds. The app’s GUI is constructed using Tkinter, and functionality is made using other powerful libraries.
- Host: GitHub
- URL: https://github.com/thenewtoncode/imagination_image_transfer_application
- Owner: theNewtonCode
- Created: 2023-04-23T16:50:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-14T15:35:17.000Z (12 months ago)
- Last Synced: 2024-11-11T07:40:49.220Z (2 months ago)
- Language: Python
- Size: 18.6 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
# ImagiNation Image Transfer Application
## Overview
'ImagiNation' is an application designed for transferring images between two PCs on a local network. The primary goal is to provide users with a simple, secure, and user-friendly method for transmitting and receiving images at high speeds. The application's graphical user interface (GUI) is built using Tkinter, accompanied by powerful libraries to enhance functionality.
## GUI Explanation
The GUI of the application is crafted using Tkinter, a standard Python interface to the Tk GUI library. It comprises three main windows:
1. **Home Window:** The initial window leading to the sending and receiving functionalities.
2. **Sending Window:** Users can explore their files, select one or more images for transmission, view their computer's IP address, and monitor the progress of the image transfer through a progress bar.
3. **Receiving Window:** Users can input the IMN key generated by the sending computer, choose a folder to save received images, view a list of available images on the sender's computer, and monitor the progress of the image transfer through a progress bar.
## Image Transfer Process
The image transfer process operates as follows:
1. The sender creates a TCP server socket and binds it to a port number.
2. The sender listens for incoming connections from receivers.
3. The receiver creates a TCP client socket and connects it to the sender's IP address and port number using the secret IMN key.
4. The sender accepts the connection from the receiver.
5. The sender sends the names and sizes of all available images to the receiver.
6. The receiver displays the list of available images on the GUI.
7. The receiver selects one or more images to receive and sends their names to the sender.
8. The sender sends each image in chunks of bytes to the receiver.
9. The receiver receives each image in chunks of bytes and saves it in the chosen folder.
10. The sender and receiver close their sockets after all images are transferred.## Getting Started
To use ImagiNation Image Transfer Application, follow these steps:
1. Clone the repository:
```bash
git clone https://github.com/theNewtonCode/ImagiNation_Image_Transfer_Application.git
cd ImagiNation_Image_Transfer_Application
```2. Run the application:
```bash
python imagination_app.py
```3. Follow the on-screen instructions to send or receive images.
## Contribution
Contributions to enhance the functionality or address issues are welcome. Feel free to fork the repository, create a new branch, and submit pull requests.
## License
ImagiNation Image Transfer Application is licensed under the MIT License. Feel free to use, modify, and share this application.
---