Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/codeit-2000/codeit-resources

회사의 리소스(회의실 및 좌석) 예약 대여 반납 시스템
https://github.com/codeit-2000/codeit-resources

aws-amplify cognito dynamodb jotai react react-hook-form storage tailwind-css tanstack-query typescript zod

Last synced: 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# Codeit Resources


로고

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


# 📝 프로젝트 개요

**프로젝트 명:** Codeit Resources

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

**프로젝트 기간:** 2024.10.07 ~ 2024.11.01

**배포 주소:**

**스토리북 주소:**

**발표 자료:** [이천조(A팀) 프로젝트 발표 자료](https://www.canva.com/design/DAGU9REKjyE/EzsBM3kU3aBkLQCEiB8fZg/view?utm_content=DAGU9REKjyE&utm_campaign=designshare&utm_medium=link&utm_source=editor)

## 👏 팀원































이대양


이영훈


이정민


이지현


천권희




FrontEnd


FrontEnd


BackEnd


BackEnd


BackEnd, PM



# 🛠️ 기술 스택

## BackEnd

![백엔드](packages/shared-assets/readme/back-end.png)

## FrontEnd

![프론트엔드](packages/shared-assets/readme/front-end.png)

## 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) 각각의 요구 사항에 맞는 코드와 설정을 별도로 관리
```

## 로컬 실행 커맨드

```bash
pnpm install # 패키지 설치

pnpm run storybook:web # 루트 디렉토리에서 스토리북 실행

cd apps/web # 웹 디렉토리로 이동
pnpm run dev # 웹 실행
pnpm run storybook # 스토리북 실행
```


# ✨ 핵심 기능

## 1. 회의실 예약

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


참여중인 예약을 수정하거나 취소할 수 있습니다.

![회의실예약](packages/shared-assets/readme/image1.png)

## 2. 좌석 예약

오늘을 기점으로, 내일까지 좌석을 예약할 수 있습니다.


좌석 이동과 좌석 반납도 가능합니다.

![좌석예약](packages/shared-assets/readme/image2.png)

## 3. 대시보드

오늘 예약된 회의실 일정을 확인하고 예약된 좌석을 확인할 수 있습니다.


예약된 회의를 종료할 수 있고, 좌석을 반납할 수도 있습니다.

![대시보드](packages/shared-assets/readme/image3.png)

## 4. 내 프로필

내 프로필를 확인할 수 있습니다.


이미지와 비밀번호 변경이 가능합니다.

![내프로필](packages/shared-assets/readme/image4.png)

## 5. 팀 관리 - ADMIN 기능

관리자가 팀을 추가하고, 수정하고, 삭제할 수 있습니다.


팀 삭제 시, 삭제할 팀의 이름을 입력받아 실수를 방지하였습니다.

![팀관리](packages/shared-assets/readme/image5.png)

## 6. 멤버 관리 - ADMIN 기능

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


멤버를 수정, 탈퇴 또한 가능합니다.

![멤버관리](packages/shared-assets/readme/image6.png)

## 7. 회의실 설정 - ADMIN 기능

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

![회의실설정](packages/shared-assets/readme/image7.png)

## 8. 좌석 설정 - ADMIN 기능

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

![좌석설정](packages/shared-assets/readme/image8.png)

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

회사 이메일로 로그인을 할 수 있습니다.


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

![비밀번호](packages/shared-assets/readme/image9.png)

## 10. 모바일 반응형

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

![모바일](packages/shared-assets/readme/image10.png)