COVID-19 Check-in solution for store using a safe number based on MVVM model.

Related tags

App wave-in-listener
Overview

wave-in-listener

English version : README_EN.md

wave-in-listener 는 매장에 방문한 고객의 개인안심번호를 음파통신을 이용해 수신할 수 있는 앱입니다.

이 앱은 wave-in-speaker 앱과 함께 사용됩니다.

wave-in-listener 의 장점

  1. QR 코드를 직접 인식하거나, 수기명부에 번호를 적는 번거로움없이 음파통신으로 개인안심번호를 수신할 수 있습니다.
  2. 매장에 방문한 고객의 리스트를 방문시각과 함께 앱에서 한 눈에 확인할 수 있습니다.
  3. 매장에 방문한 고객의 리스트 파일을 버튼 한 번으로 추출할 수 있습니다.

앱 실행 방법

  1. 오디오 녹음 권한과 저장소 사용 권한을 허용해주세요.

  2. 방문자 확인 시작하기를 눌러주세요.

    음파통신을 이용하여 매장에 방문한 고객의 개인안심번호를 수신하기 시작합니다.

    잠시 후 수신이 완료되면 체크 표시를 확인할 수 있습니다.

  3. 매장 방문 기록 조회 화면에서 매장에 방문한 고객의 리스트를 모두 확인할 수 있습니다.

  4. 방문 기록 추출하기 버튼을 통해 매장에 방문한 고객의 리스트를 파일로 추출할 수 있습니다.

Euphony-library

Official Facebook Page : https://www.facebook.com/euphonyproject
Official Library Site : https://dev.jbear.co/euphony

License

'Check-in-listener' is licensed under the Apache 2.0 license. License-link

