Pet-project. Cloud store for sharing files with friends. Default: 100MB per user.
- React
- Redux
- Lazy load
- Node.js
- Express.js
- MongoDB Atlas
- Breadcrumbs
# Start client
$ cd ./client
$ npm install
$ npm start
# Start server
$ cd ./server
$ npm install
$ npm run dev
- login: {type: String, required: true, unique: true},
- password: {type: String, required: true},
- freeSpace: {type: Number, default: 1024**2*100},
- usedSpace: {type: Number, default: 0},
- files: [{type: ObjectId, ref:'File'}]
- name: { type: String, required: true },
- type: { type: String, required: true },
- extension: { type: String, default: "" },
- date: { type: Date, default: Date.now() },
- size: { type: Number, default: 0 },
- path: { type: String, default: "" },
- access_link: { type: String },
- user: { type: ObjectId, ref: "User" },
- parent: { type: ObjectId, ref: "File" },
- child: [{ type: ObjectId, ref: "File" }],
- Close filter and search on click outside
- Search input "Enter" handler
- Fixed navbar "disk buttons" display (to avoid shaking)
- Add preview for files
- Move size human view calculation function to _helpers
- Fix uploader (count from 1)
- Fix free space percentage