단의 개발 블로그

Modak 본문

Side Project/Modak

Modak

danso 2024. 11. 6. 13:44

Modak (=Zoom or Discord)

브라우저 기반 사용자 음성채팅 & 화상채팅 + 커뮤니티 서비스

 

기능리스트업

user

  • 로그인(소셜로그인 - 구글, 카카오, 네이버, [애플], 자사 로그인)
  • 로그아웃
  • 로그인 유지
  • 개인정보 수정
  • 회원탈퇴

main

  • 방 생성 (화상채팅 + 채팅)
  • 방 나가기
  • 방 참여자 강퇴하기
  • 방 초대 코드 보내기 (텍스트)
  • 참여자 목록 [온라인, 오프라인]
  • [글 확인 여부 - 카카오톡 1]
  • 유저가 참여중인 방 목록
  • 유저 친구 목록
  • 친구 추가
  • 친구 삭제

sub

  • 게시판 기능 추가
  • 댓글 + 대댓글 
  • 파일첨부

admin

  • 모든 기능 crud
  • 관리자 권한별 제한
  • 관리자 행동 로그 (관리자명, 아이피, 행동, 실행쿼리, 비고)
  • 개인정보 처리 방침, 이용약관 DB 저장 (변경 이력 고지의무)

 

 

Tech

  • React - NextJS
  • Java - Spring Framework
  • Ubuntu 22.04 or [CentOS or FreeBSD]
  • MariaDB (Maxscale)
  • Nginx (Blue & Green or Caanary)
  • Git
  • WebRTC
  • SSE
  • [docker + [[[[k8s]]]]]
  • [ELK]
  • [NCP or AWS]

 

ETC

우선순위

  1. 프로젝트 셋팅
    1. 혼자 개발 하니까 front, back 프로젝트 한곳에 몰아서 작업하기
    2. 그래도 코드 스타일은 깔끔해야 하니 컨벤션 설정하기
    3. 프로덕션까지는 미정이니까 개발환경 분리는 dev까지만 
    4. DB 초기엔 그냥 쌩으로 사용하고, 완성되면 배포할 때 maxscale로 나누기 레디스도 마찬가지
  2. 공통 모듈 작업
    1. 요청/응답
    2. 스웨거
  3. 로그인
    1. 구글, 카카오, 네이버, 애플 (구글,애플은 각 스토어에 앱 출시 하려면 해당 로그인 끼워야 하니까 필수... 근데 애플은 https필수..)
    2. 관리자는 MFA 인증 추가하기
    3. 인증은 레디스에서 꺼내다 쓰기
  4. WebRTC
  5. 채팅
  6. 커뮤니티
  7. 관리자
  8. 배포
  9. 고도화
    1. 컨테이너로 묶어서 사용하기
    2. 쿠버네티스로 관리 + APM도
    3. 서버 로그 ELK
    4. 채팅 욕설 & 선정적인 문구 필터링 기능
    5. 만약에 된다면.. 프로비저닝?
      1. 맥, 윈도우 각각 프로비저닝 파일 준비
      2. 깃에서 소스 다운로드
      3. 소스에 첨부된 파일 실행
      4. 도커에 프론트, 백, 디비 등 필요한 자원 가상화 서버에 각각 구축
      5. 서비스가 한번에 뿅하고 나오기

'Side Project > Modak' 카테고리의 다른 글

서버 설정  (2) 2024.11.06