Skip to content
This repository was archived by the owner on Apr 22, 2024. It is now read-only.

This is a website functioning similar to google drive, where users can store files privately, as well as create 'collections' which are public. This can also display some types of files in-browser.

License

Notifications You must be signed in to change notification settings

YJDoc2/FileStore-Web-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileStore


FileStore is a cloud file storing and sharing platform. It uses Atlas MongoDB to store and Share Files.

This is a small scale project done using ExpressJs Backend, ReactJs frontend Mongoose ODM,Bootstrap Css

Files can be stored in two ways : in Personal Account, Which can be accessed only by the user uploading it, and in Collections, which can be Shared and viewed by others.
A single User can have 20MB of files in private , and any collection can have Maximum of 20MB of files in it.
There are still many bugs and feature updates possible. Few of them are :
  • The File upload does not clear itself after uploading files, even though there are no Files still assosiated with it .

  • The Collections are static, as in once created and uploaded, files cannot be added or removed from them.This was not done as the collection files are showed on same route for all viewers, logged in as well as not. The logic to check whether a collection belongs to current logged in user , so only creater can have update rights was becoming complecated.

  • The npm package 'react-file-viewer' used to display some file types does not scale the pages of pdf well, which is an internal issue of package.

  • The GridFS-Stream package used in the backend uses outdated drivers,and thus does not support some updated methods of mongoDB. A possible solution would be to change the package used or create a custom interface over MongoDB Grid interface.

  • The Backend cannot currently limit incoming files in uploading other than the size less than 20MB. Thus a user may extend the allowed space by using REST clients such as Postman to upload files. This may be stopped using cors. Currently the file size per user is checked and handled by frontend before upload.

Usage

Run npm run build to compile frontend, move those files to backend folder and then start the server.

About

This is a website functioning similar to google drive, where users can store files privately, as well as create 'collections' which are public. This can also display some types of files in-browser.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published