Skip to content

enevtihq/enevti-app

Repository files navigation

Logo

Enevti App

GitHub repo size License: Apache 2.0 Follow @enevtihq

Enevti.com is an award-winning web3 social media super app with real-world NFT utility!

Enevti App is the main user interface for Enevti Protocol, that written in React Native and primarily build for iOS and Android. In the future, users will be able to buy, collect, redeem, explore, stake, even vote. All of Enevti's user's needs are available in one single place!

Polaris Phase (Decentralization)

We have completed the Sol Phase, where we finish the development of the MVP as the main foundation of future products. You can read more about our MVP on our blog post, as well as development updates on wallet feature, and on-chain social features.

We are currently working on the Polaris Phase that will bring mainnet, and integration with Lisk ecosystem as an interoperable sidechain.

Table of Contents
  1. About The Project
  2. Pre-Installation
  3. Installation
  4. Third Party Service
  5. Run
  6. License

Pre-Installation

The prerequisites to install and run Enevti App from source using the different tagged releases are listed bellow. If you don't have them installed on your machine, please run the attached commands from your terminal.

  • Brew

    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Git

    $ brew install git
  • Node.js (recommended 14.9.0)

    $ brew install node
  • NVM

    $ brew install nvm

    Remember to follow Brew additional steps for enabling NVM fully. After running brew install nvm, Brew will detail this steps.

  • NPM (recommended 6.14.16)

    $ nvm install-latest-npm

    npm is shipped with Node.js. But to have a specific version installed see here.

  • Watchman

    $ brew install watchman

(back to top)

iOS

  • Install the latest version of Xcode

(back to top)

Android

  • Install Android Studio, which sould have these options checked installed:
    • Android SDK
    • Android SDK Platform
    • Performance (Intel ® HAXM)
    • Android Virtual Device
  • Install the Android SDK. Consider these configurations:
    • compileSdkVersion: 31
    • buildToolsVersion: 30.0.2

(back to top)

Installation

On your terminal, go to the directory you want to install Enevti App and run:

git clone https://github.com/enevtihq/enevti-app
cd enevti-app
npm install
npm run link

(back to top)

Third Party Service

Enevti App use several third-party service that can be configured through environment variable. To configure these service, please create a .env file on the project root folder, containing these information:

NFT_STORAGE_API_KEY=<insert value here>
WEB3_STORAGE_API_KEY=<insert value here>

please note that this step is optional. However, corresponding features that need these third-party services may not work

(back to top)

NFT.STORAGE API KEY

Enevti App uses nft.storage to store NFT data when users create a new NFT. Please refer to their Documentation on how to obtain these API key.

(back to top)

WEB3.STORAGE API KEY

Enevti App uses web3.storage to store text data when users leave a comment. Please refer to their Documentation on how to obtain these API key.

(back to top)

Run

To run the metro bundler:

$ npm start

(back to top)

Run on Android

To run android:

$ npm run android

(back to top)

Run on iOS (MacOS with Intel chip)

To run the app on ios, you have to install pods.

For this, just run:

$ npx pod-install
$ npm run ios

(back to top)

Run on iOS (MacOS with Apple chip)

If your machine has the Apple Silicon chip (not Intel), you will have to run some additional steps, which we hope are going to be solved in a short term while the new chip is more widely adopted.

The process is:

  1. Locate in Terminal app in Finder.
  2. Right-click and click on Get Info
  3. Check the Open using Rosetta checkbox.
  4. Quit Terminal app and run it again
  5. Go to your app folder and run sudo gem install ffi
  6. Run npx pod-install
  7. Run npm run ios

More details here.

(back to top)

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

(back to top)