이번 프로젝트는 간단한 채팅 앱을 만드는 것으로, 다음과 같은 목표를 지향합니다.
- 펍/섭 개념과 숙달
- 메서드 개념과 숙달
- 부트스트랩 숙달
- 프로젝트 기본 구조 파악
- 코드 교정
이번 프로젝트는 클라우드 DB에 연결되어 있는 상태 이므로, 개발간 프로젝트 실행은
meteor run
이 아닌,npm run dev
로 하기 바랍니다.
다음과 같은 페이지로 일반적인 채팅 앱 기능을 구현해야 합니다.
서버와 통신간 응답을 아직 받지 않은 경우, UX를 고려한 UI 상태 변경이 필요합니다. 예를들어:
회원가입 버튼 클릭 후, 응답을 받기 전까지 인풋이나 버튼 클릭 되면 안됨.
- 회원가입
- 프로필 사진 업로드 기능
스토리지 서버가 없으므로 컬렉션에base64
포멧으로 저장 - 일반/어드민 구분
- 프로필 사진 업로드 기능
- 로그인
- 아이디 기억 채크 기능
- 로그아웃
- 로그아웃 이후 메인 페이지로
replace
(go
기능 아님)
- 로그아웃 이후 메인 페이지로
- 채팅방 리스트
- 리스트 별 마지막 메세지 노출
- 마지막 메세지는 실시간 업데이트
- 모두가 나간 방은 리스트에서 보이면 안됨
- 방 정렬은 마지막 메세지 수신 순서
- 아직 읽지 않은 메시지 여부 표시
- 채팅방
- 메세지 입력 기능
- 나와 타인의 메세지 좌우 분리
- 어드민 메세지는 중앙 공지처럼 표시
- 채팅방 나가기/뒤로가기 기능 구분 필요
- 메세지 1회 전송에 여러 줄 입/출력 가능
- 최근 메세지가 맨 아래 배치되도록 정렬
역할은 대략적으로 다음과 같이 나뉩니다.
- A: 회원가입/로그인/로그아웃/메서드(서버)
- B: 채팅방 리스트/펍섭-룸리스트
- C: 채팅방/펍섭-메세지
- ❗️PR은 매일 19시 이내에 등록합니다.
- ❗️주석/커밋은 한글로 합니다.
- 필요시 패키지 설치 가능하지만, 꼭 필요한지 한 번 더 고민해봐야 합니다.
- 이제 조회를 제외한 모든 컬렉션은 클라이언트에서 조작할 수 없습니다.
- 컬렉션 정보 조작은 메서드를 통해 서버에서 진행해야 합니다.
- 컬렉션 조회는 서버에서 퍼블리케이션을 해준 정보에 한에서 가능합니다.
- 필요시 클라이언트는 수량 제한 없이 로컬 컬렉션을 만들어 CRUD 가능합니다.
- 금지사항에 해당하지 않는 경우, 필요에 따라서 코드 생성/수정 가능합니다.
- Meteor 숙달에 비중을 두기위해
import/client/styles|ui
진행 안함
다음 디렉토리 또는 파일은 수정하면 안됩니다.
수정이 필요할 경우, @Mike
에게 요청해야 합니다:
- client/
- server/
- imports/client/layout/
- imports/client/styles/
- imports/client/ui/
- imports/routes/
- imports/util/routeEnter.js
- test/
그 외:
- PR 승인된 브랜치는 삭제하고, 새로운 브랜치를 생성해서 새 작업을 시작합니다.
- 본인에게 필요한 기능이 타인의 역할 내에 있으면, 요청으로 해결해야 합니다.
직접 수정/조작 금지.
- 2022-12-05(월) - 개발 환경 설정, 시각적 구현
- 2022-12-06(화) - 시각적 구현, 기능 개발
- 2022-12-07(수) - 기능 개발
- 2022-12-08(목) - 기능 개발
- 2022-12-09(금) - 셀프 QA, 점심전까지 PR, 개인리뷰