Simple temporary file upload and transfer web application coding with Go language.

Contributors Issues MIT License

Temp File Transfer Web Application


Simple temporary file upload and transfer web application coding with Go language.
Explore the Golang »

Live Demo

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. TODO
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgements

About The Project

This project aiming to create a simple temporary file trasnfer app for general purposes. With this app you could upload file to service then retrieve from unique key for specific (1 minute) time validity. Demo app is listening on (https://alya-temp-file.herokuapp.com) .

Built With

Getting Started

Prerequisites

  • Golang
    Install latest Golang  
    https://go.dev 
    
  • Docker
    Install docker on your OS  
    https://docs.docker.com/get-docker/  
  • Heroku
    Quick look website  
    https://www.heroku.com 
    

Installation

  1. Clone the repo:
    git clone https://github.com/AlperRehaYAZGAN/temp-file-transfer-app.git  
    cd temp-file-transfer-app
  2. Run app directly:
    go build -o ./bin/myexeapp
    ./bin/myexeapp
  3. Build docker image:
    docker build -t alperreha/alya-temp-file:1.0.0
  4. Run Docker container:
    docker run --name alya-temp-file -p 9090:9090 -d alperreha/alya-temp-file:1.0.0

Usage

This simple app has a two endpoint to handle whole process. If we assert server is listening on 9090 port, example requests are:

  • GET / : HTML form for upload file
  • GET /get/:file-id : Returns file by given file-id
  • POST /upload-one : Form Data myfile for uploading file and returns file key to access ,

Roadmap

See the open issues for a list of proposed features (and known issues).

TODO

  • JWT encode,decode and verify
  • [-] Custom TCP Transport for microservices
  • [-]

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Alper Reha YAZGAN - @alperreha - [email protected]

Project Link: https://github.com/AlperRehaYAZGAN/temp-file-transfer-app

Owner
Alper Reha
Yıldız Technical University / Computer Engineering (@http://www.yildiz.edu.tr/en) Kayseri Science Highschool
Alper Reha
Similar Resources

Transfer your local .ENV files for another developer

Zip/Unzip local .env file Transfer your local .ENV files for another developer. for Zip: run in root where .env files ./ziper_local_env created "resu

Oct 20, 2021

Personal tool used for transfer files between servers.

transfer Personal tool used for transfer files between servers. Usage: transfer [global options] verb [verb options] Global options: -h, --

Jan 5, 2022

Subspace - File sharing application for golang

subspace File sharing application. Supported Platforms OS 386 amd64 arm6 arm64 L

Jan 29, 2022

aqua is a simple file uploading and sharing server for personal use.

aqua is a simple file uploading and sharing server for personal use.

aqua is a simple file uploading and sharing server for personal use. It is built to be easy to set up and host on your own server, for example to use it in combination with uploading tools like ShareX.

Jul 7, 2022

JuiceFS is a distributed POSIX file system built on top of Redis and S3.

JuiceFS is a distributed POSIX file system built on top of Redis and S3.

JuiceFS is an open-source POSIX file system built on top of Redis and object storage

Jan 5, 2023

Easy and fast file sharing from the command-line.

Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance.

Jan 2, 2023

Wormhole-gui is a cross-platform application that lets you easily share files, folders and text between devices.

Wormhole-gui is a cross-platform application that lets you easily share files, folders and text between devices.

Cross-platform application for easy encrypted sharing of files, folders, and text between devices.

Dec 30, 2022

A(nother) Bittorrent client written in the go programming language

Taipei Torrent This is a simple command-line-interface BitTorrent client coded in the go programming language. Features: Supports multiple torrent fil

Dec 19, 2022

Syncthing is a continuous file synchronization program.

Syncthing is a continuous file synchronization program.

Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. We strive to fulfill the goals below. The goals are listed in order of importance, the most important one being the first.

Jan 9, 2023
Transfer - A simple go application for uploading, downloading and checksumming of files

Transfer This project holds a simple go application for uploading, downloading a

Aug 18, 2022
oDrop, a fast efficient cross-platform file transfer software for server and home environments

oDrop is a cross-platform LAN file transfer software to efficiently transfer files between computers, oDrop is useful in environments where GUI is not available.

Jun 4, 2022
transfer.sh - Easy and fast file sharing from the command-line.

Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance.

Jan 2, 2023
Yet another netcat for fast file transfer

nyan Yet another netcat for fast file transfer When I need to transfer a file in safe environment (e.g. LAN / VMs), I just want to use a simple comman

Apr 30, 2022
Built in user interface, LAN file transfer, such as mobile phone, computer, tablet, different operating system
Built in user interface, LAN file transfer, such as mobile phone, computer, tablet, different operating system

Modao Built in user interface, LAN file transfer, such as mobile phone, computer, tablet, different operating systems, etc., as well as text transfer

May 7, 2022
FileTransferGo - File Transfer With Golang

FileTransferGo Packages used ?? Go: Gin (http server) ?? Cobra (CLI command fram

Jun 24, 2022
mini file transfer tool, use it just curl o wget

miniTransfer mini file transfer tool, use it just curl o wget How to use upload file curl -T localFileName 127.0.0.1:1234 # default save as localFileN

Jan 12, 2022
Distributed File Store Application Consist of API Server to handle file operations and command line tool to do operations

Filestore Distributed File Store Application Consist of API Server to handle file operations and command line tool to do operations (store named binar

Nov 7, 2021
🖥 Securely transfer and send anything between computers with TUI.
🖥 Securely transfer and send anything between computers with TUI.

??️ Securely transfer and send anything between computers with TUI. Installation ways

Dec 21, 2022
pcp - 📦 Command line peer-to-peer data transfer tool based on libp2p.
pcp - 📦 Command line peer-to-peer data transfer tool based on libp2p.

pcp - Command line peer-to-peer data transfer tool based on libp2p.

Jan 5, 2023