Comments
  • 파일 접근 에러

    파일 접근 에러

    어제까지 잘 돌아가다가 갑자기 오늘, 코드 수정도 안했는데 정말 갑자기 생긴 오류여서 @euphony-io/eu-us 여러분의 단말기에서는 어떤지 테스트를 해주시면 감사하겠습니다..!!!!

    앱을 삭제 후 다시 빌드+실행하거나, 단말기를 연결을 해제했다가 다시 연결하는 경우에 기존에 존재하는 폴더/파일에 Permission denied 에러가 발생합니다 java.io.FileNotFoundException: /storage/emulated/0/Documents/check/VisitorList.csv: open failed: EACCES (Permission denied) 그 상태에서 경로를 새로운 폴더로 변경해주고 다시 실행해보면 잘 돌아가구요! 앱 삭제나 단말기 연결 해제 없이 실행하면 존재하는 폴더여도 잘 돌아갑니다. READ_EXTERNAL_STORAGE 권한을 추가해도 오류는 그대로입니다 ㅠㅠ!

    그래서 우선 여러가지 에러 테스트를 위해 새로운 경로를 만들었습니다 (#37 PR 커밋 내역 - 파일경로변경) 해당 경로로 파일 추출 + 이 이슈까지 테스트 부탁드려요 ..💞🙏🙏

    bug 
    opened by sujin9 9
  • 토스트 메시지 추가

    토스트 메시지 추가

    파일 추출할 때 토스트 메시지 추가했습니다! (#44) ss

    그리고 파일 생성 및 추출 과정에서 만약을 위해서 예외처리도 추가했습니다 :)
    (만약 오류가 생기면 토스트 메시지도 다르게 뜹니다!)

    view model에서 추출 성공/실패 여부를 받아 view에서 토스트를 실행하기 위해서 해당 파일 추출 함수에서 반환값을 얻어야 했기 때문에 Thread는 Runnable 대신 Callable로 구현하였습니다.

    토스트 메시지 디자인이나 문구도 한 번 봐주세요! 😉

    opened by sujin9 8
  • 리드미 파일 초안 및 수정 방향 논의

    리드미 파일 초안 및 수정 방향 논의

    Check-in-listener

    'Check-in-listener' is a sound wave reception application using the 'euphony' library. It can be used as a facility entry roster in accordance with the COVID-19 Prevention Guidelines.

    Prerequisite

    • Allow audio recorder and storage permission to run the app.

    결과01 결과02

    How-to-use

    1. Click 방문자 확인 시작하기 button to start receiving sound waves.

    캡처03

    1. If you want to stop receiving sound waves, click 방문자 확인 중지하기 button.

    캡처04

    1. Click 매장 방문 기록 조회 button to check your visit history

    캡처05

    1. 방문 기록 추출하기 button will extract the history of visit to a csv file.

    캡처06

    Euphony-library

    Official Facebook Page : https://www.facebook.com/euphonyproject Official Library Site : https://dev.jbear.co/euphony

    License

    'Check-in-listener' is licensed under the Apache 2.0 license. License-link

    opened by dlwlstks96 6
  • CSV 파일 삭제 후 재생성 오류

    CSV 파일 삭제 후 재생성 오류

    CSV 파일을 만들고, 해당 경로로 이동해 직접 삭제한 후, 다시 전송버튼을 눌러 파일 재생성을 시도하였더니, val fileWriter = PrintWriter(FileWriter(csvFile)) 이 라인에서

    E/AndroidRuntime: FATAL EXCEPTION: Thread-5
        Process: com.android.check_in_listener, PID: 14807
        java.io.FileNotFoundException: /storage/emulated/0/Documents/VisitorsList/VisitorList.csv: open failed: EEXIST (File exists)
    

    이런 오류가 발생하였습니다. VisitorsList 폴더 자체를 지우고 다시 시도할 때 폴더는 다시 만들어져있던데, 파일은 다시 생겨있지 않고 오류가 발생합니다. 전송 버튼을 누를 때마다 csvFile.createNewFile() 이 실행되고 있는데, 어떻게 해야 좋을까요 ㅠㅠ?

    opened by sujin9 6
  • 안심번호 수신 및 저장 완료 동작 추가

    안심번호 수신 및 저장 완료 동작 추가

    지금까지 올라온 PR 머지하고 충돌 제거해서 PR 올립니다.

    1. 로딩다이얼로그 해결 #36
    2. 개인안심번호 수신 후 DB에 저장했을 때를 감지하기 위하여 LiveData를 추가했습니다.
    3. 저장 완료를 감지할 수 있게 되었기 때문에, 사용자에게 완료를 알려주기 위한 체크 애니메이션을 추가했습니다.
    opened by Jsueeee 5
  • Add : Export room data to csv file

    Add : Export room data to csv file

    처음 해보는 내용이고, 코틀린도 익숙하지 않아서 제대로 됐는지 조언을 얻고자 올립니다!!! 피드백 부탁드려요!!!!!

    +) SD 카드에서 \Documents 폴더 안에 VisitorList 폴더를 만들고 그 안에 VisitorList.csv를 저장하도록 했고, 실행하면 해당 위치에 csv 파일이 생긴것까지는 확인했습니다! (경로나 파일 이름도 좋은 아이디어 있으면 주세요!!) 그런데 아직 저장된 데이터가 없어서 데이터가 잘 저장되는지는 확인을 못했네요 ㅠㅠ! (혹시 데이터를 직접 넣어서 확인해볼 방법이 있을까요?? 🤔🤔)

    opened by sujin9 4
  • 디자인 수정 + 매장 방문자 리스트 확인 화면 추가

    디자인 수정 + 매장 방문자 리스트 확인 화면 추가

    1. 스피커 앱과 비슷하게 디자인을 전면 수정했습니다. (문구 수정 진행중)

    2. 매장에서 방문자의 리스트를 확인할 수 있도록 방문기록 화면을 추가했습니다.

    3. 기존 메인액티비티에 있던 csv 파일 추출 버튼은 화면 구성 상 매장 방문 기록 조회 화면에 위치하는 것이 낫겠다는 생각이 들어 위치를 바꿨습니다. (함수들 위치도 VisitorListActivity, ViewModel로 변경) -> 원래 위치가 더 보기 좋을 것 같다는 의견도 좋습니다! 코멘트 부탁드려요.

    4. 방문자 리스트 확인을 위한 리사이클러뷰를 넣었습니다.

    5. 저번에 @sujin9 수진님이 레포지토리 사용을 권유해주셨는데, 리사이클러뷰를 넣는 과정에서 같이 넣어보았습니다. 수진님이 만드신 csvFile 추출 쪽의 getAll은 List 형으로 일단 놔뒀습니다. 라이브데이터로 바꾸실 의향 있으면 한 번 봐주세요! (리사이클러뷰에서 데이터가져오는 부분은 라이브데이터형으로 만들어놨습니다.)

    커밋을 나름 세분화하려고 해서, 많긴 하지만 커밋별로 봐주시면 감사하겠습니다 :)

    opened by Jsueeee 3
  • Euphony Import, Listener함수 ViewModel에 구현

    Euphony Import, Listener함수 ViewModel에 구현

    너무 오랜만에 올리네요 ㅠㅠ 죄송합니다. 우선 Euphony import한 뒤에 listener 구현해봤습니다. 마이크 권한을 받아와야 되는데 아직 mvvm모델에서 권한은 어떻게 받아와야 하는지를 잘 모르겠어서 조금 헤매고 있습니다. ㅠㅠ 이부분만 해결하면 listener는 얼추 완성된 것 같습니다. 시간 남으면 받아온 데이터를 저장하는 것까지 저희가 구현해보겠습니다! 피드백 환영합니다!

    opened by YoungSeokHong 3
  • 리스너(Euphony) 함수 추가 및 MainActivity에 onClickListener 추가

    리스너(Euphony) 함수 추가 및 MainActivity에 onClickListener 추가

    죄송합니다 생각보다 CMake에 오래 잡혀있느라 PR이 늦었네요ㅠㅠ

    우선 진산님하고 만들기로 한 리스너를 만들기 위해서 버튼을 받아오는 onClickListener를 만들고 listener()함수를 viewModel에 만들었습니다. 코틀린도 처음이고 mvvm 모델도 처음이라 맞게 한건지 모르겠네요ㅠㅠ 혹독한 피드백 부탁드립니다!

    opened by YoungSeokHong 3
  • 리스너를 이용해서 정보를 받아오면 앱이 다운되는 버그 수정 #39

    리스너를 이용해서 정보를 받아오면 앱이 다운되는 버그 수정 #39

    MVVM모델을 사용하면서 View의 isSuccess.observe 에서도 Euphony Listener를 부르고 VM에서도 Euphony Listener를 불러서 계속해서 오류가 났던 것 같습니다. 쉽게 말씀드리면 mRxManager.listen()을 한다음에는 반드시 mRxManager.finish()를 호출해야되는데 mRxManager.listen()를 호출한 뒤에 다시 mRxManager.listen()을 호출하거나 그 반대로 하거나 해서 Euphony 네이티브에서 충돌이 일어난 것 같습니다. 우선 isListening을 VM내부에서만 사용하도록 했는데, 이를 LiveData로 바꾸는 시도를 해봐야할 것 같습니다. 제가 계속 체크했어야 했는데 함수만 덜렁 만들어놓고 너무 안일했네요ㅠㅠ 죄송합니다. 버그 있으면 계속해서 Issue 작성 부탁드립니다!

    opened by YoungSeokHong 2
  • 로딩 다이얼로그 관련 UI 버그

    로딩 다이얼로그 관련 UI 버그

    처음 기본화면에서 매장 방문 기록 조회 버튼을 클릭하고 다시 뒤로가기 버튼으로 돌아오면 마이크가 신호를 수신 중이지 않을 때도 로딩 다이얼로그가 돌아가는 버그가 있습니다.

    image

    우선 초기에 loadingCircle을 선언할 때 visibility를 false로 안해줘서 이러한 오류가 나타나는 것 같아 visibility를 false로 설정해줬더니 이러한 문제가 발생하지 않았습니다. 피드백 해주시면 바로 PR올리겠습니다!

    private fun setLoadingCircle(){
            loadingCircle = FadingCircle()
            loadingCircle.color = Color.parseColor("#57AEFF")
            loadingCircle.setVisible(false, false)
        }
    

    추가적으로 btnVisitorList의 onClickListener에도 endListen() 함수를 추가시켜 주는 것은 어떤지 의견 듣고 싶습니다!

    opened by YoungSeokHong 2
