Skip to content

회사의 리소스(회의실 및 좌석) 예약 대여 반납 시스템

Notifications You must be signed in to change notification settings

oceanlee-seoul/codeit-resources

Repository files navigation

Codeit Resources

로고

코드잇 일경험 인턴에서 진행한 프로젝트입니다.


📝 프로젝트 개요

프로젝트 명: Codeit Resources

프로젝트 설명: 회사의 리소스(회의실 및 좌석) 예약 대여 반납 시스템

프로젝트 기간: 2024.10.07 ~ 2024.11.01

배포 주소:

스토리북 주소:

발표 자료: 이천조(A팀) 프로젝트 발표 자료

👏 팀원

이대양 이영훈 이정민 이지현 천권희
FrontEnd FrontEnd BackEnd BackEnd BackEnd, PM

🛠️ 기술 스택

BackEnd

백엔드

FrontEnd

프론트엔드

ETC



🗂️ 디렉토리 구조

모노레포(터보레포)

📦 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  # 스토리북 실행

✨ 핵심 기능

1. 회의실 예약

타임라인에서 회의 일정을 입력하여 회의실을 예약할 수 있으며, 예약 일정이 겹치는 경우 회의실을 예약할 수 없습니다.
참여중인 예약을 수정하거나 취소할 수 있습니다.

회의실예약

2. 좌석 예약

오늘을 기점으로, 내일까지 좌석을 예약할 수 있습니다.
좌석 이동과 좌석 반납도 가능합니다.

좌석예약

3. 대시보드

오늘 예약된 회의실 일정을 확인하고 예약된 좌석을 확인할 수 있습니다.
예약된 회의를 종료할 수 있고, 좌석을 반납할 수도 있습니다.

대시보드

4. 내 프로필

내 프로필를 확인할 수 있습니다.
이미지와 비밀번호 변경이 가능합니다.

내프로필

5. 팀 관리 - ADMIN 기능

관리자가 팀을 추가하고, 수정하고, 삭제할 수 있습니다.
팀 삭제 시, 삭제할 팀의 이름을 입력받아 실수를 방지하였습니다.

팀관리

6. 멤버 관리 - ADMIN 기능

관리자가 멤버의 권한, 이름, 이메일, 프로필 사진, 팀을 설정하여 추가할 수 있습니다.
멤버를 수정, 탈퇴 또한 가능합니다.

멤버관리

7. 회의실 설정 - ADMIN 기능

관리자가 회의실의 대분류와 소분류를 추가할 수 있습니다.

회의실설정

8. 좌석 설정 - ADMIN 기능

관리자가 좌석의 고정 좌석을 설정하거나 사용 불가능한 좌석을 설정할 수 있습니다.

좌석설정

9. 로그인 / 비밀번호 찾기

회사 이메일로 로그인을 할 수 있습니다.
비밀번호를 분실했을 때, 이메일 인증코드로 비밀번호를 재설정할 수 있습니다.

비밀번호

10. 모바일 반응형

모바일에서도 편하게 사용하기 위해 반응형 구현하였습니다.

모바일

About

회사의 리소스(회의실 및 좌석) 예약 대여 반납 시스템

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published