diff --git a/README.md b/README.md index e60a4ee9..43e13f4d 100644 --- a/README.md +++ b/README.md @@ -1 +1,70 @@ -## 크루크루 - 운동모임 서비스 +# CrewCrew + +## 목차 + +- [프로젝트 소개](#프로젝트-소개) +- [배포 사이트](#배포-사이트) +- [시연영상](#시연영상) +- [기능](#기능) +- [개발](#개발) +- [팀원 소개](#팀원-소개) + +----- + +## 1. 프로젝트 소개 + +각 주제별 운동 크루를 만들고, 크루 안에서 약속들을 만들 수 있는 커뮤니티 공간 + +## 2. 배포 사이트 + +[https://crewcrew.vercel.app](https://crewcrew.vercel.app) + +## 3. 프론트 시연영상 + +중간 발표용 영상입니다. + +[![시연영상](https://clover-cub-62d.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F82cafa30-a400-4112-a79e-fcb2cdcfcca7%2F17f20972-3913-4486-b10a-b9a0d8333940%2Faed7c2b7-65f6-4ed3-b566-c1137d2c8bf1.png?table=block&id=ba60434d-0d2f-4b89-9edc-84396cdbedaf&spaceId=82cafa30-a400-4112-a79e-fcb2cdcfcca7&width=1420&userId=&cache=v2)](https://youtu.be/8qhzx36ljDM?si=WG9IUu63eUXf63Hz) + +## 4. 기능 + +- 회원가입/로그인 : 회원으로 가입하여 로그인하면 크루에 참여하여 활동할 수 있습니다. +- 크루 조회 : 크루의 상세 정보와 개설된 약속 리스트를 확인할 수 있습니다. +- 크루 찾기 : 주제별·지역별로 분류, 최신·인기순으로 정렬하여 크루를 찾을 수 있습니다. +- 크루 생성 : 크루를 만들고, 크루원을 모집할 수 있습니다. +- 나의 크루 : 내가 만든 크루와 내가 참여한 크루를 분류하여 볼 수 있습니다. +- 약속 조회 : 약속의 상세 정보를 확인할 수 있습니다. +- 약속 생성 : 내가 속한 크루에서 약속을 생성할 수 있습니다. +- 나의 약속 : 내가 만든 약속, 내가 참여한 약속을 분류하여 볼 수 있습니다. +- 찜한 약속 : 내가 찜한 약속을 확인할 수 있습니다. +- 마이페이지 : 나의 프로필을 확인하고 프로필 사진을 수정할 수 있으며, 약속에 대한 리뷰를 작성하고, 내가 작성한 리뷰를 확인할 수 있습니다. + +## 5. 개발 + +### 1. 기술 스택 + +- ![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white) +- ![Zoom](https://img.shields.io/badge/Zoom-2D8CFF?style=for-the-badge&logo=zoom&logoColor=white) +- ![Notion](https://img.shields.io/badge/Notion-%23000000.svg?style=for-the-badge&logo=notion&logoColor=white) +- ![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB) +- ![Next JS](https://img.shields.io/badge/Next-black?style=for-the-badge&logo=next.js&logoColor=white) +- ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white) +- ![React Query](https://img.shields.io/badge/-React%20Query-FF4154?style=for-the-badge&logo=react%20query&logoColor=white) +- ![Storybook](https://img.shields.io/badge/-Storybook-FF4785?style=for-the-badge&logo=storybook&logoColor=white) +- ![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge&logo=tailwind-css&logoColor=white) +- ![Mantine](https://img.shields.io/badge/Mantine-ffffff?style=for-the-badge&logo=Mantine&logoColor=339af0) +- ![Vercel](https://img.shields.io/badge/vercel-%23000000.svg?style=for-the-badge&logo=vercel&logoColor=white) +- ![Zustand](https://img.shields.io/badge/ZUSTAND-654e48?style=for-the-badge&logo=ZUSTAND&logoColor=654e48) +- ![Json Server](https://img.shields.io/badge/JSON_SERVER-000?style=for-the-badge&logo=JSON_SERVER&logoColor=white) + +## 6. 팀원 소개 + +| 사진 | 이름 | 역할 | +| --- | --- | --- | +| ![팀원1 사진](https://via.placeholder.com/100) | 김민호 | Design | +| ![팀원2 사진](https://via.placeholder.com/100) | 조예은 | Front | +| ![팀원3 사진](https://via.placeholder.com/100) | 김민경 | Front | +| ![팀원4 사진](https://via.placeholder.com/100) | 김혜중 | Front | +| ![팀원5 사진](https://via.placeholder.com/100) | 이 율 | Front | +| ![팀원6 사진](https://via.placeholder.com/100) | 최수형 | Front | +| ![팀원7 사진](https://via.placeholder.com/100) | 이우현 | Back | +| ![팀원8 사진](https://via.placeholder.com/100) | 이정우 | Back | \ No newline at end of file diff --git a/src/app/(crew)/crew/detail/[id]/_components/create-gathering.tsx b/src/app/(crew)/crew/detail/[id]/_components/create-gathering.tsx index 064e3fca..d2107c06 100644 --- a/src/app/(crew)/crew/detail/[id]/_components/create-gathering.tsx +++ b/src/app/(crew)/crew/detail/[id]/_components/create-gathering.tsx @@ -25,7 +25,7 @@ export default function CreateGathering() { introduce: '', dateTime: '', location: '', - totalCount: 0, + totalCount: 2, imageUrl: null, }; diff --git a/src/app/(crew)/crew/detail/[id]/edit/page.tsx b/src/app/(crew)/crew/detail/[id]/edit/page.tsx index 23b86f29..5ea2415a 100644 --- a/src/app/(crew)/crew/detail/[id]/edit/page.tsx +++ b/src/app/(crew)/crew/detail/[id]/edit/page.tsx @@ -10,11 +10,11 @@ export default function EditCrewPage() { const initialValue: CreateCrewRequestTypes = { title: '', mainCategory: '', - subCategory: '', + subCategory: null, imageUrl: null, mainLocation: '', - subLocation: '', - totalCount: 0, + subLocation: null, + totalCount: 4, }; const handleEdit = () => { diff --git a/src/components/common/input/drop-down/index.tsx b/src/components/common/input/drop-down/index.tsx index 4d3512f3..91a71268 100644 --- a/src/components/common/input/drop-down/index.tsx +++ b/src/components/common/input/drop-down/index.tsx @@ -41,7 +41,9 @@ export default function DropDown({ const handleChange = (newValue: string | null) => { onChange(newValue); setIsFocused(false); - setError(newValue ? null : '필수 입력사항입니다.'); + if (inWhere === 'form' && !newValue) { + setError(newValue ? null : '필수 입력사항입니다.'); + } }; const getColor = useMemo(() => {