선물 기록 어플리케이션을 만들어야겠다! 생각하고나서
바로 했던 행동은 필요한 기능을 정리하는 것이었다.
어플 자체가 단순했기 때문에 기능도 단순하다.
1. 친구를 저장하고
2. 선물을 저장하는 것
정리해보면
1. 친구 정보 등록/수정/삭제/조회
2. 선물 등록/수정/삭제/조회
3. 회원(로그인/회원가입/회원탈퇴/로그아웃)
딱 이 3가지부터 만들어보기로 정했다.
내가 개발해낼 수 있는 기능이면서도 딱 내가 생각했던 기능들로만 이루어져있기때문에
나중에 뭘 더 추가한다면
- 선물 공유
- 선물하기 기능(스토어처럼)
이렇게 될 것 같다!
아키텍쳐 패턴으로는 MVVM을 사용해보기로 했다.
MVVM을 이론으로 공부하고 실습을 진행해도 와닿지는 않았기때문에
직접 애정을 가지고 만들다보면 이해가되고 와닿지않을까?한 이유에서!
그리고 MVVM과 함께 언급되는 AAC도 사용했다.
Livedata, databinding, viewModel을 사용했고 거기에 repository 패턴도 적용했다.
한 마디로 이 프로젝트는 내가 하고싶은 걸 다 적용해본 프로젝트이다!
데이터베이스는 firebase의 realtime database를 사용하기로 했다.
왜 realtime database를 사용했어?하며 묻는다면
세탁 정보 공유 어플리케이션을 만들어보면서
직접 php로 mysql과 연동해서 쿼리를 작성하고, 암호화를 하고,,
시간을 많이 쏟아야하고 신경 쓸 것도 많았다.
인턴을 하며 배운 spring으로 작업해도 되지 않나?싶지만
당장 안드로이드 개발자를 준비하는 입장이면서
빠르게 어플을 배포해서 결과물을 내놓아야겠다라고 생각했다.
왜냐면 취업공고를 보았을 때 우대사항에 빼놓지않고 적혀있는 부분인
'배포하고 어플리케이션을 개발하고 운영한 경험'을 충족시키고싶었다.
그리고 이런 이유를 다 떠나서라도 빠르게 내가 만든 어플을 빨리 배포해보고싶었는데
딱 firebase가 적합하다고 생각되었다.
물론 나중에는 혼자 백/프론트 다 하는 사람이 되고싶기도 하다.
배운 지식들을 모두 활용할 수 있으니까!
아무튼 근데 realtime database를 선택해서 후회를 하기도 했다.
나는 NoSQL은 한 번도 사용해본적도 없었다.
항상 테이블이 있는 MySQL에 익숙해져있었고,
데이터 타입을 신경쓰고 관계도 신경쓰고 했는데
NoSQL은 그런게 없었고 마치 JSON같다고 생각되었다.
그래서 구조를 어떻게 짜야하나
어떻게 짜야 최선일까 고민하다가
이렇게 짜 보았다,,,
어떻게 짜야 최선일지는 아직도 모르겠지만
조금 더 공부해가다보면 더 좋은 구조로 변경될테니까!
일단은 이렇게 마무리했다.
어?이렇게 하는거 아닌데,,,
이렇게~ 저렇게~하면 더 좋을 것 같은데,,,
하는 생각이 문득 드셨다면 댓글로 남겨주시면 감사하겠습니다! 😉
'Android > Senty' 카테고리의 다른 글
[Senty] 화면 디자인을 변경해보았다. (0) | 2022.07.27 |
---|---|
[Senty] 프로젝트를 리팩토링해보자 (0) | 2022.07.20 |
[Senty] 선물 기록 어플리케이션 - 출시 (0) | 2022.03.15 |
[Senty] 선물 기록 어플리케이션 - 화면 디자인 (0) | 2022.02.23 |
[Senty] 선물 기록 어플리케이션을 만들게 된 이유 (0) | 2022.02.21 |