floatingfile is a file sharing platform that marries the flexibility of file storage applications with the convenience of file transfer applications.
If you'd like to try out the latest features, try out beta.floatingfile.space. Spaces created using the beta application are compatible with the production application.
floatingfile was built to improve the process of moving files from university workstations to personal computers. A login-free and flexible solution was needed. For more info, see here.
This respository is a monorepo containing packages that are responsible for the web client application, server, and landing page.
Please note that the codebases for the iOS application and CLI are not included in this monorepo.
Application | Description | Technologies |
---|---|---|
client | Frontend for the floatingfile application. Boostrapped with Create React App. | react, chakra-ui |
landing | floatingfile marketing/landing site. | nextjs, react, chakra-ui |
server | Backend for the floatingfile application. | express, mongoose, aws-sdk |
cli | Command line interface. | TypeScript |
Package | Description | Technologies |
---|---|---|
types | Type defenitions. | |
ui | Shared UI components and themes. |
Prequisites:
- Yarn
- Docker
- Clone the repository
$ git clone https://github.com/garethlau/floatingfile.git
$ cd floatingfile
- Install dependencies
$ yarn install
- Create
/apps/server/.env
file
PORT=5000
NODE_ENV=development
USE_LOCAL_DB=Yes
USE_LOCAL_S3=Yes
S3_BUCKET_NAME=floatingfile-dev
See .env.example for more configuration values.
- Start the mongodb instance and the minio instance
$ yarn start:storage
- Start the application (in another terminal)
$ yarn dev
- Gareth Lau maintains floatingfile's servers, APIs, web applications, and CLI.
- Alan Yan maintains the floatingfile iOS application.