Skip to content

Web Client for V Transfer (a distributed file-sharing system)

License

Notifications You must be signed in to change notification settings

lakshya-20/VT-WebClient

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Client for V Transfer

JavaScript Slack License GitHub code size in bytes
CircleCI Workflow Status React GitHub last commit

Project description

This project is the web client for V Transfer, allowing people to share their file easily with minimum steps without compromising the security. At the backend we are using IPFS, to upload a file, which is a blockchain-based technology for file sharing and thus making file upload more secure and reliable. Given below are some of the key feature of this app.

  1. Upload file and get a short url for sharing
  2. Create different URL with different configuration like
    • Limit click count
    • Control visibility of url (suspending the url temporarily)
    • Deleting the url
  3. View file details and related urls
  4. User authentication for better security
  5. Manage user details

Development Setup

Before setting up the development environment make sure you have downloaded the npm ~6.14 and Node.js ~14.16 and added them to path variables. Downloading Node.js

Building the Code

  1. Clone the repository using command:
    git clone https://github.com/code-gambit/VT-WebClient.git
  2. Install NPM packages
    npm install
  3. Create .env file to setup environment variables
    REACT_APP_BACKENDURL=<BACKEND_URL>
    REACT_APP_APIKEY=<API_KEY>
    REACT_APP_FRONTENDURL="http://localhost:3000"
    REACT_APP_TITLE="V Transfer"
    
  4. In the root directory run
    npm start
    
  5. Open http://localhost:3000 to view it in the browser.

Roadmap

See the open issues for a list of proposed features and known issues.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. In case of multiple commits squash them. You can find guide here: how to squash commits
  5. Run the tests with (npm run test) and make sure all tests are passed.
  6. Push your branch (git push origin my-new-feature)
  7. Create a new Pull Request, following the template

CI

Currently, we have a basic CircleCI workflow setup for CI, which takes care of building the project and running the basic checks. Make sure all your pull requests pass the CI build only then, it will be allowed to merge.

About

Web Client for V Transfer (a distributed file-sharing system)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 94.3%
  • CSS 4.2%
  • HTML 1.5%