[사이드프로젝트(1)] 사이드 프로젝트 MyPlace를 시작하다

aeong98·2022년 4월 4일
0

프로젝트

목록 보기
1/3

사이드프로젝트 MyPlace 를 시작하면서 남기는 글입니다.

🏡 Myplace

마이플레이스란?

내가 방문했던 곳의 기록을 남기고, 이를 다른사람들과 공유하는 서비스다.

- 다른 맛집리뷰, 장소 리뷰 서비스와의 차이점?

날짜순 대로 일기장처럼 장소에 대한 기록을 남길 수 있다.
나만 볼수 있는 일기장과
다른 사람들과 공유할 수 있는 일기장이 나눠져 있다.
✅ 다른 친구에게 초대장을 보낼 수 있다.

- 만들게 된 계기

1️⃣ 개인적으로 꼼꼼한 성격이 아니라, 갔던 장소도 까먹기 마련..
2️⃣ 그날 내 감정과, 기분과 함께 장소에 대한 기록을 간단하게 남길 수 있는 공간이 있었으면 좋겠다는 생각이 들었다.
3️⃣ 그리고 혼자 볼 수 있는 일기장과 공유할 수 있는 일기장을 분리해 사적인 기록과 공적인 기록의 게시물을 따로 확인할 수 있으면 좋지 않을까?
4️⃣ 그리고 좋았던 장소면, 친구에게 바로 초대장을 보내 나중에 함께 가자는 마음을 전달할 수 있으면 더 좋을 것 같다!

🖥 기술스택

  • 프론트엔드
    • Next.js, Typescript, SASS
    • Redux Toolkit
    • Storybook, Jest, React Testing Library
  • 백엔드
    • Firebase
      • Firebase Authentication
      • Firebase Realtime Database
      • Firebase Function

기술스택 선정 이유

우선 Next.js 를 선정한 이유는 SSR을 적절히 활용하면, 사진 게시물과 같이 정적인 페이지를 미리 캐싱해 보여줄 수 있기 때문에, 그리고 커뮤니티 서비스이니 만큼 장기적으로 SEO 최적화를 고려한다면 Next.js 를 사용하는 것이 적절한 것 같다. 상태관리 라이브러리로는 보일러 플레이트가 적고 간결한 Redux Toolkit, react query 는 firebase 실시간 데이터베이스 사용하면, 굳이 필요없을 것 같아 우선 기술 스택으로 선정하지 않았다.
백엔드로는 Firebase 를 선택했다. 이유는, 나혼자 풀스택으로 프로젝트를 진행하기로 결정했기 때문. 서버 구축에 드는 시간적 비용을 줄이기 위해 서버리스 서비스를 도입하기로 결정했다. 개인적으로 파이어베이스의 실시간 데이터베이스 기능이 강력하고, 또 내 서비스 특성상, RDBMS 를 쓸만큼 스키마들의 관계가 복잡하지 않을 것 같아 JSON 트리 형태로 데이터를 관리할 수 있는 Firebase 를 도입하게 되었다. (편리한 소셜 로그인 기능과, Function 은 덤^0^, 가격도 거의 무료다)

💡 앞으로의 계획

  • 세달 동안 프로젝트를 마무리하고 베타테스트를 진행한다
  • 4월 : 프로젝트 세팅 / 회원가입 및 로그인 마이페이지 / 지도 검색 및 일기장 작성 기능 완성
  • 5월 : 공유된 일기장 볼 수 있는 커뮤니티 구성 (피드, 댓글, 좋아요)
  • 6월 : 장소에 친구 초대하기 -> 카카오 API 연결해서 친구에게 공유할 수 있는 기능 / 팔로우 기능 완성
  • 그리고 사이드프로젝트를 진행하면서 배운 기술지식은 최대한 기술블로그에 기록으로 남긴다.
  • 트러블 슈팅과 관련된 부분은 깃헙 이슈로 남긴다.
  • 일정관리와 계획은 노션으로 정리한다.
  • 기록을 습관화할 수 있도록 노력한다.
profile
프린이탈출하자

0개의 댓글