|
1 | | -# VT-WebClient |
2 | | -Web Client for V Transfer. |
| 1 | +# Web Client for V Transfer |
| 2 | + [](https://join.slack.com/t/codegambit/shared_invite/zt-pe1nuhbk-iPuFm2B1JuMS86od4a4wXQ) [](https://github.com/code-gambit/VT-WebClient/blob/development/LICENSE)  <br> |
| 3 | +[](https://github.com/code-gambit/VT-WebClient/blob/development/.circleci/config.yml) |
| 4 | + [](https://github.com/code-gambit/VT-WebClient/commits) |
| 5 | + |
| 6 | +## Project description |
| 7 | +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](https://ipfs.io/), 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. |
| 8 | +1. Upload file and get a short url for sharing |
| 9 | +2. Create different URL with different configuration like |
| 10 | + * Limit click count |
| 11 | + * Control visibility of url (suspending the url temporarily) |
| 12 | + * Deleting the url |
| 13 | +3. View file details and related urls |
| 14 | +4. User authentication for better security |
| 15 | +5. Manage user details |
| 16 | + |
| 17 | +## Development Setup |
| 18 | +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](https://nodejs.org/en/download/) |
| 19 | + |
| 20 | +## Building the Code |
| 21 | +1. Clone the repository using command: |
| 22 | + ```sh |
| 23 | + git clone https://github.com/code-gambit/VT-WebClient.git |
| 24 | + ``` |
| 25 | +2. Install NPM packages |
| 26 | + ```sh |
| 27 | + npm install |
| 28 | + ``` |
| 29 | +3. Create `.env` file to setup environment variables |
| 30 | + ``` |
| 31 | + REACT_APP_BACKENDURL=<BACKEND_URL> |
| 32 | + REACT_APP_APIKEY=<API_KEY> |
| 33 | + REACT_APP_FRONTENDURL="http://localhost:3000" |
| 34 | + REACT_APP_TITLE="V Transfer" |
| 35 | + ``` |
| 36 | +4. In the root directory run |
| 37 | + ``` |
| 38 | + npm start |
| 39 | + ``` |
| 40 | +5. Open [http://localhost:3000](http://localhost:3000) to view it in the browser. |
| 41 | +
|
| 42 | +## Roadmap |
| 43 | +
|
| 44 | +See the [open issues](https://github.com/code-gambit/vt-webclient/issues) for a list of proposed features and known issues. |
| 45 | +
|
| 46 | +## Contributing |
| 47 | +1. Fork it |
| 48 | +2. Create your feature branch `(git checkout -b my-new-feature)` |
| 49 | +3. Commit your changes `(git commit -m 'Add some feature')` |
| 50 | +4. In case of multiple commits squash them. You can find guide here: [how to squash commits](https://medium.com/@slamflipstrom/a-beginners-guide-to-squashing-commits-with-git-rebase-8185cf6e62ec) |
| 51 | +4. Run the tests with `(npm run test)` and make sure all tests are passed. |
| 52 | +5. Push your branch `(git push origin my-new-feature)` |
| 53 | +6. Create a new Pull Request, following the template |
| 54 | +
|
| 55 | +## CI |
| 56 | +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. |
0 commit comments