{"id":24969454,"url":"https://github.com/intrepidpursuits/contestandroid","last_synced_at":"2025-03-29T04:47:58.864Z","repository":{"id":83594915,"uuid":"79815220","full_name":"IntrepidPursuits/ContestAndroid","owner":"IntrepidPursuits","description":null,"archived":false,"fork":false,"pushed_at":"2018-06-25T05:37:38.000Z","size":19165,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-02-03T14:46:21.626Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IntrepidPursuits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-23T15:07:23.000Z","updated_at":"2017-01-23T16:44:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"0894d931-ed16-4075-b3fe-a66e28574776","html_url":"https://github.com/IntrepidPursuits/ContestAndroid","commit_stats":null,"previous_names":[],"tags_count":114,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntrepidPursuits%2FContestAndroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntrepidPursuits%2FContestAndroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntrepidPursuits%2FContestAndroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntrepidPursuits%2FContestAndroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IntrepidPursuits","download_url":"https://codeload.github.com/IntrepidPursuits/ContestAndroid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246140551,"owners_count":20729798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-03T14:38:20.645Z","updated_at":"2025-03-29T04:47:58.856Z","avatar_url":"https://github.com/IntrepidPursuits.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Judgy (ContestAndroid)\n\n[![Build Status](https://ci.intrepid.io/buildStatus/icon?job=Contest-Android)](https://ci.intrepid.io/job/Contest-Android/)\n[![Coverage](http://ci.intrepid.io:9913/jenkins/cobertura/Contest-Android/)](https://ci.intrepid.io/job/Contest-Android/cobertura/)\n\nJudgy aims to facilitate the mediation of local contests so that everyone can focus on enjoying the event.\n\n**HOW IT WORKS:**\n- Contest creators can set rules about what attributes should be considered by participants.\n- Contestants and judges are invited by the owner to participate via a unique code.\n- After all submissions are sent by contestants and scored by judges, all contest participants get notified about results.\n\n___\n# Table of Contents\n\n1. [Building](#building)\n   1. [Onboarding](#onboarding)\n   1. [Configuration](#configuration)\n   1. [Running](#running)\n1. [Testing](#testing)\n1. [Release](#release)\n   1. [Quirks](#quirks)\n   1. [Known Bugs](#known-bugs)\n1. [Architecture](#architecture)\n   1. [Data Flow](#data-flow)\n   1. [Core Technology #1](#core-technology-1)\n   1. [Core Technology #2](#core-technology-2)\n   1. [Third Party Libraries](#third-party-libraries)\n1. [History](#history)\n\n___\n\n# Building\n## Onboarding\nInstall dependencies by building the project. It doesn't require any other special configuration to run.\n\n## Configuration\nThere are three different types of builds: `debug`, `qa`, and `release`.\nFor differences, check out the gradle configuration. Some highlights are:\n- API: `debug` has the flag `DEV_BUILD` and uses a mock API, while `qa` and `release` use the real API endpoint\n- Logs: are enabled for `debug` and `qa`\n- Release: the build type `release` has never been configured\n\n## Running\nRun the app in either the emulator or on a device.\n\n[See Quirks](#quirks).\n___\n\n# Testing\n\n- Unit tests exist under the \"test\" directory. We are aiming to each 100% code coverage on Presenters.\n- You can run the code coverage locally by running `./gradlew unitTestCoverage` from the command line.\n- There are no UI (Espresso) tests at this moment. The \"androidTest\" directory holds the Skeleton code only.\n\n# Release\nThere have been no releases of this app.\n\n## Quirks\n### User ID\nJudgy has no registration or login: the user is created through the API when the app is opened, and saved in the user preferences until it is cleared.\n\nAt this moment there is no way to recover your user ID and content if the preferences are cleared.\n\nTo make manual testing easier, shaking your phone will clear the preferences and you will be able to test the app as a new user.\nNote that to our knowledge this is not possible in the emulator.\n\n### Choosing API\nThe `debug` buildtype uses a mock API (see [Configuration](#configuration)).\nIf you want to test the `debug` build with the real API, use `RetrofitClient.getApi()` in class `ContestApplication`.\n\n## Known Bugs\nBugs are reported in Jira.\n___\n\n# Architecture\nWe use MVP.\n\n## Data Flow\n## Core Technology 1\n## Core Technology 2\n## Third Party Libraries\n- RxJava/RxAndroid\n- Retrofit\n- Gson\n- OkHttp\n- Butterknife\n- Calligraphy\n- Picasso\n- UCrop for cropping images\n- Mockito\n- Timber\n- Intrepid common utils\n___\n\n## Info\n### Slack channels\n- judgy (both to talk and for jenkins reports)\n___\n\n\n# History\nStarted as an apprentice project in Winter 2017 in parallel with [Judgy iOS](https://github.com/IntrepidPursuits/contest-app-ios/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintrepidpursuits%2Fcontestandroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintrepidpursuits%2Fcontestandroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintrepidpursuits%2Fcontestandroid/lists"}