Multi-platform (Android specifically) MediaGoblin client

README.md 3.4KB

MediaGoblinApp

I. General Information

Project name: MediaGoblin 
Current devs: Dylan Jeffers, Christopher Webber
Outline: Android App for MediaGoblin using PyPump  Summer 2015
    - GSOC (Google Summer of Code) project to develop an Android client
        for MediaGoblin
    - Project is a Kivy application, which is written in Python. We chose Kivy
        as it allows us to use the MediaGoblin codebase
    - Uses 100% free software
    - GPLv3 or later license

II. Getting Started

Requirements:
    A MediaGoblin account:
        - There are many different MediaGoblin instances to choose from
            - We recommend pump.goblinrefuge.com
        - To create your own MediaGoblin instance, follow the guide at:
            https://mediagoblin.readthedocs.org/en/stable/siteadmin/deploying.html
User Installation Guide:
    Android app is available on F-Droid app store

Developer Installation Guide:
    The Plan:
        Install a combination of system-wide packages and
        virtualenv packages

    0. Clone the repo
      - cd into a dir of your choice and clone the repo:
        git clone https://notabug.org/SapienTech/MediaGoblinApp
        cd MediaGoblinApp
      - and init the submodules:
        git submodule init && git submodule update

    1. Download the following system-wide dependencies:
        sudo apt-get install -y \
        build-essential \
        mercurial \
        git \
        python2.7 \
        python-setuptools \
        python-dev \
        libsdl-image1.2-dev \
        libsdl-mixer1.2-dev \
        libsdl-ttf2.0-dev \
        libsmpeg-dev \
        libsdl1.2-dev \
        libportmidi-dev \
        libswscale-dev \
        libavformat-dev \
        libavcodec-dev \
        zlib1g-dev \
        python-pip \
        python-virtualenv

    2. Set up a virtual environment (in MediaGoblinApp dir):
        virtualenv env

       And activate it:
        source env/bin/activate

    3. Install dependencies:
        pip install -r requirements.txt

    4. Build the project:
      - In the project directory:
        python setup.py develop

      - This will allow you to run kivy from the computer, to install an android
        apk, continue to step 5.

    5. Compiling the Android apk:
        buildozer android debug

     - To run on phone after compiling:
        buildozer android deploy run logcat

III. Testing

- As compiling an apk takes time, it is recommended to first test on the computer,
  before debuging an apk.
    - Note, however that some functionality is exclusive to Android

IV. Contributing

- Contributing to this project is a great opportunity to hone mobile development skills.
As this project is small, but part of the larger MediaGoblin community,
contributers have a great opportunity to fully understand and engage with a
piece of software, while also benefiting from the structure and support of
an established free software community.

- If you feel like reaching out to contribute/learn more/just chat, feel 
free to ping SapienTech on irc.freenode.net in #mediagoblin, or connect
through email at sapientechnology@openmailbox.com

V. Licenses

GPLv3 or later

VI. Contact

Dylan Jeffers: sapientechnology@openmailbox.com