Multi-platform (Android specifically) MediaGoblin client

Dylan Jeffers a1fdb0b832 Dependency updates: 9 years ago
extensions bbcf1ff75b Edit README, rm symlink 10 years ago
goblinoid e94ea128ee Fix login bugs 10 years ago
images 37045ddd2c Add icons :) 10 years ago
submodules 56bad143c7 Add prebuildozer.sh for f-droid build 10 years ago
.gitignore d737a772b3 Update .gitignore 9 years ago
.gitmodules 56bad143c7 Add prebuildozer.sh for f-droid build 10 years ago
LICENSE cf073d22a9 Init commit 10 years ago
MediaGoblin.jpg 23e03cfed8 Add note about versioning in main.py 10 years ago
README.md bbcf1ff75b Edit README, rm symlink 10 years ago
buildozer.spec a1fdb0b832 Dependency updates: 9 years ago
main.py d2de4a3528 Update build version 10 years ago
mediagoblin.kv 727cb1d675 Update screen transitions 10 years ago
prebuildozer.sh 56bad143c7 Add prebuildozer.sh for f-droid build 10 years ago
requirements.txt 789eab264c Edit README now more intuitive 10 years ago
setup.py b11e5c8f65 Edit simplify setup.py build process 10 years ago

README.md

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