Media Upload
This is a media uploader where users can upload images and videos to an S3 bucket on AWS for a public event. I have it hosted on a VPS on Hetzner Cloud with an Nginx web server acting as a load balancer to 3 Docker containers with a Node.js app that uploads the media to the S3 bucket. I wanted to make sure it has a user-friendly approach as people attending might not be too tech savvy, so I made the uploading process clear and user-friendly. With a visual list of files to be uploaded, where users can pick and choose which to keep and which to discard, as they upload they get a visual feedback of the uploading.
- Docker
- Docker-Compose
- Nginx
- AWS
- SQL
- VPS
- Node JS
- Javascript
Features
Users can upload images and video up to 2GB.
users can upload up to 20 media files with a limit of 5GB.
Large media files are chunked and send up chunk by chunk.
Users can will get a list of file being uploaded with files names and file information.
Files can be removed from list before upload.
When uploading a UI will show your progression of the files being uploaded.
information and Error pop up explaining if upload completed or a file failed to upload.
Lessons Learned
Learned about how to make websites more user friendly and to keep the users more informed on whats happening with uploads.
Understanding how to set up a VPS to be secure and to use linux command line a lot more comfortable.
Working with docker and docker compose on how to deploy multiply containers that can communicate to a database.
Learning about buffering and a bit more of streaming files in node.
Understanding how Nginx works and how to load balance incoming requests.
Future features
Improve UI and user experience
Improved error handling methods
Working On / Research
Cleaning up error handling
improving docker usage
Deployment
VPS on Hetzner