ryanaidilp / PICO_SULTENG_Android

PICO SulTeng (Pusat Informasi COVID-19 Sulawesi Tengah/COVID-19 Information Center of Central Sulawesi) is an android-based application developed to facilitate the people of Central Sulawesi in obtaining information about the current situation of COVID-19 in Central Sulawesi.

Home Page:https://banuacoders.com/app/pico

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PICO

PICO SulTeng Android

License : MIT version : v3.0.1 last commits commit activity stars forks download

PICO SulTeng (Pusat Informasi COVID-19 Sulawesi Tengah/COVID-19 Information Center of Central Sulawesi) is an android-based application developed to facilitate the people of Central Sulawesi in obtaining information about the current situation of COVID-19 in Central Sulawesi.

Table of contents

Language : Id

This is the English version of the README.md file, press the badge to read the Bahasa Indonesia version.

General Information

  • Landing page PICO

    Click the image below to visit the landing page of PICO SulTeng App.

    PICO SulTeng

  • Download APK

    Here are some links for downloading PICO

    • PICO SulTeng v3.0.1 : download
    • PICO SulTeng (Unsigned) v3.0.1 (Google Drive) : download
  • PICO installation and usage guide

    • To see some PICO usage guidelines, you can see it here.
    • Installation instruction : here
  • Data Source

    This application uses data from PICO API. To view the PICO API documentation, please click here.

  • Minimum OS version

    • Android Lolipop (5.0)
  • To import into Android Studio :

    • Use the latest version of Android Studio - version 3.6.3
    • RAM : 4 GB

Screenshot

Dashboard1 Dashboard2 Dashboard3 Dashboar4

Features

Some features that have been developed:

  • Notification :

    • Get notifications about COVID-19 situation

    Notification

  • Dashboard :

    • The latest update on the COVID-19 situation in Central Sulawesi (Positive, Recovered, Death, Negative).
    • Information on the number of ODP and PDP in Central Sulawesi.
    • Table of distribution of COVID-19 cases by Regency/City in Central Sulawesi Province.
    • Map of the spread of COVID-19 cases per Regency / City in Central Sulawesi Province.
    • Important telephone/phone numbers about COVID-19 with tap to call feature.

    Dashboard1 Dashboard2 Dashboard3 Dashboar4

  • List of COVID-19 referral hospitals in Central Sulawesi:

    • Tap on the telephone number to call the hospital (Tap to call).
    • Tap on an email to send an email to the hospital (Tap to Email).
    • Hospital directions button.

    Hospital1 Hospital2

  • List of COVID-19 Task Force posts by Regency/City in Central Sulawesi:

    • Tap on the telephone number to call (Tap to call).

    Posts1 Posts2

  • Self Check :

    • Do a COVID-19 self-examination with a virtual assistant from Detexi App. Detexi is a local startup in Central Sulawesi which is engaged in health and is currently working with the government of Central Sulawesi, IDI of Central Sulawesi, and PDUI of Central Sulawesi.

    Detexi1 Detexi2

  • Statistics :

    • Statistics of COVID-19 cases in Indonesia

    Stats1 Stats2

  • Map of the spread of COVID-19 (Province) :

    • Map of the spread of COVID-19 cases by Province in Indonesia.

    Map1 Map2

  • Multi Language :

    • PICO supports Indonesian and English.

    Bahasa English

To-do List :

  • Push notification
    • Notification of the current situation of COVID-19 in Indonesia
    • Notification of the current situation of COVID-19 in Central Sulawesi
    • Notify user if he/she is/had been in the red zone
    • Notify user he/she has interacted with a COVID-19 patient
    • Notify user if there is a case of COVID-19 nearby
  • In-App push messaging
    • Infographics around COVID-19 (Prevention, treatment, etc.)
  • COVID-19 self-examination
  • Data on the current situation of COVID-19 in Central Sulawesi
    • Regency/City
    • ODP cases
    • Under Observation cases
    • Completed Observation cases
    • PDP cases
    • Under Supervision cases
    • Completed Supervision cases
    • Positive cases
    • Negative cases
    • Death cases
    • Recovered cases
    • Latest update
    • Daily report of COVID-19 cases in Central Sulawesi
  • Table of distribution of COVID-19 cases in Central Sulawesi
  • Map of the spread of COVID-19 in Central Sulawesi
  • Statistical data on the COVID-19 situation in Indonesia
    • Province
    • Positive cases
    • Recovered cases
    • Death cases
    • Cumulative number of COVID-19 Positive cases
    • Cumulative number of Recovered from COVID-19 cases
    • Cumulative number of Death caused by COVID-19
    • Daily report of COVID-19 cases in Indonesia.
  • Map of the spread of COVID-19 in Indonesia
  • Data of COVID-19 referral hospital in Central Sulawesi
    • Hospital name
    • Hospital address
    • Hospital phone number
    • Hospital email
  • COVID-19 Task Force post data
    • The location of the post
    • The name of the person in charge
    • Phone number
  • User data
    • Registration
    • Sign in
    • Name
    • Age
    • Location
    • Status COVID-19 (ODP, OTG, PDP, etc.)
    • Phone number

Library & Dependency

project_screen

This application was built using MVVM design pattern. Some of the libraries needed include:

