방학동안 웹 개발 공부를 많이 못한거 같아서 강의로 들었던 리액트를 기반으로 한 프로젝트를 진행해보려고 한다.
나는 메신저로 카카오톡과 슬랙을 이용하고 있는데 이런 메신저를 웹으로 구현하면 어떨까 싶어서
프로젝트 주제를 웹 메신저로 정했다.
웹 메신저를 구현할 때 제공할 기능과 사용할 기술을 적어보았다.
1. 회원가입, 로그인, 로그아웃
- Firebase Authentication의 이메일 인증 방법 사용
- Firebase Firestore에 사용자 정보 저장
2. 프로필 설정
- 이름은 Firestore에 수정 반영, 프로필 이미지는 Firebase Storage에 저장할 것
3. 친구 검색 및 추가
- 아이디로 친구 검색, 추가
- 추가한 친구 목록 조회
4. 채팅방 입장 및 채팅 전송
- 친구 목록에서 채팅을 시작할 친구 선택
- 개설된 채팅방은 메인 화면에 출력
- 채팅 내역은 Firebase Realtime Database에 저장하여 실시간 동기화가 가능하도록 함
기본적으로 제공할 기능은 위와 같고 만약 위의 기능을 모두 구현했다면
단체 톡방, 채팅 내역 개별 삭제, 커뮤니티 기능 등 확장할 수 있는 기능이 굉장히 많으므로
다양한 기능을 구현하면서 실력을 쌓고 여러 기술들을 활용해볼 수 있을 것이다.
우선은 앱 개발 프로젝트에서 사용해본 경험이 있기 때문에 익숙한 Firebase를 주로 사용할 것이고
리액트의 상태 관리와 비동기 처리를 다루는 실력을 많이 키울 수 있을 것으로 기대한다.
이번 2학기는 취준 겸 프로젝트를 하면서 공부하는걸로~
'Web > [프로젝트] 웹 메신저' 카테고리의 다른 글
2021.09.02 개발 일지 (친구 추가 시 DB 저장, 사이드바 친구 목록 표시, 1:1 채팅 레이아웃) (0) | 2021.09.05 |
---|---|
2021.09.01 개발 일지 (친구 검색 연속으로 가능하게 수정 , 로그아웃 시 redux 사용자 state 변경) (0) | 2021.09.02 |
2021.08.31 개발 일지 (Redux를 이용한 사용자 정보 관리, 친구 검색, 화면 레이아웃 잡기) (0) | 2021.09.02 |
2021.08.29 개발 일지 (Firebase Authentication 회원가입 및 로그인 구현 / Formik, Yup 라이브러리 유효성 (0) | 2021.08.30 |
지능웹설계 프로젝트 "스타듀밸리 팬 페이지" (0) | 2021.06.15 |