Skip to content

ho8ae/growpromise

Repository files navigation

쑥쑥약속 - 식물과 함께하는 약속관리 !

다양한 식물카드와 스티커로 자녀의 약속을 재밌게 관리! (2025.05.05 ~ 2026.06.17 v1.0.3)


🔗 App Store

🔗 Google Play Store




💁‍♂️ 서비스 소개



🎈Developers

PE
@Low



🎈 기획 배경



✨ 주요 기능



🛠️ 기술 & 아키텍처



노력한 점

다양한 인터렉티브한 UI/UX를 구현하였습니다.

이미지1 이미지2 이미지2
식물 카드 뽑기 화면 홈 화면 로그인 화면

스켈레톤 UI도 적용하며 유저 사용자 경험을 증가해봤습니다.



느낀점

기획,마케팅,개발,디자인,배포 까지 혼자서 진행했습니다. 개발하는 과정에서 프론트와 서버 설정 그리고 인프라에 대해서 고민을 많이 하게 되었습니다.

이전에는 프론트 쪽의 UI/UX를 맡아서 개발했지만, 이번에는 상태관리와 최적화에 대한 노력을 많이 했다. AI를 사용하면 함수를 호출 할 때 useEffect를 계속해서 사용하게 되는데, 이는 렌더링이 계속되어 효율이 안 좋아지는 걸 알게 되었습니다. 따라서 useMemo를 통한 캐싱 방법과 적절한 useEffect를 사용하려고 노력하였습니다. 또한 zustand를 통해 auth,ui 에 대한 상태관리에 대해 알게 되었고, React Query로 실시간으로 서버의 상태 변화를 통해 서버의 신선도를 측정하여 데이터를 가져오는 것을 알게 되었습니다. 이는 쑥쑥약속의 성장 완료 시 부모 및 자녀에게 데이터를 바로 전달하는 plant에 정말 중요하게 작용했습니다.

이번 프로젝트에서 여러 API를 다루면서 패턴을 중요하게 생각했습니다. 각 routes에 접두사로 API를 나누고, 폴더안에는 controller, validation, routes, services 이렇게 4개로 분리하여 나눴습니다. 그리고 middleware를 통해서 토큰 관리 및 에러 메시지를 관리 하였습니다. 이런 비슷한 도메인을 다뤄본적이 없어서, API를 계속해서 수정하는 등 초기 설정에 대한 안 좋은 코드들이 있어서 서버는 더 예민하게 기획을 해야 겠다고 생각했습니다.

테이블의 확장 및 필드를 용이하게 하기 위해서 postgreSql 를 사용하였고 ORM은 Prisma를 사용했는데, 단순 CRUD를 불러오는 과정이 많아 postgreSql 특성상 메모리를 많이 잡아 먹을까 걱정이 됩니다. 이후 적절한 쿼리를 수정하거나, MySQL 마이그레이션이 필요하다고 느끼고 있습니다.

서버는 아직 트래픽이 몰리지 않고, 비용적인 측면을 고려하여 AWS freetier를 사용하여 단일 서버로 여러 서비스를 하고 있는 서버에 docker-compose를 사용해 환경설정 하였습니다. 이후 트래픽이 생기게 되면 서버의 메모리를 늘리거나, 새로 바꿔야 된다고 생각하고 있습니다. CI/CD 부분에서 deploy할 때 마다, 기존 컨테이너만 삭제하고 이미지와 볼륨이 자꾸 남게되어 한번 씩 정기적으로 정리하게 되는데 이런 것도 자동화를 해야겠다고 생각했습니다.



앞으로 계획

  • 지속적인 분석과 기록을 통해 어플의 관리 방향성 찾기
  • 글로벌화를 고려해 영어, 일본어 추가하기
  • 최적화 및 서버 비용 관리



About

[쑥쑥약속 - 식물과 함께하는 약속 관리 ! ] 의 Front Repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published