Owner
Euphony
Euphony is the open source soundless acoustic telecommunication library ❤️
Euphony
A simple covid-19 response application to give users an idea of the severity of their covid-19 status and profer steps to take based on the severity.

COVID-19 Response ?? A simple covid-19 response application to give users an idea of the severity of their covid-19 status and profer steps to take ba

Samson Achiaga 5 Oct 4, 2022
Whatsapp based Phone number verification.Verify your phone number easily through whatsapp

Whatsapp Based Login Try this to implement fastest phone number verification system [ ⚡ ] Verify your phone number through whatsapp android LinkedIn B

MorningStar 10 Jun 21, 2022
UML model and code examples of design patterns for Kotlin/Native. The model is created with Astah.

Design Pattern Examples in Kotlin/Native Model and code examples of GoF Design Patterns for Kotlin/Native. This project is available for the following

Takaaki Teshima 3 Jun 27, 2022
An App based on MVVM architecture to track & store a user's runs using Google Maps, with options to view & sort the runs as per the user's choice along the with option to run the app in background.

An App based on MVVM architecture to track & store a user's runs using Google Maps, with options to view & sort the runs as per the user's choice along the with option to run the app in background.

Harshit Maheshwari 1 Jun 9, 2022
This Andoird project is about classifying garbage pictures using a CNN-based Tensorflowlite model and fetching location using GPS to mark its area on the map.

