Room-Based File Sharing Service (CalHacks 2017 Project)
Try the Demo See it on Github

FilePost is a file sharing service built to be quick and personal. Rather than taking the traditional direct link approach to file sharing, it uses rooms to group users together and allows them to directly send files to anyone or everyone in the group. Room codes are selected from a choice of English words, since it's easier to tell your friend to join with room code "coffee" than it is with room code "MXBA", for instance. From there, you can upload files and select friends to send them to - all files are encrypted before being stored on our server, and transfers happening on the same network will share files through peer-to-peer networking. All of this is wrapped in an uncluttered user interface that makes sending and receiving files a breeze.

It uses Python and Flask as our backend, with JQuery and Node.JS serving as our link between backend and frontend. This project incorperates a lot of libraries too - most notably Socket.IO for managing client connections, FTPlib for direct peer-to-peer transfers, and PyCrypto for securely encrypting and decrypting files. 

Check out our CalHacks presentation slides below, or try it yourself!

© Wei Xiong, 2017