Giter Club home page Giter Club logo

storymaker's Introduction

Story Maker - Make your story great.

Download StoryMaker - Video, Audio & Photo in the the Google Play Store.

Setting up Development Environment

Prerequisites: .

Follow these steps to setup your dev environment:

  1. Clone the git repo, make sure you fork first if you intend to commit

  2. Init and update git submodules

    $ git submodule update --init --recursive
    
  3. Ensure NDK_BASE env variable is set to the location of your NDK, example:

    $ export NDK_BASE=/path/to/android-ndk
    
  4. Build android-ffmpeg

    $ cd external/android-ffmpeg-java/external/android-ffmpeg/
    $ ./configure_make_everything.sh
    
  5. Create SecureSHaredLib third party credentials file

    vim ./external/SecureShareLib/SecureShareUILibrary/res/values/credentials.xml
    

    Add the following contents:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <!-- insert your own keys from: https://www.flickr.com/services/apps/create/apply/ -->
        <string name="flickr_key">REPLACE_WITH_YOUR_KEY</string>
        <string name="flickr_secret">REPLACE_WITH_YOUR_KEY</string>
    
        <!-- insert your own keys following: https://developers.google.com/accounts/docs/OAuth2 -->
        <string name="google_client_id">REPLACE_WITH_YOUR_ID</string>
        <string name="google_client_secret">REPLACE_WITH_YOUR_SECRET</string>
        <string name="google_app_name">REPLACE_WITH_YOUR_APP_NAME</string>
    
        <string name="s3_key">REPLACE_WITH_YOUR_APP_NAME</string>
        <string name="s3_secret">REPLACE_WITH_YOUR_APP_NAME</string>
        <string name="s3_bucket">REPLACE_WITH_YOUR_APP_NAME</string>
        <string name="s3_path_prefix">REPLACE_WITH_YOUR_APP_NAME</string>
    
        <string name="sm_key">REPLACE_WITH_YOUR_SM_KEY</string>
        <string name="sm_secret">REPLACE_WITH_YOUR_SM_SECRET</string>
    
        <string name="sm_tor_host">REPLACE_WITH_YOUR_TOR_HOST</string>
        <string name="sm_tor_port">REPLACE_WITH_YOUR_TOR_PORT</string>
    </resources>
  6. Create Google Play Developer Account credentials file

    vim ./external/liger/lib/src/main/res/values/google_play.xml
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="base64_public_key">REPLACE WITH YOUR PUBLIC KEY</string>
        <string name="liger_salt">REPLACE WITH A STRING OF BYTES</string>
    </resources>
    

Android Studio Specific Steps

After completing all items under Prerequisites:

  1. File -> Import Project -> Point to the root project directory

  2. (optional) Build from the command line

    $ ./gradlew assembleDebug
    

How to update content packs

  • update AVAILABLE_INDEX_VERSION in Constants:

$ gedit storymaker/external/liger/lib/src/main/java/scal/io/liger/Constants.java

  • generate zip:

./content.py generate ; ./content.py zip_one_content_pack beta 6 ./content.py generate ; ./content.py zip_one_content_pack citizen_journalism_pack 2

  • update records in available_index.json (version, size and hash)

$ gedit external/liger/lib/src/main/assets/available_index.json

  • test:

./content.py push_test_files beta 6 ./content.py push_test_files citizen_journalism_pack 2

  • test it:

  • upload zip to s3

  • make public

Testing

We have a helper script "run-tests.sh" that should run the core tests

There are several test classes you can also run manually:

  • DownloadAndPatchTest - downloads a content pack with a patch and verifies their content

  • EndToEndTest.java - logs in before creating and uploading a new story

  • HookPathsTest.java - checks all possible hook paths for dead ends

Please note that you must build with the "testing" branch of the liger(storypath) submodule to run DownloadAndPatchTest. To do this, follow these steps:

```
$ cd external/liger/
$ git fetch origin testing:testing
$ git checkout testing
```

To return to the "master" branch of liger(storypath) for a normal build, do the following:

```
$ cd external/liger/
$ git checkout master
```

Eclipse Specific Steps

!! This is outdated and probably doesn't work anymore

After completing all items under Prerequisites:

  1. run script to update all libraries android support library. from command line run in the top level of the repo:

    $ scripts/copy-support-libs.sh
    
  2. Import dependancies into Eclipse

    Using the File->Import->Android->"Existing Android Code Into Workspace" option, import these projects in this order:

     external/HoloEverywhere/contrib/ActionBarSherlock/library/
     external/HoloEverywhere/library/
     external/NetCipher/
     external/android-ffmpeg-java/
     external/WordpressJavaAndroid/
     external/SecureShareLib/SecureShareUILibrary/
     external/SecureShareLib/SecureShareUILibrary/external/facebook-sdk/
     external/cardsui-for-android/CardsUILib
     external/SlidingMenu/library
     external/Android-ViewPagerIndicator/library
     external/RangeSeekBar/library
    
  3. Import the StoryMaker project from the app/ subfolder

  4. (optional) Build from the command line

    $ cd app/
    $ ./setup-ant.sh
    $ ant clean debug
    

storymaker's People

Contributors

vitriolix avatar n8fr8 avatar mnbogner avatar micahjlucas avatar onlyinamerica avatar erikswedberg avatar eighthave avatar abeluck avatar davidlemayian avatar stevewyshy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.