Skip to content

workerBench/workerBenchProject

Repository files navigation

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us




WorkerBench

로고

프로젝트 기간 : 2023-02-27(월) ~ 2023-03-31(금)

📖 Workerbecn 홈페이지 (데스크탑 환경에서 이용해 주세요)
    * 위 경로로 접속이 불가능 할 시 Workerbecn 홈페이지 (www)

📖 Workerbecn 홈페이지 - 관리자 페이지 (데스크탑 환경에서 이용해 주세요)
   * 위 경로로 접속이 불가능 할 시 Workerbecn 홈페이지 - 관리자 페이지(www)
   * 관리자 페이지 접속 시에는 아래의 '브로셔' 를 참조해주세요.



프로젝트 개요 소개

로고

동료와 나를 나란히 이어주는 벤치, 워크숍 중개 플랫폼 ‘워커 벤치(Work-Bench)’입니다.

  • 코로나19로 인해 재택근무가 활성화된 요즘, 워크숍 트렌드도 변화하고 있습니다.
  • 술자리와 회식이 전부인 워크샵은 옛말, 비대면 워크숍부터 취미 활동을 함께 하는 등 워크숍의 의미가 달라지고 있습니다.
  • 워커 벤치는 건강한 워크숍 문화를 만들고 싶은 기업과 직장인, 그리고 워크숍 콘텐츠 제공자를 이어주는 플랫폼입니다.


프로젝트 문서 열람

📚 팀 노션 🧩 프로젝트 S.A 📝 주차별 노트 💾 프로젝트 ERD 💬 브로셔 🖍️ 베타 테스트 결과


팀원 및 역할

이름 역할 깃 허브 주소 담당 업무 현황
김민수 리더 https://github.com/msdou46 BackEnd : 로그인, 회원가입 등 인증/검증 관련 API, AWS S3 등 AWS 서비스 관련 세팅
FrontEnd : 프론트 ejs 파일 서버 사이드 랜더링 시 유저 로그인 유무 판별 로직 작성, 프론트 측 access token 발급 요청 코드 작성
고호성 팀원 https://github.com/alestorm001 BackEnd : 유저 마이 페이지 API. 유저의 워크샵 수강 현황 리스트, 찜 목록 API
FrontEnd : 유저 마이 페이지 디자인 - 기본 틀 및 네비게이션 버튼 구조 짜기
이동호 팀원 https://github.com/ehdgh6239 BackEnd : 강사 페이지 전체 API
FrontEnd : 강사등록하기,워크샵등록,워크샵목록,강사 업체 등록,강사 업체정보,강사 수강 관리(미완료),강사 수강 관리 (완료)
한동주 부리더 https://github.com/handongjoo BackEnd : 관리자 페이지 전체 API
FrontEnd : 관리자 페이지 전체 , 마이 페이지 (나의 워크샵 목록 / 강사 및 업체 정보 / 리뷰 작성)
황민주         팀원         https://github.com/minzunim BackEnd : 인기/신규 워크샵 조회, 검색, 수강 신청, 결제/환불, 찜 API
FrontEnd : 메인, 검색, 워크샵 상세, 수강 신청, 마이 페이지 내 워크샵 목록


사용한 기술 스택

stack

   🔍자세한 사항은 기술 멘토링 노트 2주차브로셔 에 기록되어 있습니다.

사용 기술 용도
Node.js(v18.12.0) JavaScript 런타임 환경
NestJs(^9.0.0) 확장 가능한 애플리케이션 구축을 위한 Node.js 웹 프레임워크
Typescript(^4.7.4) JavaScript의 슈퍼셋
TypeORM(^0.3.12) TypeScript로 작성된 Object Relational Mapper 라이브러리
MySQL(^8.0.31) SQL을 기반으로 한 관계형 데이터베이스 관리 시스템(RDBMS)
Ejs(^3.1.8) JavaScript로 HTML 마크업을 생성할 수 있는 템플릿 언어
redis(^3.0.504) in-memory 기반 비관계형 데이터 베이스 관리 시스템


프로젝트 일정

stack


stack



프로젝트 폴더 구조

📦WORKERBENCHPROJECT
 ┣ 📂public
 ┣ 📂src
 ┃ ┣ 📂admin
 ┃ ┣ 📂auth
 ┃ ┣ 📂common
 ┃ ┣ 📂config
 ┃ ┣ 📂database
 ┃ ┣ 📂entities
 ┃ ┣ 📂mypage
 ┃ ┣ 📂teacher
 ┃ ┣ 📂workshops
 ┃ ┣ 📜app.controller.spec.ts
 ┃ ┣ 📜app.controller.ts
 ┃ ┣ 📜app.module.ts
 ┃ ┣ 📜app.render.controller.ts
 ┃ ┣ 📜app.service.ts
 ┃ ┣ 📜main.ts
 ┣ 📂test
 ┣ 📂views
 ┣ 📂lambda_image_resize
 ┣ 📂lambda_video_hls
 ┣ 📜.env(서버 한정)
 ┣ 📜.eslintrc.js
 ┣ 📜.prettierrc
 ┣ 📜dataSource.ts
 ┣ 📜nest-cli.json
 ┣ 📜package-lock.json
 ┣ 📜package.json
 ┣ 📜README.md
 ┣ 📜tsconfig.build.json
 ┗ 📜tsconfig.json
  • public : css, js 파일 등 정적 파일
  • src : nestJs 프로젝트를 구성하는 모듈들의 집합. 추후 build 되어 root 폴더에 'dist' 폴더로 트랜스파일 됨.
  • test : e2e 테스트 파일
  • view : 서버 사이드 랜더링용 ejs 파일
  • lambda_image_resize : AWS Lambda 함수에서 사용된 이미지 리사이징 코드. 프로젝트 내부에서는 사용되지 않음
  • lambda_video_hls : AWS Lambda 함수에서 사용된 영상 컨버팅 코드. 프로젝트 내부에서는 사용되지 않음


모듈별 주요 기능

- auth 모듈

  • 로그인, 회원가입, 그 밖에 JWT 등 인증/검증 관련 기능을 수행합니다.

auth


- workshop 모듈

  • 가장 인기 있는 워크샵, 신규 워크샵, 워크샵 검색 기능 등을 제공합니다.

workshop


- mypage 모듈

  • 계정을 소유한 유저의 워크샵 수강 이력, 찜 목록 등을 보여줍니다.

mypage


- teacher 모듈

  • 강사로 등록된 유저가 나의 워크샵을 관리, 등록 신청 할 수 있으며 유저의 수강 신청 이력도 조회 가능합니다.

teacher


- admin 모듈

  • 강사가 등록 신청한 워크샵을 승인/반려 하거나 블랙 리스트를 추가하는 등의 권한을 가집니다.

admin