Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jerryjudymary/renDevSQL

Repository files navigation


항해 99 7기 B반 | 실전 프로젝트 renDev [ 랑데브 ] BE




목차 | Contents

  1. renDev 서비스 소개
  2. 팀 구성
  3. Features
  4. 기술 스택과 라이브러리
  5. Architecture
  6. ERD
  7. Trouble Shooting


🌌 renDev 서비스 소개

[renDev] 사람과 아이디어의 조우


🚀 renDev 서비스 바로가기
[https://rendev99.com]

  • renDev는 "포트폴리오를 준비하는 개발자 및 디자이너를 위한 협업 프로젝트 매칭 서비스" 입니다.
  • 프로젝트 아이디어는 있는데 혼자서 하기엔 버거울 때, 팀 프로젝트에 참여할 의욕은 있지만 아이디어가 마땅치 않을 때. renDev에서 마음에 맞는 프로젝트와 팀원을 만나 보세요 🙂

💡 renDev 서비스 이용 안내
[https://bubble-dove-10c.notion.site/renDev-Tutorial-6298fdef96504da28773d47db3bef8cf]

  • 서비스 이용 방법에 대한 간단한 가이드를 작성해 두었습니다.

📄 renDev 브로셔 페이지
[https://www.notion.so/renDev-b4158b77a39343feab8a22ef0fa3e30c]

  • renDev는 웹개발자 교육 부트캠프 "항해99"의 최종 과정인 <실전 프로젝트>의 결과물입니다. 저희는 7기 B반 2조입니다 :)
  • 위 브로셔 페이지 링크에서 상세한 서비스 설명 및 팀원 정보를 확인하실 수 있습니다.

🖥 renDev Interview GitHub
[https://github.com/alpha-fly/rendevchat]

  • renDev 메인 서비스의 하위 기능인 인터뷰 기능(영상통화 및 텍스트 채팅)의 GitHub repository 입니다.

🌒 프로젝트 기간

  • 2022년 06월 24일 ~ 2022년 08월 05일

👨‍🚀👩‍🚀 팀 구성

Backend Frontend Designer
우재영
Github

이천희
Github

김나정
김주혁
Github

유승연
Github

유승재
Github

윤형진
Github


🛰️ Features

✅ 인터뷰 기능 (영상통화 + 텍스트 채팅)

  • 협업 프로젝트를 함께할 팀원을 결정하기 전, 서로에 대해 알아보는 시간을 가질 수 있도록 WebRTC 기반 영상통화를 동반한 인터뷰 기능을 제공합니다.
  1. 사용자는 특정 프로젝트 게시글을 보고 해당 프로젝트에 대한 참여 인터뷰를 신청하거나,
  2. 특정 유저의 소개글을 보고 자신의 프로젝트에 인터뷰를 신청하도록 초대할 수 있으며,
  3. 인터뷰 예약이 이루어졌을 때 난수로 생성된 인터뷰코드를 발급받아 채팅방에 입장할 수 있습니다.

스케줄 예약, 제안 기능

  • 프로젝트 모집 유저와 프로젝트 참가 희망 유저간의 화상채팅 일정 예약이 가능합니다.
  • 마이페이지에서 실시간으로 상호 간의 예약 현황 확인이 가능합니다.
  • 프로젝트 작성자는 예약 현황에서 지원자에 대한 면접 완료, 합격, 불합격 등 상태를 업데이트할 수 있습니다.
  • 프로젝트 작성자는 면접 제안을 보내고 싶은 지원자에 자신의 프로젝트 정보를 선택하여 제안 메일을 전송할 수 있습니다.

✅ 검색 기능

  • "프로젝트 찾기"와 "팀원 찾기" 페이지에 검색 기능을 제공합니다.
  • <찾는 직군>, <요구하는 (또는 보유한) 기술 스택>, <프로젝트 진행 가능 기간>
  • 위의 3가지 요소에 대한 다중조건 검색이 가능합니다.

✅ 매칭 기능

  • 미리 작성한 게시글에 포함된 조건을 바탕으로 딱 맞는 프로젝트 or 팀원을 찾아주는 기능입니다.
  • 작성한 프로젝트의 조건에 맞는 팀원을 찾아 드립니다.
  • 작성한 자기소개서의 조건에 맞는 프로젝트를 찾을 수 있습니다.

📡 기술 스택과 라이브러리

🔧 기술 스택

기술스택 설명
NodeJS 자바스크립트 런타임
Express.js 웹 프레임워크
MySQL RDBMS 클라우드 인스턴스 (RDS)
Redis 인메모리 저장소 (Azure)
Sequelize ORM
GitHub Actions CI/CD 툴 (AWS CodeDeploy 연계)
NginX Proxy 서버
WebRTC Socket.io 영상통화, 실시간 채팅 구현
coturn 자체 TURN 서버 구축
Jest 통합테스트 - CI 연계

📚 라이브러리

라이브러리 설명
서버 스트레스 테스트
유저 비밀번호 암호화
리소스 공유 CORS 정책 설정
환경변수 관리
스크립트 실행 환경변수 설정
서버 프레임워크
서버 보안 취약점 방어
Redis Cli
Redis 키 패턴 삭제
유저에게 메일 전송
S3 버킷 이미지 업로드
유효성 검사
테스트 코드
토큰 암호화
서버 - 클라이언트 간 쿠키 파싱
Datetime 자료형 관리
HTTP 로그 기록
UUID 생성
로그 파일 생성
로그 파일 관리
MySQL 연동
MySQL ORM
MySQL ORM 콘솔

🏗 Architecture

KakaoTalk_20220731_212444855


🔀 ERD

ERD_FINAL_RENDEV


🌠 Trouble Shooting

✅ 자체 TURN 서버 구축

✅ 비즈니스 로직, 쿼리 수정으로 API 연산 복잡도, 코드 가독성 개선

✅ 부하 테스트시 병목 개선을 위한 Redis 캐싱 도입

아래 링크를 클릭하시면 renDev BE팀의 상세한 트러블 슈팅 기록을 보실 수 있습니다 :)


🎁 좋은 팀원을 만나게 되실 거예요, renDev 드림.

About

Project renDev - BE

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /