Git Product home page Git Product logo

erouska-android's Introduction

erouska-android

Read our FAQ: Czech, English

eRouška (rouška = face mask in Czech) helps to fight against COVID-19.

eRouška uses Bluetooth to scan the area around the device for other eRouška users and saves the data of these encounters.

It's the only app in Czechia authorized to use Exposure Notifications API from Apple/Google.

Who is developing eRouška?

Starting with version 2.0, the eRouška application is developed by the Ministry of Health in collaboration with the National Agency for Communication and Information Technologies (NAKIT). Earlier versions of eRouška application were developed by a team of volunteers from the COVID19CZ community. Most of original eRouška developers continue to work on newer versions in the NAKIT team.

International cooperation

We are open-source from day one and we will be happy to work with people in other countries if they want to develop a similar app. Contact David Vávra for technical details.

Building the App from the source code

Clone this repository and import the project into Android Studio. Make sure you have JDK 8.

Run: ./gradlew assembleDevDebug

Contributing

We are happy to accept pull requests! See Git Workflow.

If you want to become a more permanent part of the team, join our Slack, channel #erouska.

Translations

Help us translate to your language or if you see a problem with translation, fix it. Our translation is open to volunteers at OneSky.

Git workflow

  • Work in a fork then send a pull request to the develop branch.
  • Pull requests are merged with squash commits.
  • Admins rebase develop to master using the script below. This triggers a release build.

eRouška release process

eRouška uses GitHub Actions. A push to master branch triggers an App build. Then the App is published to Firebase App Distribution.

There are two variants of the App: DEV and PROD. PROD is also built as an App Bundle artefact, that needs to be manually uploaded to Google Play.

Versioning is automatic: major and minor version is in Git, patch is versionCode (a number of commits from the start).

Release is done by executing the release.sh script. Right click it on Android Studio and hit Run 'release.sh' or execute via command line. If it fails, it fails. Most likely your master has different history from origin. That should never be the case, so you should fix it.

Make sure to update translations & RC defaults before release (next section).

Updating translations

  • Update only Czech and English file in a PR, don't upload anything to OneSky
  • Don't put Czech strings into English file, add there either your English translation or TODO: translate
  • Before every release, the person who is preparing the release will upload Czech file into OneSky and notify translators
  • After it's translated, push English and Slovak file from OneSky to develop. Don't update Czech file.

Updating RC defaults

  • Don't add any RC defaults to a pull request, change it only in Dev RC for testing (follow this guide)
  • Before every release, the person who is preparing the release should update RC defaults and push them to develop

erouska-android's People

Contributors

davidvavra avatar simekadam avatar stepansonsky avatar vandus avatar gh0stahcz avatar pavel-habzansky avatar kobzol avatar jendakol avatar jantrnavsky avatar rade2k avatar baradrb avatar vandac avatar igorsmerda avatar skywall avatar danielnovak avatar radeksimko avatar foxlik avatar vitkolos avatar krakorj avatar machj avatar martin-bryndza avatar

Watchers

James Cloos 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.