FireShare
Real-time file sharing system. Using NodeJS, ReactJS, SocketIO, MongoDB. Chai, WebdriverIO for testing.
Install / Use
/learn @auspham/FireShareREADME
FireShare
A publish-subscribe real-tive file sharing system.
Live: https://auspham.dev/FireShare
Technology used
- Backend: NodeJS, Express
- Database: MongoDB Atlas
- FrontEnd: ReactJS
- Pub-Sub: Socket.IO
- Testing:
- Backend: Mocha, Chai,
- Frontend: WebdriverIO
- Cloud Hosting: Heroku, Github Page.
Demo




Features
- 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.
What can user do?
- 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
How to run
Go to backend, install and start the server
cd backend/
npm install && npm start
Server should be in localhost:5000. Please reserve this port for the application, else you can modify it in Constants.js, backend/test/basic.js
Go to frontend, install and start the server
cd frontend/
npm install && npm start
You can access the website in localhost:3000 by default
For testing:
Please leave both front-back end application on.
Frontend
cd frontend/
npm run test
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.
Related Skills
node-connect
347.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.6kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
