코드잇 일경험 인턴에서 진행한 프로젝트입니다.
프로젝트 명: Codeit Resources
프로젝트 설명: 회사의 리소스(회의실 및 좌석) 예약 대여 반납 시스템
프로젝트 기간: 2024.10.07 ~ 2024.11.01
배포 주소:
스토리북 주소:
발표 자료: 이천조(A팀) 프로젝트 발표 자료
이대양 | 이영훈 | 이정민 | 이지현 | 천권희 |
---|---|---|---|---|
FrontEnd | FrontEnd | BackEnd | BackEnd | BackEnd, PM |
모노레포(터보레포)
📦 Root
┣ 📂 .github # GitHub 설정 파일 및 워크플로
┣ 📂 .husky # Git Hooks 설정 폴더
┣ 📂 apps # 애플리케이션 폴더 (웹과 모바일)
┃ ┣ 📂 mobile # React Native 모바일 애플리케이션 코드
┃ ┗ 📂 web # 웹 애플리케이션 코드
┣ 📂 packages # 공통 패키지나 라이브러리 폴더
┃ ┣ 📂 eslint-config # ESLint 설정 패키지
┃ ┣ 📂 shared-assets # 공통으로 사용하는 이미지, 폰트 등의 에셋 파일
┃ ┣ 📂 shared-backend # 공통으로 사용하는 백엔드 로직 (AWS Amplify)
┃ ┣ 📂 shared-constants # 공통 상수 모음
┃ ┣ 📂 shared-lib # 공통 라이브러리 코드
┃ ┣ 📂 typescript-config # TypeScript 설정 패키지
┃ ┗ 📂 ui # UI 컴포넌트 라이브러리
┣ 📜 amplify.yml # AWS Amplify 설정 파일 (배포 및 빌드 설정)
┣ 📜 .prettierrc.json # 전역에 적용할 코드 스타일 설정 파일 (Prettier)
┣ 📜 package.json # 프로젝트 종속성과 스크립트 정의 파일 (Node.js)
┣ 📜 turbo.json # Turborepo 설정 파일
# Turborepo 모노레포 구조를 사용
# React Native 기반의 모바일 앱과 React 기반의 웹 애플리케이션을 동시 관리
# packages 폴더엔 공통 assets, API, 백엔드 로직(AWS Amplify), 상수 등 앱,웹 간 공유되는 코드와 설정이 포함
# apps 폴더엔 모바일(mobile)과 웹(web) 각각의 요구 사항에 맞는 코드와 설정을 별도로 관리
pnpm install # 패키지 설치
pnpm run storybook:web # 루트 디렉토리에서 스토리북 실행
cd apps/web # 웹 디렉토리로 이동
pnpm run dev # 웹 실행
pnpm run storybook # 스토리북 실행
타임라인에서 회의 일정을 입력하여 회의실을 예약할 수 있으며, 예약 일정이 겹치는 경우 회의실을 예약할 수 없습니다.
참여중인 예약을 수정하거나 취소할 수 있습니다.
오늘을 기점으로, 내일까지 좌석을 예약할 수 있습니다.
좌석 이동과 좌석 반납도 가능합니다.
오늘 예약된 회의실 일정을 확인하고 예약된 좌석을 확인할 수 있습니다.
예약된 회의를 종료할 수 있고, 좌석을 반납할 수도 있습니다.
내 프로필를 확인할 수 있습니다.
이미지와 비밀번호 변경이 가능합니다.
관리자가 팀을 추가하고, 수정하고, 삭제할 수 있습니다.
팀 삭제 시, 삭제할 팀의 이름을 입력받아 실수를 방지하였습니다.
관리자가 멤버의 권한, 이름, 이메일, 프로필 사진, 팀을 설정하여 추가할 수 있습니다.
멤버를 수정, 탈퇴 또한 가능합니다.
관리자가 회의실의 대분류와 소분류를 추가할 수 있습니다.
관리자가 좌석의 고정 좌석을 설정하거나 사용 불가능한 좌석을 설정할 수 있습니다.
회사 이메일로 로그인을 할 수 있습니다.
비밀번호를 분실했을 때, 이메일 인증코드로 비밀번호를 재설정할 수 있습니다.
모바일에서도 편하게 사용하기 위해 반응형 구현하였습니다.