Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/internxt/drive-mobile
https://github.com/internxt/drive-mobile
android apple encryption google ios secure
Last synced: 11 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/internxt/drive-mobile
- Owner: internxt
- License: agpl-3.0
- Created: 2018-10-04T15:23:47.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-18T05:37:16.000Z (28 days ago)
- Last Synced: 2024-10-19T11:39:51.722Z (27 days ago)
- Topics: android, apple, encryption, google, ios, secure
- Language: TypeScript
- Homepage: https://internxt.com
- Size: 61.3 MB
- Stars: 92
- Watchers: 6
- Forks: 13
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.com/internxt/drive-mobile.svg?branch=master)](https://travis-ci.com/internxt/drive-mobile)
![GitHub](https://img.shields.io/github/license/internxt/drive-mobile)# Internxt Drive Mobile
Internxt
## Requirements
- JDK version: 11
- SDK version: 29 or 30In case that you open the project in Android Studio:
- NDK version: 21.1.6
- CMake version: 3.10.2## Setup
Follow these steps before running the project.
### 1. Installation
- Create a `.npmrc` file from the `.npmrc.template` example provided in the repo.
- Replace `TOKEN` with your own [Github Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) with `read:packages` permission **ONLY**
- Use `yarn` to install project dependencies.### 2. Environment
In order to configure the environment, you have to create **/env/.env.development.json** and **/env/.env.production.json** files.
Take a look to **/env/.env.example.json** file to know the required environment variables.
## Development
Remember to run the tailwind command during development to dynamically add and remove styles from src/styles/tailwind.json depending on the used classes:
```bash
yarn tailwind:dev
```
## Android
We can run the android application in any operating system, although for each one we will have to follow some different steps
### Android installation
#### Ports mapping
In order **to connect a real device or an emulator to localhost** interface, we have to map used ports in our computer with the device ports.
First list the connected devices:
```bash
adb devices
```Then use the following command to map **DEVICE_ID** device **PORT** to your localhost **PORT**:
```bash
adb -s DEVICE_ID reverse tcp:PORT tcp:PORT
```#### ADB (Android Debug Bridge)
To install the ADB in Mac OS or Linux, execute the following command:
```bash
bash <(curl -s https://raw.githubusercontent.com/corbindavenport/nexus-tools/master/install.sh)
```#### Dependencies
Opening the project with Android Studio will install the necessary dependencies to start the application.
If you are using Mac OS an receiving the following error when during gradle sync
❌
Caused by: groovy.lang.MissingPropertyException: No such property: logger for class: org.gradle.initialization.DefaultProjectDescriptor
Try opening Android Studio with the command below to ensure Android Studio is able to find Node```bash
open -a /Applications/Android\ Studio.app
```### Run
Configure a virtual device in Android Studio or connect by USB a real device with ADB to run the Android application with the following command using the Expo CLI:
```bash
yarn android
```
## iOS
You can only run the iOS application on a Mac OS computer.
### iOS installation
```bash
cd iospod install
```If your computer is using M1 Apple chipset, replace the `pod install` command with the following:
```bash
sudo arch -x86_64 gem install ffiarch -x86_64 pod install
```### Run
```bash
yarn ios
```
## Known issues
Current react-native-reanimated fails with Android using RN 0.64, until we upgrade RN version, a patch needs to be added manually:
https://github.com/software-mansion/react-native-reanimated/issues/3161#issuecomment-1112285417## Test
This is what you should know about project testing.
Take a look to this official article about [testing in React Native](https://reactnative.dev/docs/testing-overview).
### E2E
- [Getting Started | Detox](https://wix.github.io/Detox/docs/introduction/getting-started/)
- [Jest Setup Guide | Detox](https://wix.github.io/Detox/docs/guide/jest)