Skip to content

code-gambit/VT-AndroidClient

Repository files navigation

Android Client for V Transfer

Android Slack License GitHub code size in bytes
GitHub Workflow Status Kotlin GitHub last commit

qr
   Download APK   

Project description

This project is the android client for V Transfer, allowing people to share their file easily with minimum steps without compromising with the security. At the backend we are using IPFS to upload file which is a blockchain based technology for file sharing making it secure and reliable, 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
  6. Support dark and light mode

Development Setup

Before setting up the development environment make sure you have downloaded the Android Studio SDK and set it up correctly. You can find a guide on how to do this here: Setting up Android Studio.

Building the Code

  1. Clone the repository using command: git clone https://github.com/code-gambit/VT-AndroidClient.git
  2. Open Android Studio.
  3. Click on 'Open an existing Android Studio project'
  4. Browse to the directory where you cloned the android-client repo and click OK.
  5. Let Android Studio import the project.
  6. Build the application in your device by clicking run button.

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. Clear the checks and make sure build is successfull
  6. Push your branch (git push origin my-new-feature)
  7. Create a new Pull Request, following the template

Coding style and CI

Currently we have basic github workflow setup for CI, which takes care of building the project and running the basic ktlint checks. For this project we are using ktlint code style, it provide the basic codestyle checks and formatter which can be applied using basic gradle task. Make sure all your pull requests pass the CI build only then, it will be allowed to merge. Sometimes,when the build doesn't pass you can use these commands in your local terminal and check for the errors.

For Mac OS and Linux based, you can use the following commands:

  • ./gradlew ktlintcheck quality checks on your project’s code using defualt ktlint codestyle and generates reports from these checks.
  • ./gradlew ktlintformat automatic reformating of code based on ktlint codestyle
  • ./gradlew lint an predefined android lint checker.
  • ./gradlew build provides a command line to execute build script.

For Windows, you can use the following commands:

  • gradlew ktlintcheck quality checks on your project’s code using defualt ktlint codestyle and generates reports from these checks.
  • gradlew ktlintformat automatic reformating of code based on ktlint codestyle
  • gradlew lint an predefined android lint checker.
  • gradlew build provides a command line to execute build script.