Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
회사의 리소스(회의실 및 좌석) 예약 대여 반납 시스템
- Host: GitHub
- URL: https://github.com/codeit-2000/codeit-resources
- Owner: codeit-2000
- Created: 2024-10-10T05:28:44.000Z (3 months ago)
- Default Branch: develop
- Last Pushed: 2024-11-02T07:22:38.000Z (2 months ago)
- Last Synced: 2024-11-02T08:19:14.911Z (2 months ago)
- Topics: aws-amplify, cognito, dynamodb, jotai, react, react-hook-form, storage, tailwind-css, tanstack-query, typescript, zod
- Language: TypeScript
- Homepage: https://resource.codeit.kr
- Size: 4 MB
- Stars: 5
- Watchers: 0
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
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)