Code Monkey home page Code Monkey logo

fireshare's Introduction

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

image-20191114231344484

image-20191114231443608

image-20191114231552894

image-20191114231759560

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?

  1. User can create an account/register an account. To register, the email must not be used by any other user.
  2. Owner can upload/share/delete his file with anyone who is in the system.
  3. If owner shared with someone, owner can remove his file from sharing with that person, or choose not to share with anyone.
  4. Owner can rename the file - by clicking at the name of the file.
  5. User can see which file is shared with him, he can choose to unshare it if he wants.
  6. User have real-time update on the file he subscribes (is shared/owned) to.
  7. 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.

fireshare's People

Contributors

auspham avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fireshare's Issues

Unable to register

I setup FireShare, but can't register me. It says, "Sorry, email is already in use." and no collections aren't created in MongoDB.
How can I migrate database?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.