- Notifications
You must be signed in to change notification settings - Fork6
Real-time file sharing system. Using NodeJS, ReactJS, SocketIO, MongoDB. Chai, WebdriverIO for testing.
License
auspham/FireShare
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A publish-subscribe real-tive file sharing system.
Live:https://auspham.dev/FireShare
- Backend:NodeJS,Express
- Database:MongoDB Atlas
- FrontEnd:ReactJS
- Pub-Sub:Socket.IO
- Testing:
- Backend:Mocha,Chai,
- Frontend:WebdriverIO
- Cloud Hosting:Heroku,Github Page.
- Login, Register, Authentication using JWT Token.
- Database.
- Upload/Share/Unshare/Edit/Remove/Download file with other people - with Authentication
- Pub-sub model on file with real time update.
- User can create an account/register an account. To register, the email must not be used by any other user.
- Owner can upload/share/delete his file with anyone who is in the system.
- If owner shared with someone, owner can remove his file from sharing with that person, or choose not to share with anyone.
- Owner can rename the file -by clicking at the name of the file.
- User can see which file is shared with him, he can choose to unshare it if he wants.
- User have real-time update on the file he subscribes (is shared/owned) to.
- User can download if the file is shared to him or is owned by him. - Only user who has these privilege can download the file
Go to backend, install and start the server
cd backend/npm install&& npm start
Server should be inlocalhost:5000
. Please reserve this port for the application, else you can modify it inConstants.js
,backend/test/basic.js
Go to frontend, install and start the server
cd frontend/npm install&& npm start
You can access the website inlocalhost:3000
by default
Please leave both front-back end application on.
Frontend
cd frontend/npm runtest
Your chrome browser’s version has to be 77 and above for the test to run.
Backend
cd backend/npm run test
That’s it. Now enjoy the application running.
About
Real-time file sharing system. Using NodeJS, ReactJS, SocketIO, MongoDB. Chai, WebdriverIO for testing.