a basic file uploading website demonstration, built on top of laravel. requirements phase 1: - has a page that presents a UI to allow the user to select some files - there is a no-javascript version and a javascript version that uses chunking - user can upload multiple files or just one - after upload, a url to the file(s) is shown to the user, so that anyone can download - all of the uploaded files can be browsed - errors are reported appropriately, and adequate logging exists - file size limit is defined in the laravel config - file type restriction can be defined in laravel project config. - file names remain the same, unless would be overwrite a different file, in which case append epoch seconds. - file expiration configurable - rate limiting per ip address - all of the controller routes return either json or html, depending on the request parameter "response_type" ('h' or 'j') phase 1.5 - there is a gallery page view that presents images and videos in kind of a gallery layout, and a slideshow when user clicks one of them. - instead of downloading files right away, allow for the browser to render them if possible (like images, videos, pdfs) phase 2: - can bind to different address through command line or dotfile or env var - https using letsencrypt key defined at a path defined in config. - Database integration to e file metadata - File model and controller - IP address tracking and association with uploads - Page visit tracking by IP - Enhanced analytics and reporting- there is a database to store metadata of the files