Grbage_Detector_And_Locator Description As per some of the recent reports published, in India, the pollution levels are increasing at a colossal pace

Sayantan Banerjee 5 Mar 5, 2022
Veyron - Covid 19 analysis using OWID data

veyron Covid 19 & Vaccine history representation by country. The app was designe

Nino Matassa 0 Feb 10, 2022
A movies application built Using clean architecture and MVVM (Model-view-viewModel).

Movies-App This is a movies application which fecthes upcoming and popular movies from the movie Database(TMBD). It is built Using clean architecture

Felix Kariuki 4 Dec 20, 2022
EU Digital COVID Certificate Wallet App - Android

This repository contains the source code of the EU Digital COVID Certificate Wallet App for Android.

null 57 Oct 6, 2022
An android app that displays statistics about covid-19 vaccinations and enables the user to make a dummy appointment.

AndroidApp An android app that displays statistics about covid-19 statistics and enables the user to make a dummy appointment. This a simple android a

Thodoris Kanellopoulos 7 Oct 2, 2022
Tutorial Membuat Aplikasi Pencarian Rumah Sakit Khusus COVID-19 dengan Android Studio

Hospital-Covid-19 Tutorial Membuat Aplikasi Pencarian Rumah Sakit Khusus COVID-19 dengan Android Studio Data ini diambil dari API https://github.com/s

Azhar Rivaldi 7 Aug 23, 2022
COVID-19 Diagnosis at Ease

Cough It COVID-19 Diagnosis at Ease Inspiration As the pandemic has nearly crippled all the nations and still in many countries, people are in lockdow

null 12 Jan 11, 2022
Aplikasi Deteksi Dini Covid-19 dengan rekaman batuk yang dikembangkan oleh tim CSD-123 dari Dicoding Academy

Decotuk_app Sebuah Aplikasi Deteksi Dini Covid-19 dengan rekaman batuk yang dikembangkan oleh tim CSD-123 dari Dicoding Academy, Aplikasi ini dibangun

Muhammad Khaidar Rahman 2 Mar 15, 2022
Covid-19 Tracking application

Covid-19 Covid-19 Tracking application An open-source Android COVID-19 tracking app built using core UI components from the Robinhood stock trading ap

null 1 Dec 29, 2021
Covidapp - The COVID-19 crisis and social distancing had a significant impact on our lives

Covid App The COVID-19 crisis and social distancing had a significant impact on

Abhinav 1 Jan 10, 2022
Covid Tracker - Show Details of Corona virus cases of all affected country

Covid_Tracker Based on MVVM Architecture Show Details of Corona virus cases of a

inderjeet yadav 1 Feb 27, 2022
This project shows trending github repositories using MVI (Model View Intent) using kotlin flows and multi module clean architecture

GithubTrendingMVIFlow Build Architecture: This project shows trending github repositories using MVI (Model View Intent) using kotlin flows and multi m

Zulqurnain Haider 0 Jun 2, 2022
Book selling application with MVVM (Model, View, ViewModel)

Book selling application with MVVM (Model, View, ViewModel), LiveData, DataBinding, Retrofit, Room Database, Navigation Component(NavGraph, BottomNav), ViewPager2 in TabLayout, SearchView, Vertical Adapter(BestSellers) and Horizontal Adapter(All Books) with ConcatAdapter for Main Screen, Firebase Auth, SearchView in Adapter, Picasso, Lottie, Animated Svg for Splash

Caner Türe 60 Dec 26, 2022