- 팀 소통의 원할함 지원 : TeamFlow는 팀이 업무 소통을 원활하게 할 수 있도록 돕는 커뮤니케이션 도구
- 실시간 채팅 중심 : 실시간 채팅은 이 프로젝트의 중심 기능으로, 팀원 간의 즉각적인 소통을 지원
- 효율적인 팀 관리 : 팀 관리자가 팀의 모든 활동을 효율적으로 관리할 수 있도록 지원
- 로그인 및 회원 가입
- OAuth 기반 로그인 : Google 서비스와 연동하여 빠르고 안전한 로그인 및 회원가입을 제공한다.
- 첫 로그인 설정 : 신규 사용자에게는 닉네임을 설정한다.
- TeamSpace 관리
- TeamSpace 생성 : 사용자는 새로운 TeamSpace를 생성할 때 이름을 지정할 수 있다.
- TeamSpace 초대 : 이메일로 다른 TeamFlow 가입자를 초대할 수 있다.
- teamspace 수정 : 총 관리자는 teamspace 이름을 바꿀 수 있다.
- 권한 관리
- 총 관리자 : TeamSpace를 생성한 사람이 총 관리자가 된다.
- 팀 관리자 : 총 관리자는 팀 관리자를 지정하여 팀 관리의 역할을 분담할 수 있다.
- 내 정보 관리
- 프로필 설정 : 사용자는 닉네임, 프로필 이미지를 관리할 수 있다.
- 채팅 기능
- 공개 채널 : 모든 TeamSpace 소속 사용자가 참여할 수 있는 채널로, 프로젝트나 팀 전체의 주요 논의를 진행한다.
- 비공개 채널 : 선택된 팀원들만 접근 가능한 채널로, 민감한 정보나 특정 팀 내에서만 공유해야 하는 내용을 관리한다.
- 공지 채널 : 총 관리자만 메시지를 작성할 수 있는 채널로, 중요한 공지사항이나 업데이트를 TeamSpace 소속 사용자에게 전달한다.
- 채팅 내용 관리
- 텍스트 메시지 : 팀원 간 텍스트 기반의 메시지를 주고받을 수 있다.
- 파일 첨부 : 문서, 이미지 등 다양한 파일을 채팅 메시지에 첨부하여 공유할 수 있다.
- 알림 기능
- Threads 알림 : 모두에게 알림체크가 표시된 쓰레드가 있다면 알림으로 받을 수 있다.
- 초대 알림 : 사용자가 TeamSpace or 비공개 채널 초대를 받으면 이를 알림으로 받을 수 있다.
- 팀 및 채널 관리
- 채널 생성 및 초대 : 팀 관리자는 새로운 채널을 생성하고, 특정 팀원을 초대할 수 있다.
- 팀원 목록 관리 : 팀원 목록을 확인하고 특정 팀원을 채널에서 제외하는 관리 기능을 제공한다.
이 프로젝트는
- 사용자 친화적 인터페이스 : 직관적이고 깔끔한 UI를 통해, 사용자들이 기능을 쉽게 이해하고 활용할 수 있도록 설계
- 실시간 기능 중심 : 실시간 채팅, 알림 등 즉각적인 피드백이 필요한 기능들을 중심으로, 팀원 간의 신속한 소통 지원
- 확장 가능성 : 기본적인 기능 외에도 향후 NOTION 연동, 대댓글 기능 등 확장이 가능한 구조로 설계하여, 프로젝트의 확장성과 유지보수성 높임
- express.js
- typescript
- postgreSQL, MongoDB, Redis
- general manager : 공지 채널에 thread 입력과 팀 관리자 권한을 부여할 수 있음
- team manager : 비공개 채널 생성 및 팀원 초대 & 방출 권한
- member : 해당하는 팀의 비공개 채널을 이용할 수 있는 권한