Skip to content

hyeoksuJ/wine

 
 

Repository files navigation

header

코드잇에서 주관하는 와인 관리 애플리케이션 프로젝트입니다.

image

📑 목차

프로젝트 소개

개발 기간

개발자 소개

상세 계획

User Flow

프로젝트 구조

개발 환경

기술 스택

주요 기능

배포 및 실행 방법

사용자가 다양한 와인을 조회하고, 새로운 와인을 등록할 수 있도록 하며 와인의 평균 평점과 최신 리뷰를 확인할 수 있는 기능을 제공합니다.

8 / 29 (목) ~ 9 / 19 (목)

👨‍👨‍👦‍👦 개발자 소개

  • 김종화 @KJongHwa : 와인 상세 페이지

  • 이형준 @leehj322 : 랜딩 페이지 / 팀장 👑

  • 손재헌 @Jaeheon96 : 로그인, 회원가입 페이지

  • 장혁수 @hyeoksuJ : 마이 페이지

  • 정인재 @Injaeeee : 와인 목록 페이지

📌 상세 계획

📝 상세 일정

image

📁wine/
│
├── 📁public/
│   ├── 📁images/                 # 이미지 파일 폴더
│   └── 📁ic_wine.svg ...
│
├── 📁src/
│   ├── 📁components/             # 재사용 가능한 컴포넌트
│   │   ├── 📁@shared/            # 공통 컴포넌트
│   │   │   ├── GlobalNavBar.tsx
│   │   │   └── Modal.tsx
│   │   ├── 📁auth/               # 로그인, 회원가입 페이지에 들어갈 컴포넌트 모음
│   │   │   ├── AuthLabel.tsx
│   │   │   └── GoogleOauthButton.tsx
│   │   └── 📁wines/              # 와인 목록/상세 페이지에 들어갈 컴포넌트 모음
│   │       ├── AddWine.tsx
│   │       └── WineItemList.tsx
│   │
│   ├── 📁pages/                  # Next.js page 라우팅 
│   │   └── 📁myprofile/             
│   │       └── index.tsx
│   │   └── 📁oauth/          
│   │       └── kakao.tsx
│   │   └── 📁signin/
│   │       └── index.tsx
│   │   └── 📁signup/
│   │       └── index.tsx
│   │   └── 📁wines/
│   │       └── [id].tsx
│   │       └── index.tsx
│   │   └── index.tsx
│   │   └── _app.tsx
│   │
│   ├── 📁libs/                   # 라이브러리 관련된 세팅 및 함수들 정리하는 폴더
│   │   └── 📁axios/              # axios 관련 세팅 및 api 요청 함수
│   │       └── axiosInstance.ts
│   │       └── 📁auth/          
│   │       └── 📁image/       
│   │       └── 📁review/      
│   │       └── 📁user/     
│   │       └── 📁wine/    
│   │
│   ├── 📁contexts/               # 전역 상태 관리 
│   │
│   ├── 📁hooks/                  # 커스텀 React 훅
│   │
│   ├── 📁types/                  # 타입 폴더 (DTO 혹은 전역적으로 사용되는 type을 미리 정의)
│   │                             # 컴포넌트 props의 경우에는 해당 컴포넌트 위치에 정의
│   │
│   ├── 📁styles/                 # 스타일 관련 파일 모음
│   │   └── global.css
│   │
│   ├── 📁constants/              # 상수 폴더
│   │   └── mediaQueryBreakPoint.ts
│   │
│   └── 📁utils/                  # 유틸리티 폴더
│
├─ .gitignore
├─ .env.local                     # 각자 환경에서 별도 생성 필요
├─ .eslintrc.json
├─ .prettierrc.json
├─ next.confing.mjs
├─ tailwind.config.ts
├─ tsconfig.json
│
...생략
OS IDE Version Control Package Manager deploy Community
macOS Windows Visual Studio Code IntelliJ IDEA Git GitHub npm Vercel Discord Gather Notion

React Next.js TypeScript Tailwind CSS Axios

👨‍🏫 주요 기능

randing list wine
랜딩 페이지 와인 목록 페이지 와인 상세 페이지
login signup myprofile
로그인 페이지 회원가입 페이지 마이 페이지

회원가입 및 로그인

페이지의 기초적인 기능으로 페이지에서 자체적으로 제공하는 페이지에서 회원가입 및 구글, 카카오로도 로그인을 할 수 있습니다. 와인 상세 페이지와 마이페이지는 로그인을 한 사용자들만 접속할 수 있습니다.

와인 목록 조회

사용자는 모든 와인의 목록을 확인할 수 있으며, 상단카드에서 달마다 평점이 높은 와인들을 추천받을수 있습니다.

필터링 기능

와인의 가격대와 평점 및 타입(레드, 화이트, 스파클링 등)으로 취향에 맞는 와인을 필터링할 수 있으며, 원하는 와인의 이름을 직접 검색할 수 있습니다.

와인 추가

사용자는 새로운 와인을 추가할 수 있으며, 이름, 가격, 원산지, 타입 등의 정보를 입력해야 합니다.

와인 상세 정보

각 와인의 이름, 가격, 평균 평점, 최신 리뷰 등의 정보를 제공합니다.

와인 리뷰 작성

사용자는 와인 상세에서 리뷰를 직접 작성할 수 있으며 별점, 와인의 맛 (바디감, 타닌, 당도, 산미 등), 향등의 정보를 남겨 공유할 수 있습니다.

마이 페이지

사용자가 작성했던 후기들이나 등록했던 와인들의 리스트들을 한 눈에 보기 쉽도록 정보들을 제공하며 수정할 수 있습니다. 또한 회원가입할때 생성한 닉네임을 변경할 수 있습니다.

1. 프로젝트 클론

git clone https://github.com/Codeit-FE08-Part3-Team6/wine.git cd wine

2. 의존성 설치

프로젝트에서 사용하는 패키지들을 설치합니다.

npm install

3. 개발 서버 실행

다음 명령어를 실행하여 로컬 개발 환경에서 프로젝트를 실행할 수 있습니다.

npm run dev

이후 브라우저에서 http://localhost:3000 으로 접속하여 개발 중인 웹 애플리케이션을 확인할 수 있습니다.

4. 빌드 및 배포

프로덕션 환경에서 사용하기 위해 빌드할 때는 아래 명령어를 사용합니다.

npm run build

그 후, 아래 명령어로 빌드된 파일을 실제로 실행합니다.

npm start

5. 배포

이 프로젝트는 Vercel을 사용하여 배포할 수 있습니다.

GitHub와 연동된 Vercel 계정을 통해 자동으로 배포되며, 코드를 push하면 자동으로 배포 프로세스가 진행됩니다.

🚀 배포 사이트

About

WINE - 나만의 와인 창고

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.6%
  • Other 1.4%