App 개발 일지 37

Nutri Capture 프론트엔드 - NavHost

#1 개요#1-1 Scaffold의 bottomBar Nutri Capture 프론트엔드 - Scaffold#1 개요#1-1 첫 삽 뜨기무엇부터 손을 대야할 지 감이 잡히지 않는다. 프로토타이핑을 한번 더 해야 하나? 소프트웨어 모델링이라는 건 뭐지... 이걸 먼저 공부해야할까? ...  여러 의문이 든다. 그kenel.tistory.com이전 게시글에서 Scaffold를 만들었다. 해당 Scaffold에는 대부분 앱의 전형적인 구조로서 포함되는 NavigationBar를 넣을 것이다. 그러기 위해서 먼저, NavHost부터 만들어둘 필요가 있다. #1-2 NavHost 구현 [Android] Jetpack Compose - Navigation 기초#1 개요#1-1 전통적인 안드로이드 프로젝트에서의 Na..

Nutri Capture 프론트엔드 - Scaffold

#1 개요#1-1 첫 삽 뜨기무엇부터 손을 대야할 지 감이 잡히지 않는다. 프로토타이핑을 한번 더 해야 하나? 소프트웨어 모델링이라는 건 뭐지... 이걸 먼저 공부해야할까? ...  여러 의문이 든다. 그래도 분명한 건 앞으로 내가 핵심적으로 공들여야할 무언가(핵심 과제)는 분명 존재할 것이라는 사실이다. 가령 프론트엔드에서 매끄러운 애니메이션을 구현해야한다거나 생명주기를 말끔하게 처리하는 작업들이 그 예일 것이다. 그 과제까지 닿기 위해서 먼저 확실히 해두어야 하는 것들부터 먼저 처리해야한다. #1-2 Scaffold [Android] Jetpack Compose - Scaffold#1 개요#1-1 Scaffold의 사전적 의미Scaffold는 비계((건설) 높은 곳에서 공사를 할 수 있도록 임시로 설..

Nutri Capture 방향성 - 살아남는 앱이 되려면

#1 앱의 인기는 끝났다 앱의 인기는 끝났다당신의 폰에는 이미 앱이 꽉차 있다. 그래서 당신은 이제 새로운 앱을 다운로드 하지 않는다. 새롭게 앱을 출시하는 앱개발사나 앱퍼블리셔는 지속해서 증가하고 있지만 어느 순간 앱마켓이 포brunch.co.kr일단은 잘 만들려고만 했다. 잘 만드는 건 어렵다. 그래도 문제될 건 없다. 어려워도 해내면 된다. 하지만 진정한 문제는 나의 능력이 아니라, 현실이다. 사람들은 이제 앱을 다운로드하지 않는다. 더 정확히는, 새로운 앱을 다운로드하지 않는다. #2 살아남은 앱들의 특징#2-1 네 가지 분류다른 사람들의 마음을 헤아릴 것도 없다. 당장 나부터 쓰는 앱만 쓴다. 그 앱들은 크게 4가지 분류로 나뉜다고 생각한다. (1) 국민 누구나 쓸 정도의 앱, (2) 반강제적으..

Nutri Capture 방향성 - UI 스케치

#1 UI 스케치#1-1 개요먼저, 3개의 프래그먼트를 가지는 내비게이션 바를 만든다. 사용자는 '오늘' 프래그먼트, '통계' 프래그먼트, '나' 프래그먼트 중 하나를 선택할 수 있다. 기본 프래그먼트는 '오늘' 프래그먼트다. #1-2 '오늘' 프래그먼트'오늘' 프래그먼트는, 그 날 먹은 식품에 대한 정보를 표시한다.  + 버튼을 눌러서 아이템을 추가할 수 있다.
하루하루의 단위를 구분하는 Container는 ViewPager2 속에 담기게 구현한다. 각 Container는 스크롤로도 이동할 수 있고, ↑ 또는 ↓ 버튼으로도 간편하게 이동할 수 있다. 처음에 1안을 구상했으나, 2안도 괜찮아보여서 둘 다 업로드했다. 2안으로 갈 것 같다. 영 별로면 1안 또는 아예 새로운 디자인을 시도해보겠다. #1-3..

Nutri Capture 백엔드 - ERD

#1 ERD필수적인 테이블만 만들었다. 나중에 테이블을 추가해 넣을 가능성이 아주 높기에, 모든 테이블을 Non-Identifying Relationship으로 연결했다. 각 테이블의 모든 기본키는 AUTOINCREMENT가 Default값이다. nutrient 테이블은 100g 당 함유된 영양소가 기준이다. nutrient 테이블의 외래키 f_num는 UNIQUE KEY이고, 외래키 제약 조건인 ON CASCADE DELETE을 달아두었다. #2 코드 - SQLiteCREATE TABLE user ( -- 사용자 u_num INTEGER PRIMARY KEY AUTOINCREMENT, -- 사용자 번호 u_name TEXT, -- 닉네임 u_sex TEXT NOT NULL DE..

Nutri Capture 방향성 - 앱의 목적, 유스케이스 다이어그램

#1 앱의 목적과 여담Nutri Capture는 몇 년전에 번뜩 떠오른 아이디어로 만든 앱이었다. 대학교에서 안드로이드 수업을 듣던 중 구글의 ML Kit에 대한 내용이 나왔다. ML Kit는 이미지 속에서 텍스트를 뽑아내거나 카메라로 얼굴을 인식하는 등의 기능이 담긴 딥러닝 라이브러리다. 교수님은 ML Kit의 다양한 기능 중 하나를 활용해 앱을 만들어보라는 과제를 주셨다. 그리고 그 때 내 옆에는 프링글스 과자가 있었다. 프링글스의 원통 포장지에 인쇄된 영양성분표가 눈에 들어왔다. 그렇게 해서 얻은 아이디어였다.하지만, "어떤 상상을 하든 이미 그것은 특허로 등록되어있다."라는 말도 있지 않은가. 이 앱도 마찬가지다. 이미 해외에 굉장한 다운로드 수를 보유한 비슷한 앱이 있었다. 그렇다고 멈추진 않는..

Nutri Capture 방향성 - 앱의 리팩토링 및 업그레이드

#1 개요 GitHub - Kanmanemone/Nutri_Capture: 영양성분표 스캔 및 영양 관리 앱영양성분표 스캔 및 영양 관리 앱. Contribute to Kanmanemone/Nutri_Capture development by creating an account on GitHub.github.com대학생 시절 만들었던 앱 'Nutri Capture'를 리팩토링하고, 여러 기능을 붙이는 프로젝트를 시작한다. 위의 깃허브 링크는 예전 버전의 앱이다. #2 리팩토링 목표이 앱의 코드는 시간이 꽤 지났기 때문에, 분명 몇몇의 라이브러리는 Deprecated되었을 것이다. 최신 라이브러리로 대체할 필요가 있다. 또, 이 앱에서 다크 모드에서 실행이 안되는 에러를 고치다가 도중에 그만두었던 기억이 난..