Skip to content

Latest commit

 

History

History
132 lines (102 loc) · 7.53 KB

README.md

File metadata and controls

132 lines (102 loc) · 7.53 KB

🥳 위프, we are friend! 🎈

WeF 바로가기 ⏩️ https://main.daegm2i4mn3we.amplifyapp.com
team Notion ⏩️ https://sumptuous-devourer-e77.notion.site/2-we-are-friends-bf4c7ed5ce7f4da88186c275c221bb2c


📍 table of contents

  1. team
  • taem member introduction
  • team Github
  1. project
  • project introduction
  • major skill
  • project architecture
  • ERD
  • skill stack
  • skill stack & library cause of utilization
  • trouble shooting

⚽️team

taem member introduction

Role Name Github
FE 리더 박소영 https://github.com/0001401
FE 윤보라돌이 https://github.com/Yboda
BE 부리더 이진석 https://github.com/metroz1
BE 강희(휘)인 https://github.com/Online-abayss
BE 김지애주가 https://github.com/kimjiae970
Design 조효은 https://github.com/Ashy333

team Github

project

project introduction

we are friend! 위프 🥳

우리끼리, 사회성 증진 프로젝트!
소중한 친구들과 약속을 잡고, 순간의 아름다운 추억들을 공유하세요!
🙋🏻‍♀️ “우리 그 때 어디 갔지?” 🙆🏻‍ “우리 그날 뭐 했지?”
이런 고민은 이제 그만! ✋🏻
위프에서 친구들과 함께 그룹을 생성해, 만날 약속을 잡고, 그날의 사진들을 공유해 보세요!

major function

✨ 그룹 생성
✨ 일정 생성
✨ 앨범 생성
✨ 일정 참여
✨ 댓글 달기

project architecture

ERD

skill stack

🧶 FrontEnd


🧵 BackEnd

📝 skill stack & library cause of utilization

기술 스택 사용이유
Redux ToolKit 리덕스를 사용하다보면, redux devtool, immer, reselect 등 여러가지 라이브러리를 설치하게 되는데 이러한 패키지 의존성을 줄여주고, ducks pattern을 유지할 수 있다는 점이 좋았고, 리덕스의 단점으로 꼽히는 *보일러플레이트 코드가 줄어들기 때문에 선정하게 되었습니다
aws amplify 배포 자동화를 어떤 방식으로 하는지 구글링과 이전 기수들의 깃헙을 찾아보았을 때 크게 버셀, aws s3, aws amplify를 많이 사용하고 있었는데 그중 amplify를 사용한 이유는 생성 절차가 무척 간단하고, 연결된 git repository의 브랜치 변경이 발생하면 자동으로 이를 감지해 빌드와 배포를 도와주기 때문에 사용하게 되었습니다 (+ 새로운 빌드가 준비되면 바로 배포되고 적용되서 더 좋았습니다!)
AWS EC2 이번 프로젝트가 수익성을 목표로 하고 있지 않기에, 초기 투자비용이 적은 AWS의 EC2 프리티어가 존재하며, 여러 다른 AWS 서비스인 RDS, S3 등의 유기적인 연동 및 관리가 쉽게 가능하기에 사용하기로 함
MySQL 오픈 소스 라이센스로 유지되고 있으며, 빠른 속도와 높은 보안성이 특징이기에 사용하기로 함
JWT (JSON Web Token) 토큰 안에 유저의 정보를 담고 있기 때문에 별도의 데이터 및 저장 공간이 필요하지 않기에 사용하기로 함
Github Action 프로젝트를 빌드하여 본 서버에 배포하는 과정에서 반복되는 과정들을 자동화 할 필요성을 느껴 별도의 서버 설치가 필요하지 않고 호환성이 좋은 Github Action을 사용하기로 함

trouble shooting

challenge skill

구현 기능 사용할 스킬 사용 이유
이벤트 알림 SSE 통신 프론트에서 이벤트를 감지해 서버에서 단방향으로 알림 메시지를 전달해주어야 하기 때문에 SSE 통신을 도입하였습니다
그룹 내 친구들과의 채팅 SockJS, Stomp 그룹 내 친구들끼리 메시지를 주고 받는 형식으로 채팅방을 만들 예정이기 때문에 양방향 통신이 필요하다 생각되어 도입하였습니다
구글 로그인 Google cloud consol 구글 api를 이용해 구글 소셜 로그인 방식을 도입하였습니다