1. 프로젝트 개요
-
프로젝트의 목적과 배경 (사용자 스토리 및 케이스 스터디)
- 공간적 한계로 인한 개인의 종이책 보관 어려움
전자책의 등장으로 종이책이 사라질 것이라는 전망이 있었으나, 가독성, 시력 및 피로도, 책의 소장 가치 등의 이유로 여전히 종이책을 선호하는 사람들이 많다. 그러나 종이책을 보관하는 데는 공간적 한계가 존재한다. 책을 정리하려니 버리기 아깝고, 중고로 팔려 해도 근처에 중고 서점이나 책방이 없으면 어려운 상황이다.
- 문화 공간의 부족과 대비되는 카페 증가 추이
정부의 ‘책 생태계’ 관련 예산 삭감으로 인해 ‘도서관 정책 개발 및 서비스 환경 개선’ 예산이 지난해 대비 52억 4천만 원, ‘도서관 기반 조성’ 예산은 30억 원 넘게 삭감됐다. 특히, 작은 도서관들은 정부나 지자체의 지원 없이 운영이 어려워 지방 주민들의 문화 공간이 줄어들고 있다.
이에 반해, 코로나 이후 우리나라의 커피 전문점 수는 이전보다 79% 증가했다. 카페의 수가 늘어나면서 다양한 형태의 카페가 생겨나고 있으며, 그중 대표적인 것이 북카페이다. 북카페는 많은 양의 책을 보유한 카페로, 독서와 다양한 음료를 동시에 즐길 수 있는 공간을 제공한다.
이러한 상황에서 두 문제를 해결할 방안으로 카페와 같이 활용 가능한 공간을 활용하여 개인의 책 대여, 반납, 판매를 돕는 플랫폼을 만들고자 한다.
- 프로젝트 개발 과정
- 기술 스택
프런트엔드 : flutter
백엔드 : fastAPI, Docker
-
수행 일정을 기반으로 각 주마다 개발한 내용 정리
프로젝트 개발 과정은 두 파트로 나뉘어 진행되었다. 전반부의 목표는 최소 기능 제품(MVP)을 만드는 것이었고, 후반부의 목표는 디자인적 및 기능적 보완을 통해 앱의 완성도를 높이는 것이었다. 중간 발표에서 보여준 MVP는 최소한의 기능만 구현한 상태였으며, 그 결과는 다음과 같다.
중간 발표 이후 가장 큰 변화는 기업 자문을 통해 일부 기능이 기획 단계와 달라졌다는 점이다. 초기에는 카페를 책 보관과 중개의 장소로 이용하려 했으나, 카페의 양해를 얻는 어려움과 공간 제약 등의 이유로 적절하지 않다는 피드백을 받았다. 이에 대한 해결책으로 공간에 제약을 두지 않고, 등록된 곳 어디서든 책을 보관할 수 있도록 하자는 의견이 나왔다. 따라서 이제는 카페에 국한되지 않고 어디든 책을 거래할 수 있는 장소가 될 수 있다.
또한 사용자 관점에서의 흐름을 고려하여 UI/UX 디자인을 더 구체화하고, 이를 통해 사용자 편의성을 극대화했다. 이렇게 완성된 프런트엔드와 백엔드를 통합하여 전체 시스템이 원활하게 동작하는지 테스트했다. 기획 단계에서 설계했던 주요 기능들이 의도한 대로 잘 작동하는지, 사용자 편의에 거슬리는 부분은 없는지 등을 중점적으로 점검했다.
- 프로젝트 결과
- 수행 결과 (앱의 주요 기능)
본 프로젝트를 통해 완성된 앱의 가장 큰 목표는 사용자들이 원하는 책을 원활하게 찾아서 합리적으로 거래할 수 있도록 하는 것이다. 이를 위해 앱을 세 섹션으로 나누어 구성하였다.
- 홈 페이지: 앱을 실행하면 가장 먼저 보이는 페이지로, 상단에는 앱 로고와 책 검색창이 있다. 홈페이지는 크게 두 개의 탭으로 나뉜다. 하나는 책 목록을 볼 수 있는 ‘책’ 탭이고, 다른 하나는 등록된 거래 장소 목록을 볼 수 있는 ‘책장’ 탭이다. ‘책’ 탭에서는 신규 등록 순으로 나열된 책들과 현재 가장 인기 있는 책들이 리스트로 표시된다. 각 리스트는 오름차순으로 5개까지 보여지며, 오른쪽의 ‘더보기’ 버튼을 통해 전체 리스트로 넘어갈 수 있다. 목록의 책을 클릭하면 제목, 지은이, 출판사, 출판 연도 등의 책 정보와 등록된 개별 책들의 정보를 볼 수 있다. “책장” 탭에서는 사용자가 원하는 위치에 책장 등록 요청을 보낼 수 있다. “책장 등록요청” 버튼을 눌러 책장 이름, 주소, 위치 사진을 첨부하여 요청을 하면 우리가 확인을 통해 책장 등록을 하는 구조이다.
- 책 관리 페이지: 책 관리 페이지는 하단의 네비게이션 바에 있는 오른쪽 책 아이콘을 눌러 이동할 수 있다. 이 페이지에서는 자신이 현재 대출 중이거나, 카페에서 보관 중인 책, 또는 다른 사람이 빌려간 자신의 책 정보를 한 번에 확인하고 관리할 수 있다. 새로운 책을 등록할 때도 이 페이지 내의 ‘새 책 등록하기’ 버튼을 통해 진행된다.
- 마이 페이지: 카카오 로그인을 통해 생성된 유저 프로필을 관리할 수 있으며, 구매 및 대여 내역도 확인할 수 있다.
- 활용 방안 및 기대 효과
활용 방안
- 개인 간 책 거래: 사용자들이 더 이상 필요하지 않은 책을 쉽게 등록하고 판매하거나 대여할 수 있는 플랫폼을 제공함으로써 책을 단순히 보관하는 것에서 벗어나 유용하게 활용할 수 있는 기회를 제공한다.
- 지역 커뮤니티 활성화: 지역 내 사용자가 책을 등록하고 거래 장소로 활용할 수 있는 다양한 장소를 지정함으로써 지역 커뮤니티 내에서 활발한 책 거래가 이루어질 수 있다. 이는 지역 서점이나 카페 등과의 협력을 통해 더욱 촉진될 수 있다.
- 문화 공간 확대: 기존의 북카페나 작은 도서관뿐만 아니라, 사용자들이 등록한 다양한 장소를 통해 책을 보관하고 교환할 수 있다. 이를 통해 다양한 장소가 자연스럽게 문화 공간으로 기능할 수 있다.
- 중고 서적 시장 활성화: 중고 서적 거래가 쉽고 편리해짐에 따라 중고 서적 시장이 활성화될 수 있다. 이는 책의 재활용을 촉진하고, 새로운 책을 구입하는 비용을 절감할 수 있는 장점이 있다.
- 독서 문화 확산: 책을 쉽게 접하고 거래할 수 있는 환경을 조성함으로써 독서 문화를 확산시키는 데 기여할 수 있다. 다양한 책을 접할 수 있는 기회가 늘어남에 따라 독서에 대한 관심과 참여도가 높아질 것이다.
기대 효과
- 공간 활용의 효율성 증대: 책을 보관하는 데 필요한 공간이 줄어들고, 필요한 책만 소유하게 됨으로써 공간 활용의 효율성이 높아진다. 이는 특히 좁은 주거 공간에서 큰 도움이 될 것이다.
- 경제적 이점: 중고 책을 판매하거나 대여함으로써 추가 수익을 창출할 수 있으며, 필요한 책을 저렴한 가격에 구입하거나 대여할 수 있어 경제적인 이점이 있다.
- 환경 보호: 중고 책의 재활용을 촉진함으로써 종이 낭비를 줄이고, 환경 보호에 기여할 수 있다. 이는 지속 가능한 소비 문화를 조성하는 데 긍정적인 영향을 미칠 것이다.
- 사회적 연결 강화: 책을 매개로 한 개인 간의 거래와 커뮤니티 내에서의 상호작용이 증가함으로써 사회적 연결이 강화됩니다. 이는 지역 사회의 유대감을 높이고, 긍정적인 사회적 영향을 미칠 수 있다.
- 문화 및 지식 공유: 다양한 사람들이 자신의 책을 공유하고 거래함으로써 문화와 지식의 확산이 이루어질 수 있습니다. 이는 책을 통한 새로운 경험과 학습의 기회를 제공하게 된다.
5. 프로젝트 후기
이번 프로젝트는 'moca'라는 이름의 책 대여/구매 플랫폼을 개발하는 것을 목표로 진행되었다. 프로젝트를 통해 많은 것을 배울 수 있었고, 동시에 여러 아쉬운 점도 있었다. 프로젝트의 전체적인 경험을 되돌아보며 얻은 점과 부족했던 점을 공유하고자 한다.
얻은 점:
- 실질적인 개발 경험 : 프로젝트를 통해 실제 애플리케이션을 기획하고 개발하는 과정을 경험할 수 있었다. 프런트엔드(Flutter), 백엔드(FastAPI, Docker) 등의 다양한 기술 스택을 활용하여 전체 시스템을 구축하면서 실전 개발 역량을 크게 향상시킬 수 있었다.
- 팀워크와 협업 : 프로젝트를 진행하면서 팀원들과의 효과적인 의사소통과 협력이 중요함을 다시금 느꼈다. 역할 분담과 협력을 통해 프로젝트 목표를 달성하는 과정에서 팀워크의 중요성을 깊이 체감하게 되었다.
- DB 구축 경험 : 데이터베이스를 설계하고 구축하는 경험을 통해 데이터 관리와 구조화의 중요성을 배웠다. DB 스키마 설계부터 실제 데이터 운영까지의 전 과정을 경험하면서 데이터베이스 관리 능력을 향상시킬 수 있었다.
- 시간 관리 및 프로젝트 관리 경험 : 프로젝트의 초기 계획부터 중간 점검, 최종 목표 달성까지의 과정을 통해 체계적인 시간 관리와 프로젝트 관리 능력을 기를 수 있었다. 일정 준수와 목표 설정의 중요성을 실감하며, 효율적인 프로젝트 진행 방법을 배웠다.
- 비즈니스 관점 이해 : 단순히 기술적 구현에 그치지 않고, 앱의 비즈니스 모델과 시장성에 대해 고민하는 과정을 통해 비즈니스 관점을 넓힐 수 있었다. 카페와의 협력 방안, 사용자 유치 전략 등을 고려하면서 서비스의 시장성을 높이는 방법을 탐구했다.
- 브랜딩 경험 : 앱의 이름과 로고를 결정하고, 브랜드 이미지를 구축하는 과정을 통해 브랜딩의 중요성을 배웠다. 사용자가 플랫폼을 어떻게 인식하고, 어떤 가치를 느끼게 할 것인지에 대한 고민이 서비스의 성공에 큰 영향을 미친다는 것을 깨달았다.
부족했던 점:
- 푸시 알림과 같은 부가 기능의 부재 : 사용자에게 중요한 정보를 실시간으로 제공할 수 있는 푸시 알림 기능을 구현하지 못한 점이 아쉬웠다. 푸시 알림은 사용자의 접속을 유도하고, 서비스 이용률을 높이는 데 중요한 역할을 하기 때문에, 이후 업데이트를 통해 반드시 추가할 필요가 있다고 생각했다.
- 아쉬운 UI/UX : 사용자 인터페이스와 경험(UI/UX) 부분에서 부족함을 느꼈다. 초기 와이어프레임과 디자인을 기반으로 구현했지만, 실제 사용자 피드백을 충분히 반영하지 못한 점 등이 아쉬웠다. 더욱 직관적이고 편리한 UI/UX를 제공하기 위해 지속적인 개선이 필요한 것 같다.
- 결제 시스템 구현 부족 : 결제 옵션을 제공하지 못한 점도 큰 아쉬움으로 남는다. 사용자가 편리하게 결제할 수 있는 시스템을 구축하지 못해, 서비스의 완성도가 떨어진 부분이 있다. 향후 결제 시스템 통합을 통해 사용자 편의성을 높일 계획이다.
후기 총평:
이번 프로젝트는 많은 도전과 배움을 통해 큰 성장을 이룰 수 있었던 소중한 경험이었다. 비록 부족한 점도 많았지만, 이를 통해 개선의 여지를 발견하고, 앞으로 나아갈 방향을 설정할 수 있었다. 팀원들과의 협업을 통해 얻은 소중한 경험과 기술적 역량은 향후 프로젝트와 커리어 발전에 큰 도움이 될 것이다. 앞으로도 지속적인 개선과 발전을 통해 더 나은 서비스를 제공할 수 있도록 노력하겠다.