Giter Site home page Giter Site logo

ishihara-project-app's Introduction

Ishihara App

Ishihara is a proof of concept developed by Modus Create. This experimental app tests for color blindness using Ishihara plates and is built on Ionic, Stencil, and AWS

Getting Started

To start building, clone this repo to a new directory:

npm install

Production

To build for production, run:

npm run build

A production build includes:

  • Minified code bundles
  • Generated Service workers
  • App manifest

Service Workers

Service workers are generated via the Stencil build tool. For more information on how they can be configured, see the Service Worker docs.

Developing with a Service Worker

For most cases, you'll want to develop your app without generating a Service Worker. But if you'd like to test out Web Push Notifications or Background Sync, you'll need to have one generated. To generate a Service Worker during dev builds, we've added the npm script:

npm run start.sw

This will start a dev build and generate a Service Worker as well.

Unit Tests

To run the unit tests once, run:

npm test

To run the unit tests and watch for file changes during development, run:

npm run test.watch

Deployment for test

To generate a new version for test for both platforms (iOS and Android), you will just push or merge the changes into the main branch. As you have a new change on the main, a workflow will start to build and deploy the apps on Google Play Console under the "Internal" track and on TestFlight in the Apple Store Connect. Once the apps was deployed into the stores, there are some differents steps between them to make the app available for testers.

For iOS, you will need to assign the new for a tester lists which will receive an email to update the TestFlight version. For Android, you just need do it for the initial configuration, where you should define the tester groups for the desired track, in our case the "Internal".

Deployment to distribution platforms

To update the app, you should create a new release with the desired version, this version will be used as the version name for the iOS and Android version.

For every release published, will be executed github actions triggering the AppFlow build and deploy process. For the iOS, the new version will be release under TestFlight and for Android the track "Internal" will be used.

To promote for production on Apple Store Connect, you need create a new version in the production using the recently deployed version addint the release notes and other required infos. To promote a android version, you can use the promote option from "Internal" track to "Production" also adding the release notes and other required infos.

After this process, both versions will be analyzed for the stores to be deployed into the public.

Obs: To automate the incremental number of the versions is used an "Action Secret" with the current production version. For every new release, the "ref_name" property will be used, therefore, the new version will have the version defined for release. To be able to do this, is needed a token to update the current version on every new release, so it's necessary update this token every time it expires.

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.