본 글은 추가 보완 중입니다
프로젝트 설명
프로젝트 서비스명: 팀 플로우
카테고리: IT 협업 플랫폼
작업기간: 25. 02. 10일 ~ 02. 28일
사용기술: Node.js, WebSocket, OAuth, nodemailer, MySQL
담당하게 된 역할: 백엔드
이 주제를 결정한 이유? 🤔
- 재택근무와 온라인 협업이 증가함에 따라 효과적인 협업 툴에 대한 수요가 증가
- 분산된 팀원들이 한 곳에서 소통하고, 작업을 체계적으로 진행할 수 있도록 지원하는 서비스가 필요
기능 확정
기능 확정
서비스에서 제공할 핵심 기능을 다음과 같이 확정했습니다.
- 워크스페이스 관리
- 워크스페이스 생성 및 삭제
- 초대 기능 (이메일 기반)
- 권한 관리 (관리자, 멤버 구분)
- 칸반보드 기능
- 업무 생성, 수정, 삭제
- 상태 변경 (계획 → 진행중 → 완료)
- 우선순위, 마감일 설정
- 채팅 기능
- 실시간 채팅 (Socket.io 활용)
- 메시지 저장 및 조회
- 이모티콘 및 파일 업로드 기능
- 로그인 인증 및 보안
- 세션 기반 passport 인증 시스템
- OAuth 소셜 로그인 카카오 지원
- 배포 전략
- 개발 서버, 운영 서버, 로컬 서버 환경 분리
- AWS 클라우드 플랫폼 배포
기술 스택 및 아키텍처
- 백엔드: Node.js, Express, WebSocket, OAuth, nodemailer, MySQL, Passport
- 프론트엔드: Html, CSS, Bootstrap, Javascript, React
DB ERD
본 ERD는 워크스페이스 기반 협업 서비스를 위한 데이터 구조를 정의하는데
주요 기능으로는 워크스페이스 생성 및 초대, 칸반보드(Task 관리), 실시간 채팅이 있습니다.
ERD 주요 엔티티 및 관계
- Users (사용자) → 로그인, 프로필 관리
- Workspace (워크스페이스) → 협업 공간 생성 및 관리
- Members (워크스페이스 참여자) → 사용자와 워크스페이스 간 N:N 관계
- Todos (할 일 관리) → 작업 생성, 우선순위 설정, 마감일 지정
- ChatRooms & Messages (채팅 시스템) → 실시간 채팅 및 파일 공유
- Tags (태그 시스템) → 할 일(Task) 분류 및 검색 기능
데이터 관계 특징
- Users ↔ Workspace (N:N 관계) → Members 테이블을 통해 연결
- Workspace ↔ Todos (1:N 관계) → 한 워크스페이스에 여러 작업 가능
- Todos ↔ Tags (N:N 관계) → 중간 테이블(TodoTags)로 매핑
- Workspace ↔ ChatRooms ↔ Messages (1:N:N 관계) → 채팅방 내 메시지 전송
API 명세서
이 API는 사용자 인증, 워크스페이스 관리, 업무(Task) 관리, 실시간 채팅 등의 기능을 제공합니다.
이렇게 개발 전 미리 주 API를 작성하고 어떤 요청과 응답이 오고 가는지 정리하고 컨트롤러의 함수명이나 라우팅 경로 개발 및 테스트 여부를 작성함으로써 다른 팀원과 충돌 없이 원활하게 개발에 임할 수 있었습니다
내가 맡은 작업
- 워크스페이스 작업
- 업무(칸반보드) 작업
- 이메일 미들웨어 작업
- 개발 인프라 환경구성
1차 프로젝트에서 경험했던 기억을 되살려 체계적인 협업환경을 구성하였습니다 그리고 이번에 새롭게 배우게 된 리액트를 사용하게 됨으로써 프론트와 백엔드간 서비스테스트에 상당한 애로사항이 발생할 것이라고 예상됐기에 개발 간 중간 Develop 서버를 배치해 백엔드와 프론트엔드 간 최신화된 코드를 배포하여 테스트를 해볼 수 있어 실제 운영서버에 배포할 때 발생하는 오류를 미리 체크할 수 있었습니다
'SAC' 카테고리의 다른 글
[새싹x코딩온] 풀스택 개발자 부트캠프 과정 13 주차-2 React Redux 상태관리 (0) | 2025.02.13 |
---|---|
AWS RDS, S3 (3) | 2025.02.08 |
[새싹x코딩온] 풀스택 개발자 부트캠프 과정 13 주차-1 TypeScript (0) | 2025.01.27 |
[새싹x코딩온] 풀스택 개발자 부트캠프 과정 12 주차-2 React Router, 상태관리, Context (1) | 2025.01.20 |
[새싹x코딩온] 풀스택 개발자 부트캠프 과정 12 주차-1 React Style, hooks (1) | 2025.01.17 |