Configuration

  • Clone this repository to your PC/laptop

  • Import it into Android Studio

  • After it was imported into Android Studio, rebuild the project

  • Add Google API Key from the Google Cloud Console to the file main/res/values/strings.xml :

       <string name="API_KEY" translatable="false">Put Your Google API Key Here</string>
  • If you want to change the GeoJson layer on the COVID-19 spread map at MainActivity.java, please replace the file map.json with your GeoJson file

  • To change the column labels in the table, you can change the file /res/values/strings.xml for the English version and /res/values-in-rID/strings.xml for the Indonesian version :

    • main/res/values/strings.xml

         <string name="district">District/City</string>
         <string name="odp">ODP</string>
         <string name="completed_odp">Completed ODP</string>
         <string name="in_odp">In ODP</string>
         <string name="pdp">PDP</string>
         <string name="completed_pdp">Completed PDP</string>
         <string name="in_pdp">In PDP</string>
         <string name="positive">Positive</string>
         <string name="negative">Negative</string>
         <string name="dead">Death</string>
         <string name="recovered">Recovered</string>
    • /res/values-in-rID/strings.xml

         <string name="district">Kabupaten/Kota</string>
         <string name="odp">ODP</string>
         <string name="completed_odp">Selesai ODP</string>
         <string name="in_odp">Sisa ODP</string>
         <string name="pdp">PDP</string>
         <string name="completed_pdp">Selesai PDP</string>
         <string name="in_pdp">Sisa PDP</string>
         <string name="positive">Positif</string>
         <string name="negative">Negatif</string>
         <string name="dead">Meninggal</string>
         <string name="recovered">Sembuh</string>
  • To change text alignment or table column order, you can do it on MyTableViewModel.java and ColumnHeaderModel.java :

    • MyTableViewModel.java

      public class MyTableViewModel {
         ....
      
         private List<ColumnHeaderModel> createColumnHeaderModelList() {
             List<ColumnHeaderModel> list = new ArrayList<>();
      
             // Create Column Headers
             list.add(new ColumnHeaderModel(res.getString(R.string.district)));
             list.add(new ColumnHeaderModel(res.getString(R.string.odp)));
             list.add(new ColumnHeaderModel(res.getString(R.string.completed_odp)));
             list.add(new ColumnHeaderModel(res.getString(R.string.in_odp)));
             list.add(new ColumnHeaderModel(res.getString(R.string.pdp)));
             list.add(new ColumnHeaderModel(res.getString(R.string.completed_pdp)));
             list.add(new ColumnHeaderModel(res.getString(R.string.in_pdp)));
             list.add(new ColumnHeaderModel(res.getString(R.string.positive)));
             list.add(new ColumnHeaderModel(res.getString(R.string.negative)));
             list.add(new ColumnHeaderModel(res.getString(R.string.dead)));
             list.add(new ColumnHeaderModel(res.getString(R.string.recovered)));
      
             return list;
         }
      
         private List<List<CellModel>> createCellModelList(List<District> districtList) {
             List<List<CellModel>> lists = new ArrayList<>();
             for (int i = 0; i < districtList.size(); i++) {
                 District district = districtList.get(i);
                 List<CellModel> list = new ArrayList<>();
                 list.add(new CellModel("1-" + i, district.getName()));
                 list.add(new CellModel("2-" + i, district.getODP()));
                 list.add(new CellModel("3-" + i, district.getFinishedODP()));
                 list.add(new CellModel("4-" + i, district.getInODP()));
                 list.add(new CellModel("5-" + i, district.getPDP()));
                 list.add(new CellModel("6-" + i, district.getFinishedPDP()));
                 list.add(new CellModel("7-" + i, district.getInPDP()));
                 list.add(new CellModel("8-" + i, district.getPositive()));
                 list.add(new CellModel("9-" + i, district.getNegative()));
                 list.add(new CellModel("10-" + i, district.getDeath()));
                 list.add(new CellModel("11-" + i, district.getRecovered()));
                 lists.add(list);
             }
             return lists;
         }
      
         ....
      }
    • ColumnHeaderModel.java

      public class ColumnHeaderModel {
          ....
      
          static final int[] COLUMN_TEXT_ALIGNS = {
             //city name
             Gravity.START, //Rata Kiri
             //pdp
             Gravity.CENTER, //Rata Tengah
             //Finish PDP
             Gravity.CENTER,
             //In PDP
             Gravity.CENTER,
             //odp
             Gravity.CENTER,
             //Finish ODP
             Gravity.CENTER,
             //In ODP
             Gravity.CENTER,
             //positive
             Gravity.CENTER,
             //negative
             Gravity.CENTER,
             //death
             Gravity.CENTER,
             //recovered
             Gravity.CENTER,
         };
      
         ....
      }
  • Base URL API can be changed in the NetworkClient.java file and endpoint in the Api.java file. PICO uses Retrofit to make HTTP requests :

    • NetworkClient.java

      public class NetworkClient {
         ....
      
         private static final String BASE_URL_API = "Put Your API Base Url Here";
      
         ....
      }
    • Api.java

      public interface Api {
      
          @GET("query")
          Call<ResponseBody> getCovidStats(
              @QueryMap Map<String, Object> queryMap
          );
      
          @GET("kabupaten")
          Call<ResponseBody> getAllCity();
      
          @GET("rumahsakit")
          Call<ResponseBody> getAllHospital();
      
          @GET("provinsi")
          Call<ResponseBody> getAllProvince();
      
          @GET("posko")
          Call<ResponseBody> getAllPosts();
      
      }

Status

This project has been released with the latest version 3.0.1 and will continue to be developed.

License

MIT License.

Copyright (c) 2020 Fajrian Aidil Pratama

Contact

Created by @ryanaidilp_ - feel free to contact me!

About

PICO SulTeng (Pusat Informasi COVID-19 Sulawesi Tengah/COVID-19 Information Center of Central Sulawesi) is an android-based application developed to facilitate the people of Central Sulawesi in obtaining information about the current situation of COVID-19 in Central Sulawesi.

https://banuacoders.com/app/pico

License:MIT License


Languages

Language:Java 100.0%