All Projects → art-institute-of-chicago → Aic Mobile Android

art-institute-of-chicago / Aic Mobile Android

Licence: agpl-3.0
Art Institute of Chicago Official Mobile App - Android

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Aic Mobile Android

RxPagination
Implement pagination in just few lines with RxPagination
Stars: ✭ 20 (-35.48%)
Mutual labels:  rx, rxjava2, rxkotlin
Librehardwaremonitor
Libre Hardware Monitor, home of the fork of Open Hardware Monitor
Stars: ✭ 685 (+2109.68%)
Mutual labels:  open-source, opensource
Adapt
Adapt Intent Parser
Stars: ✭ 690 (+2125.81%)
Mutual labels:  open-source, opensource
Juejin
💰 Unofficial JueJin wechat mini program application - 掘金非官方微信小程序
Stars: ✭ 771 (+2387.1%)
Mutual labels:  open-source, opensource
Enclosure Picroft
Mycroft interface for Raspberry Pi environment
Stars: ✭ 649 (+1993.55%)
Mutual labels:  open-source, opensource
Rando.js
The world's easiest, most powerful random function.
Stars: ✭ 659 (+2025.81%)
Mutual labels:  open-source, opensource
Reaktive
Kotlin multi-platform implementation of Reactive Extensions
Stars: ✭ 760 (+2351.61%)
Mutual labels:  rx, rxkotlin
Rxanimation
Simple way to animate your views on Android with Rx 🚀
Stars: ✭ 521 (+1580.65%)
Mutual labels:  rxjava2, rxkotlin
Acgclub
一款纯粹的ACG聚合类App
Stars: ✭ 829 (+2574.19%)
Mutual labels:  rxjava2, rx
Android Foss
A list of Free and Open Source Software (FOSS) for Android – saving Freedom and Privacy.
Stars: ✭ 832 (+2583.87%)
Mutual labels:  open-source, opensource
Base Mvvm
App built to showcase basic Android View components like ViewPager, RecyclerView(homogeneous and heterogeneous items), NavigationDrawer, Animated Vector Drawables, Collapsing Toolbar Layout etc. housed in a MVVM architecture
Stars: ✭ 18 (-41.94%)
Mutual labels:  rxjava2, room-persistence-library
Hacktoberfest 2020
Welcome to Open-source! Simply add your details to contributors | Repo for Hacktoberfest 2020 ✅
Stars: ✭ 621 (+1903.23%)
Mutual labels:  open-source, opensource
Theatre
Pet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The data are fetched from LondonTheatreDirect API. 🎭
Stars: ✭ 577 (+1761.29%)
Mutual labels:  rxjava2, rxkotlin
Quietweather
☀️ Develop a weather wechat mini program application in two days - 两天撸一个天气应用微信小程序
Stars: ✭ 677 (+2083.87%)
Mutual labels:  open-source, opensource
Thor
DIY 3D Printable Robotic Arm
Stars: ✭ 556 (+1693.55%)
Mutual labels:  open-source, opensource
Open Source Mac Os Apps
🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps
Stars: ✭ 28,908 (+93151.61%)
Mutual labels:  open-source, opensource
Hacktoberfest2020
beginner-friendly project to help you in open-source contributions. Made specifically for contributions in HACKTOBERFEST 2020! Hello World Programs in any language and C and Cpp program , Please leave a star ⭐ to support this project! ✨
Stars: ✭ 31 (+0%)
Mutual labels:  open-source, opensource
Rxretrojsoup
A simple API-like from html website (scrapper) for Android, RxJava2 ready !
Stars: ✭ 492 (+1487.1%)
Mutual labels:  rxjava2, rx
Wellcommerce
Open-source E-Commerce software
Stars: ✭ 499 (+1509.68%)
Mutual labels:  open-source, opensource
Score
ossia score, an interactive sequencer for the intermedia arts.
Stars: ✭ 808 (+2506.45%)
Mutual labels:  open-source, art

Art Institute of Chicago

CircleCI

Art Institute of Chicago Official Mobile App

A digital guide to the Art Institute of Chicago. Built with Kotlin 1.x for Android.

Please see this page for the iOS counterpart.

The Art Institute of Chicago app is your personal, pocket-sized guide to our collection. The mobile experience offers high-quality audio storytelling, letting the art speak to you. The Art Institute offers nearly a million square feet to explore—the Official Mobile App will be your guide.

Note that the codebase is young, and under heavy development. It might change significantly before the first official release. Nevertheless, we welcome suggestions and contributions from outside parties.

License

This codebase is licensed under the GNU Affero General Public License v3 as defined in the top-level LICENSE file. We make heavy use of the Android support libraries and the Kotlin programming language - our modifications to those, if any, are also licensed under the AGPL, unless otherwise indicated.

The following modules use proprietary APIs:

  • The map module includes Google's "GoogleMap" and "LatLng" classes.
  • The analytics module connects to Google Analytics

Project architecture

The source code is organized into multiple Gradle modules, each of which is contained within a top-level directory. A full list of such modules can be found in the settings.gradle config file.

The project maintains an overview of the more interesting modules in MODULES.md.

How to Build

This project should build perfectly as is using the standard build commands, but is unlikely to function properly without key attributes defined in the build process.

Details below:

In .circleci/ you will find a config.yml which controls our circle ci build process.

./gradlew assembleDebug assembleRelease

Environment Variables

There is one hidden aspect of the build process not available for public consumption which is the keystore and keys used in the app. Due to infrastructure difference between our public build server and release of the app we handle injecting these variables into our build process by using the method envVariable(key, isRelease) within the gradle files.

This function loads all the appropriate values for the keys from one of three places depending on where you define them. You can see the full set of values needed in env.sample.

These values are loaded from one of the following sources, listed here in decreasing order of priority:

  • release.env or debug.env (Deployments use this model)
  • local.properties (Development uses this model primarily)
  • environment variables (Circle CI, uses this model)

Sample (added for reference as well)

blob_url=
default_buy_url=
member_validation_url=
member_validation_token=
fb_project_id=
fb_application_id=
fb_api_key=
fb_storage_bucket=
ga_tracking_id=
gcm_sender_id=
google_maps_api_key=
keystore=
keystore_password=
keystore_alias=
keystore_alias_password=

Bundling App Data as JSON (debug builds only)

As a special case, if blob_url is not defined or is not a string starting with https://, the app can run in a reduced capacity. This feature is intended for debug configurations only and thus does nothing in release builds.

If a JSON file

  1. was present in either db/src/main/assets/ or db/src/debug/assets/ at build time
  2. had the name app-data-v3.json and
  3. conforms to the expected format of ArticAppData

then the content of that JSON file will overwrite whatever content is currently in the database.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].