0w0

아키텍처 변경 이야기

애플리케이션 아키텍처 변경에 대한 이야기

2022년 입사하고 현재까지 계속 붙들고서 끌고있는 프로젝트가 있어서 이를 정리합니다.

R 버전

java/swift + apache + mariadb + php(관리자페이지) + aws

입사 당시 위 구성으로 외주 업체에서 제작중이었음.

기한에 되어 위 애플리케이션을 받았지만 팀장과 대표와 갈등으로 좌초됨

이후에 수습 과정으로 aws에서 온프레미스 환경으로 이행했음.

N 버전

react + react-native(webview & bluetooth) + spring + mysql + 외주에게 온프레미스 환경 docker로 전달

여러가지 이미지 같은 자원만 실질적으로 다시 활용할 수 있었음.

이를 추려서 다른 외주 업체에 일을 넣으라는 대표님 지시를 받아서 컨셉과 이미지 전달해드림.

문제는 spring를 모르고 배울 마음이 없었다는 것이었음.

그래서 frontend 코드 보면서, fastify와 postgresql로 필요한 것이 무엇인지 추측하면서 개량하기로 했음

N 버전 개량

react + react-native(webview & bluetooth) + fastify + postgresql(온프레미스 환경 docker)

N 버전을 javascript로만 구성할 수 있도록 변경했음.

react로 구현하고 react-native webview로 띄우는 구성이었음.

2가지 의아한 점이 있었음

  1. 사용자의 건강 정보를 회사 자체 서버에 보관하는데 나와 우리 회사가 이런 역량과 투자 의지가 있는가?
  2. 혈당을 재고, 기록을 남길 뿐인 구성인데 굳이 백엔드가 있어야하는가?

L 버전

react-native

회원가입도 필요없고, 서버와 상호작용도 필요없다 생각했음

단순하게 블루투스로 기기와 연동하고 값을 받아 쌓는다.
값은 json 단일 파일로 구성하자.
나중에 서버와 연계가 필요한 것은 상품 광고랑 건강 정보만 api 서버 구성해서 배포하자.

이렇게 시작했음. json 단일 파일보다는 sqlite로 구성하고 그 보관을 유저가 직접하는 것이 낫다고 생각해서 sqlite로 구현했음

그래서 모든 것을 뒤집고 새로 구성함

느낀점