The race to zero is the dominating trend in file hosting services nowadays -- the trend to give more storage for free. As developers and people who want personal web sites, we thought about how application and website hosting could also have a similar race to zero. Imagine no more annoying payments, however small they might be, just to host a small site.
So we thought of crowdServer, a peer-to-peer network for app hosting. Though it is limited to Node.js applications right now, we hope to expand its capabilities into the future.
Technical-ert Details Below
The portion that runs on your computer (the peer) is clientApp/server.js. This houses an upload form in which a developer may upload his Node.js application in tarball form (.tar.gz). The file is uploaded to centralServer/server.js, which functions like the central control unit of the network of peers.
Once uploaded, the server notes the application's identifying features into its MongoDB database, and searches for suitable peers to delegate the application to.
These peers should already have connected to the server, estabilishing a connection via socket.io. The server keeps track of the status of all peers.
Once a peer is found to be deployed to, the server sends it a command including the app name and index file of the app to deploy. The peer responds with a GET request, authenticating via app name and its unique socket id. The bundled app is sent over via a file stream, and upon completion is extracted and deployed on a child process.
Log in or sign up for Devpost to join the conversation.