Skip to content

나만의 꽃 도감 만들기 2 - 프론트 화면 구현 1

Last updated: 2025-06-24  •4 min read

꽃 도감 1편 대표 이미지

지난 편에 이어 이번에는 꽃을 검색하고 도감에 등록하는 기능을 가진 프론트 화면을 구현해보겠습니다.

프론트를 구성하는 프레임워크는 flutter를 선택하게 되었는데요, 이유는 다음과 같습니다.

  • 모바일 앱 형태로 구현하고자 했기 때문에 모바일 플랫폼에 최적화된 프레임워크를 선택하고자 했습니다.
  • 프론트 기술을 학습하고자 시작한 프로젝트가 아니기 때문에 AI의 도움을 최대치로 받을 수 있는 플러터를 선택했습니다.
  • 다른 프론트 프레임워크들에 비해 비교적 배경지식이 있어 빠르게 프로젝트를 시작할 수 있을거라 판단했습니다.

이 프로젝트는 기본적으로 3개의 화면으로 구성되어 있습니다.

가장 먼저 꽃을 검색할 수 있는 화면이 있어야할 것이고, 다음으로는 꽃을 등록하는 화면이 있어야할 것이고, 마지막으로는 유저의 꽃 도감 리스트를 볼 수 있는 화면이 있어야할 것입니다.

일단 간단하게 Keynote로 꼭 필요한 UI를 기준으로 화면 레이아웃을 구성해봤습니다.

화면 레이아웃

그리고 Cursor에게 화면 구현을 요청할 것이기 때문에 각 화면별 버튼이나 기능을 자세하게 정의해줬습니다.

저는 맨 처음 보여지는 화면은 꽃을 검색하는 화면이 될 것이고, 이 화면은 최대한 깔끔했으면 좋겠다고 생각했습니다.

왜냐하면 야외에서 꽃을 검색하는데 중요한 포인트는 간편함 + 간략함이기 때문입니다.

그래서 바로 꽃을 찍을 수 있는 카메라 열기 버튼 하나만 놔두고, 사진을 찍은 후에 사진 미리보기, 꽃 이미지 검색, 도감 등록 UI가 보여야한다고 정의했습니다.

다음으로 도감 등록 버튼을 누르면 도감을 등록하는 화면으로 넘어가야하는데요, 이 화면에서는 1편에서 정리한 데이터 검색이 필요할 것이라고 생각했습니다.

예를 들어 첫번째 화면에서 찍은 사진이 꽃 이미지 검색을 통해 해바라기라는 사실을 알게되었다면, 도감 등록에서 꽃 데이터 검색에 해바라기를 입력하는 플로우입니다.

이러면 미리 저장된 해바라기에 관한 데이터를 가져올 수 있을 것입니다. 추가로 메모를 같이 저장할 수 있게끔 했는데, 이는 사진을 찍은 장소나 날짜 등 기타 같이 저장하고 싶은 데이터가 있을 것 같다는 생각에 추가했습니다.

마지막으로 도감 등록 화면에서 등록한 꽃을 볼 수 있는 화면이 있어야하는데요, 이 화면에서는 꽃 이름, 꽃 이미지, 꽃 설명, 꽃 데이터 검색 결과, 메모 등을 볼 수 있어야합니다.

이 부분에서 처음 계획한 3개의 화면보다 하나가 더 추가되었는데요, 꽃 도감 리스트 화면꽃 도감 상세 화면을 분리했기 때문입니다.

사실 이렇게 화면을 구성하다보면 추가해야할 것 같은 기능들이 마구마구 떠오르기 시작하는데요, AI와 함께 개발하는 일명 바이브 코딩에서 중요한 핵심중에 하나는 작게 시작해야한다는 것입니다.

처음부터 너무 복잡한 요구사항을 요청하면 쉽게 코드가 더러워지고 걷잡을 수 없게 되기 때문입니다. 따라서 저는 이정도로 정리한 후 Cursor에게 화면 구현을 요청했습니다.

화면도 간단하고 요구사항도 나름 구체적으로 요청해서인지 UI 자체를 구현하는데는 크게 문제가 없었는데요, 문제가 되는 부분은 이미지 검색 기능이었습니다.

처음 이 프로젝트를 구상했을 때는 꽃 사진으로부터 어떤 꽃인지 알 수 있는 API가 있을 거라 생각했습니다. 그런데 그런 API는 존재하지 않았고, 흔히 사용하는 이미지 검색 API의 경우엔 찍은 사진이 꽃이라는 건 알지만 이게 장미인지, 국화인지는 구별하기 어려운 것으로 확인되었습니다.

그래서 저는 다른 방법을 찾아보기 시작했는데요, 그 방법 중 하나가 바로 구글 랜즈 를 활용하는 것이었습니다.

기존에도 네이버 이미지 검색을 통해 꽃 이름을 찾아보는 식이었는데 훨씬 정보가 많은 구글 랜즈를 활용할 수 있다면 더 좋을 것 같다는 생각이 들었습니다.

아이폰에서는 이미지를 공유할 때 구글앱을 선택하면 자동으로 구글 랜즈로 열리는 기능이 있는데요, 이 기능을 활용해서 찍은 사진을 바로 구글 랜즈로 열 수 있게하면 사용자가 가장 정확하고 빠르게 꽃의 종류를 알아낼 수 있다고 판단했습니다.

화면 레이아웃 화면 레이아웃 화면 레이아웃

꽃 이미지 검색 클릭 후 공유 화면

Section titled “꽃 이미지 검색 클릭 후 공유 화면”
화면 레이아웃 화면 레이아웃 화면 레이아웃 화면 레이아웃

일차적으로 화면과 기능을 구현하긴 했지만, 디테일한 디자인이나 버튼 이름 등 아직 수정해야하는 부분이 너무 많게 느껴집니다.

다음 편에서는 조금 더 보기 좋게 디자인을 수정하고 버튼 이름도 직관적으로 느껴지게 끔 수정해볼 예정입니다.

그리고 아직은 서버를 개발하지 않았기 때문에 1편에서 가공한 데이터를 활용하지 못하는 상황입니다. 이 부분은 추후에 서버 개발 이후 API 연동을 하면서 추가해보도록 하겠습니다.