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.
- Upload file and get a short url for sharing
- Create different URL with different configuration like
- Limit click count
- Control visibility of url (suspending the url temporarily)
- Deleting the url
- View file details and related urls
- User authentication for better security
- Manage user details
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
- Clone the repository using command:
git clone https://github.com/code-gambit/VT-WebClient.git
- Install NPM packages
npm install
- Create
.env
file to setup environment variablesREACT_APP_BACKENDURL=<BACKEND_URL> REACT_APP_APIKEY=<API_KEY> REACT_APP_FRONTENDURL="http://localhost:3000" REACT_APP_TITLE="V Transfer"
- In the root directory run
npm start
- Open http://localhost:3000 to view it in the browser.
See the open issues for a list of proposed features and known issues.
- Fork it
- Create your feature branch
(git checkout -b my-new-feature)
- Commit your changes
(git commit -m 'Add some feature')
- In case of multiple commits squash them. You can find guide here: how to squash commits
- Run the tests with
(npm run test)
and make sure all tests are passed. - Push your branch
(git push origin my-new-feature)
- Create a new Pull Request, following the template
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.