Giter Club home page Giter Club logo

blindover_flutter's Introduction

Deployment

1. 프로젝트를 직접 다운로드 받고 실행하는 과정

  1. Flutter SDK 버전을 확인합니다.
#실행
flutter --version
flutter doctor -v

#결과
[✓] Flutter (Channel stable, 3.10.0, on macOS 13.4 22F66 darwin-arm64, locale en-KR)
    • ...
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • ...
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • ...
[✓] Chrome - develop for the web
    • ...
[✓] Android Studio (version 2022.1)
    • ...
[✓] VS Code (version 1.78.2)
    • ...
[✓] Connected device (3 available)
    • ...
[✓] Network resources
    • ...

• No issues found!
  1. 코드 분석을 진행합니다.
#실행
flutter analyze

#결과
Analyzing blindover_flutter...                                          
No issues found! (ran in 1.2s)
  1. Debug 또는 Release 모드로 Flutter 에뮬레이터로 실행합니다.
#실행
flutter devices
flutter run -d flutter_emulator
flutter run

#결과
...
Started application in 320ms.

Color Reference

손쉬운 사용과 관련된 색상은 Color within Constraints 자료를 참고했습니다.

App design with Figma

어플리케이션 디자인은 피그마 도구로 진행했습니다.

blindover_flutter's People

Contributors

yujinkim1 avatar dependabot[bot] avatar

Forkers

flutter-preview

blindover_flutter's Issues

[FEATURE] App native assets

Description

  • BlindOver 커스텀 에셋을 추가합니다.
  • 네이티브 디바이스에 나타나는 기본 에셋 애플리케이션 에셋으로 변경합니다.

Task

  • App splash 화면
  • Launch 아이콘

ETC

[MAINTENANCE] 빌드 스크립트 작성

Basis

  • 프로젝트 앱 자동 배포를 위해 빌드 스크립트를 작성합니다.
  • 프로젝트 빌드부터 패키징 과정까지 자동화할 수 있습니다.
  • Flutter CLI 명령어를 사용합니다.

Where

  • github/workflows

Which parts

  • GitHub Actions

Expactation

  • AOS, iOS 배포 설정이 완료되면 CI / CD 파이프라인이 구축되고, 이를 통해 빌드, 테스트, 배포 작업을 자동으로 실행할 수 있게 됩니다.
  • Self-hosted Runner를 사용합니다

[MAINTENANCE] Set up a main app build point

Basis

  • 쿠퍼티노 디자인과 머티리얼 디자인을 구분하는 로직을 우선 제거합니다.
  • MainApp() 위젯이 빌드 될 때 필요한 디바이스 권한의 허용 여부에 따라 실행 화면 지점을 바꿉니다.

Where

  • main.dart

Which parts

  • BuildContext가 Builder() 위젯에 주입되는 부분 (Ln 34)

Expactation

  • 사용자가 정상적으로 권한 여부를 확인했으며, 이를 허용했다면 카메라 화면부터 사용이 가능해집니다.

[FEATURE] Camera permission handler

Description

  • 최초 애플리케이션 실행 시 카메라 접근 권한을 요청할 수 있도록 합니다.

Task

  • Initial Screen 생성
  • 카메라 모듈 의존성 추가
  • 카메라 인스턴스
  • 카메라 권한 핸들러

ETC

[DOCUMENT] Add README file contents composition

Description

  • README 파일을 생성하고 간단하게 내용을 추가합니다.
  • 나중에 추가될 내용이 있을 수 있으므로 기본 구성요소만 추가합니다.

Task

  • Deployment
  • Color Reference
  • Design with Figma

ETC

[MAINTENANCE] Pull request template 생성

Basis

  • PR의 내용을 일관적으로 작성할 수 있도록 하기 위해 템플릿을 생성합니다.
  • PR의 단위를 작게 유지해서 무슨 내용을 포함하고 있는지 바로 확인할 수 있도록 합니다.
  • 개인 작업에서도 체계적으로 구분이 필요하다고 느꼈습니다.

Expactation

  • 병합 전에 변경 사항에 대해 다시 검토해보면서 작업 완료 단계에 문제가 없었는지 확인할 수 있을 것으로 생각합니다.

[FEATURE] Send a captured image to REST API server

Description

  • 카메라 프리뷰 화면에서 사용자가 캡쳐 버튼과 상호작용하면 Rest API 서버로 이미지를 전달합니다.
  • 캡쳐 버튼의 액션이 감지되면 서버에 요청을 보낼 수 있도록 해야합니다.

Task

  • Add Dio package
  • #11
  • Request input async function

ETC

1. 실제 테스트 장비에서 확인해야합니다.
2. 사용자가 캡쳐한 이미지를 임시적으로 저장할 공간을 만들어야 합니다.

[FEATURE] Unit testing

Description

  • 하드웨어에 의존하는 필수 패키지와 관련해서 Debug 스크린을 따로 나눠 작업한 것을 삭제하고,
    unit_test 파일로 추상화 클래스를 관리하는 것으로 대체합니다.

Task

  • Camera
  • Picture control
  • Networking

ETC

[FEATURE] Initialize the camera

Description

  • 카메라 사용 권한 여부에 따라서 새로운 카메라를 생성하고 화면에 전달될 수 있도록 합니다.

Task

  • camera reset function
  • camera initializing function

ETC

[BUG] Not in sync with the Podfile

Description

  • The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

Snapshots

Screenshot 2023-08-02 at 16 16 56

Information

  • Flutter Version [3.10.6 stable]
  • Dart Version [3.0.6]
  • Device: [iPhoneX]
  • OS: [iOS 16.6]

Reproduce steps

  • 프로젝트 폴더 내에서 flutter build ios명령어를 통해 Podfile.lock파일을 재설치합니다.

[FEATURE] Picture Controller

Description

  • 카메라 프리뷰 화면에서 사용자가 캡쳐 버튼과 상호작용하면 Rest API 서버로 전달할 이미지를 임시 경로에 저장합니다.
  • 새로운 이미지가 캡쳐되면 기존에 저장된 이미지를 삭제하고 새로 저장합니다.

Task

  • Add path_provider package
  • 이미지를 저장할 임시 경로를 가져오는 함수
  • 이미지를 임시 경로에 저장하는 함수
  • 새로운 이미지가 캡쳐되면 기존의 이미지를 삭제하는 함수

ETC

1. 실제 테스트 장비에서 확인해야합니다.

[FEATURE] Specifying the Semantic Widget

Description

  • AOS의 Talkback 기능과 iOS의 VoiceOver 기능을 사용할 수 있도록 Semantic 위젯을 지정합니다.
  • 음성지원이 필요한 정보를 포함하고 있는 위젯으로 구성합니다.

Task

  • 음성지원 위젯 또는 정보 리스트업
  • Semantic Widget

ETC

  • 테스트 장비에서 진행

[MAINTENANCE] Flutter Version Manager 추가

Basis

  • 왜 이 작업을 수행하려고 하는지 간단한 근거와 설명 작성

Where

  • 어디에 위치한 파일을 말하는지 작성

Which parts

  • Where 파일의 어느 부분을 리팩토링할지 작성

Expactation

  • 리팩토링 후 예상되는 부분에 대한 내용을 작성

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.