안녕하세요 오늘은 첫 미니 프로젝트를 진행하게 되었습니다. 자바와 파이썬을 한 달간 배우고 바로 프로젝트를 진행합니다. 팀원은 저를 포함하여 총 5명이며, 홈 트레이닝 앱을 구현하기로 했습니다.
8월 22일에 발표이기 때문에 총 기간은 20일입니다.
세 가지는 반드시 사용해야 합니다.
① Java
② Gui
③ DB
세 가지 사항을 모두 고려한 결과, 안드로이드 스튜디오를 사용하여 안드로이드 앱을 구현하기로 결정했습니다.
1. 핵심 기능
핵심 기능은 총 크게 A, B, C 세 가지로 나누었습니다.
A는 필수 기능, B는 선택 기능, C는 시간이 남으면 구현하면 좋은 기능으로 정했습니다.
A
- A는 로그인, 회원 정보, 자세 교정, 홈 트레이닝 비디오, 기록 측정, 음성인식
로그인과 회원 정보는 모든 앱의 기본적인 기능이라 반드시 구현해야 합니다.
자체 로그인 서비스와 카카오, 구글 연동해서 연동하기로 했는데 API를 사용하기로 했습니다.
자세 교정과 홈 트레이닝 비디오, 기록 측정 또한 홈 트레이닝 앱에 필수 기능입니다.
마지막으로 음성인식은 사람의 목소리를 인식하는 기능인데 API를 활용하여 구현하기로 했습니다.
B
- B는 랭킹, 스케줄러
체중 감량을 많이 한 순으로 랭킹 시스템을 도입하기로 했습니다. 스케줄러는 사용자의 스케줄을 관리해 주는 기능입니다.
C
- C는 식단, 친구, 결제 기능
식단은 다이어트 식단을 추천해 주는 기능이고, 결제는 유료 결제 기능인데 사용자가 결제를 하면 추가로 부가 기능을 하게 해주는 기능입니다.
2. 사용하는 툴
1. 안드로이드 스튜디오
안드로이드 스튜디오는 안드로이드 및 안드로이드 전용 애플리케이션 제작을 위한 공식 통합 개발 환경(IDE)입니다. 디자인, 개발, 디버깅, 테스트, 배포 등 모든 작업을 한곳에서 편리하게 수행할 수 있는 장점이 있습니다. 또, 유연성이 좋은 그래들(Gradle) 기반의 자동화 프로젝트 빌드 시스템을 사용합니다.
2. 파이어 베이스
파이어 베이스는 구글이 운영하는 백엔드 서비스입니다. 백엔드는 비즈니스 로직이나 데이터 베이스 서버를 구축하는데, 이러한 복잡한 서비스를 지원해 주는 게 파이어 베이스입니다. 파이어 베이스에는 Authentication이라는 사용자 인증에 대한 서비스가 있습니다. 로그인, 회원가입, 비밀번호 찾기 같은 인증 서비스를 몇 분 만에 개발 가능할 정도로 편리합니다. NoSQL 기반으로 사용자의 데이터를 빠르게 저장할 수 있는 장점이 있지만, join 해서 조회할 수 없다는 단점도 가지고 있습니다.
3. 피그마
피그마는 자유롭게 사용할 수 있는 디자인 툴입니다. 일반적으로 UI/UX 디자인이나 디자인 시스템을 만드는 데 쓰이지만, 개발자와 디자이너가 협업할 때에도 많이 쓰이는 툴입니다. 현재 모든 UX 디자인 툴 중에 가장 인기가 있어 피그마를 선택하게 되었습니다.