Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
4fbcdfe
Merge pull request #5 from codeit-team3/main
cloud0406 Nov 27, 2024
5fe63de
Merge branch 'main' of https://github.com/codeit-team3/FE into develop
cloud0406 Nov 27, 2024
93b6e12
💄[Design] 전역 배경 색상 및 패딩 설정 #13
haegu97 Nov 27, 2024
acd753f
Merge pull request #23 from codeit-team3/13-feature-전역적인-디자인-여백-조절
haegu97 Nov 28, 2024
e5ff7e3
📦[Chore] discord webhook 연결 (#25)
cloud0406 Nov 28, 2024
22615d7
✨ [Feature] participantcounter 컴포넌트 만들기 (#27)
cloud0406 Nov 28, 2024
6a6e6dc
✨[Feature] ConfirmedLabel 컴포넌트 개발 (#28)
cloud0406 Nov 29, 2024
3bc804e
✨[Feat] 헤더 네비게이션 바 구현#9 (#29)
haegu97 Nov 29, 2024
1ed9aab
✨ [Feature] progressBar 컴포넌트 개발 (#30)
cloud0406 Nov 29, 2024
a82d481
✨ [Feat] TextChip 컴포넌트 개발 (#33)
cloud0406 Nov 29, 2024
43e1a4b
💄[Design] rootlayout 상단 padding 추가 (#65)
cloud0406 Dec 3, 2024
d83c0f4
✨[Feat] 공통컴포넌트 button 구현 #11 (#37)
wynter24 Dec 3, 2024
c08af6f
📦[Chore] ci 작업 범위 및 메시지 수정 (#53)
cloud0406 Dec 4, 2024
6ec7924
✨[Feat] WrittenReview, RatingDisplay 컴포넌트 생성 #38 (#49)
wynter24 Dec 4, 2024
aca5584
📦[Chore] 줄 바꿈 스타일(LF) 통일 .gitattributes 파일 추가 #70 (#71)
wynter24 Dec 4, 2024
e48632b
✨[Feat] Color system 및 breakpoint, storybook preview 적용 (#76)
cloud0406 Dec 6, 2024
a66ea62
✨[Feat] Avatar, AvatarGroup 컴포넌트 구현 (#69)
cloud0406 Dec 6, 2024
68de6ce
✨[Feat] CardList 컴포넌트 개발 (#42)
cloud0406 Dec 6, 2024
f7740af
♻️[Refactor] tailwind config 수정 (#97)
cloud0406 Dec 9, 2024
02157c7
✨[Feat] 로그인 기능 구현 #34 (#45)
haegu97 Dec 9, 2024
a07eb03
🐛[Fix] LoginForm storybook 에러 해결 (#101)
haegu97 Dec 9, 2024
979e9bb
💄[Design] 헤더 네비게이션 바 디자인 색상 변경 (#90)
haegu97 Dec 9, 2024
5a77631
✨[Feat] 로그인 유저 정보 전역으로 관리 기능 구현 #105 (#106)
haegu97 Dec 9, 2024
0860367
✨[Feat] FilterCheckbox 컴포넌트 구현 #73 (#104)
wynter24 Dec 10, 2024
2dca0d4
✨[Feat] common dropdown 구현 #47 (#109)
sunnwave Dec 10, 2024
a002fdb
✨[Feat] Tab 컴포넌트 구현 #107 (#111)
haegu97 Dec 10, 2024
2ed8188
♻️ [Refactor] common Button UI 리팩토링 #99 (#110)
wynter24 Dec 10, 2024
eb26f65
♻️ [Refactor] Card Component 리팩토링 (#112)
cloud0406 Dec 10, 2024
2df25d3
✨[Feat] 검색창 구현 #120 (#121)
haegu97 Dec 11, 2024
b4aaa46
✨[Feat] 헤더 바에 있는 유저 버튼 드롭다운 버튼으로 변경 #103 (#118)
haegu97 Dec 11, 2024
8b5d6f0
♻️[Refactor] 로그인 버튼 공용 컴포넌트 버튼으로 변경 #124 (#127)
haegu97 Dec 11, 2024
10e17cb
✨[Feat] Common SortingButton 구현 #94 (#117)
sunnwave Dec 11, 2024
3e50d19
✨[Feat] 로그아웃 기능 구현 #128 (#131)
haegu97 Dec 11, 2024
7c38437
♻️[Refactor] feature common popup #10 (#133)
sunnwave Dec 11, 2024
4b42c07
♻️ [Refactor] Compound Pattern 적용하여 WrittenReview 컴포넌트 구조 개선 #100 (#130)
wynter24 Dec 12, 2024
0076ac2
💄[Design] Sub_Tab 디자인 변경 (#136)
haegu97 Dec 12, 2024
6a68ac3
♻️[Refactor] 토큰 만료 시간 추가, 헤더 바 새로고침 시 isLoggedIn 상태 확인 #137 (#138)
haegu97 Dec 12, 2024
e2b7db4
✨ [Feature] 나의 모임 카드 구현 (#142)
cloud0406 Dec 12, 2024
e04aad8
♻️[Refactor] 버튼 컴포넌트 리팩토링 #143 (#144)
sunnwave Dec 12, 2024
2b22db7
✨[Feat] Modal 컴포넌트, 프로필 수정 / 리뷰 작성 모달 개발 #141 (#145)
haegu97 Dec 13, 2024
54d9fb8
[Merge] 모임 페이지 branch와 develop 병합 #72 (#150)
wynter24 Dec 13, 2024
127e4c5
♻️[Refactor] 토큰 만료 시 유저 정보 초기화 #148 (#149)
haegu97 Dec 13, 2024
cf8d4e9
💄[Design] 프로필 페이지 레이아웃 구현 #119 (#152)
sunnwave Dec 14, 2024
fc6a6fa
✨[Feat] WrittenReview를 활용한 ClubReview 컴포넌트 생성 #154 (#156)
wynter24 Dec 14, 2024
bace1ac
♻️ [Refactor] Card 리팩토링 (#151)
cloud0406 Dec 14, 2024
d2337c1
✨[Feat] 회원가입 기능 구현 #91 (#163)
haegu97 Dec 15, 2024
2444d50
💄[Design] 모임 상세 페이지 UI 구현 #147 (#166)
wynter24 Dec 15, 2024
bd97d82
[Merge] 배포 테스트를 위한 병합 - 모임메인페이지 merge to develop (#169)
wynter24 Dec 15, 2024
816bcff
✨[Feat] feature page profile 프로필 컴포넌트 구현 #153 (#164)
sunnwave Dec 15, 2024
003546e
✨ [Feature] 모임 만들기 페이지 구현 (#171)
cloud0406 Dec 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
{
"extends": ["next/core-web-vitals", "prettier"],
"plugins": ["prettier", "react-hooks"],
"plugins": ["prettier", "react-hooks", "@typescript-eslint"],
"rules": {
"prettier/prettier": "error",
"no-unused-vars": "error"
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "error"
},
"settings": {
"import/resolver": {
Expand Down
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.ts text eol=lf
*.tsx text eol=lf
9 changes: 8 additions & 1 deletion .github/workflows/chromatic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,14 @@
name: 'Chromatic Deployment'

# Event for the workflow
on: push
on:
push:
branches:
- develop
pull_request:
branches:
- '**'
- '!main'

# List of jobs
jobs:
Expand Down
40 changes: 0 additions & 40 deletions .github/workflows/ci-develop.yml

This file was deleted.

91 changes: 91 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: CI

on:
pull_request:
branches:
- '**'
- '!main'
push:
branches:
- develop

jobs:
ci:
name: Lint, Test, and Build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20]
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm install

- name: Run ESLint
run: npm run lint

- name: Run Tests
run: npm test

- name: Build Next.js app
run: npm run build

- name: Build Storybook
run: npm run build-storybook

notify-discord:
needs: ci
runs-on: ubuntu-latest
if: success()
steps:
- name: Send Discord Notification
env:
WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
DATA: >
{
"embeds": [
{
"title": "${{
format('{0}',
(github.base_ref == 'develop' || github.ref_name == 'develop')
&& '🚀 Develop 브랜치 CI 알림'
|| '🎉 새 작업 CI 알림'
)
}}",
"description": "${{
format('{0}',
github.event_name == 'pull_request'
&& (github.base_ref == 'develop'
&& format('Develop 브랜치로 새로운 PR이 등록되었습니다! ({0} → develop)', github.head_ref)
|| format('새로운 PR이 등록되었습니다! ({0} → {1})', github.head_ref, github.base_ref)
)
|| 'Develop 브랜치에 Push가 완료되었습니다!'
)
}}",
"url": "${{ github.event.pull_request.html_url || github.event.head_commit.url }}",
"color": 5814783,
"fields": [
{
"name": "Repository",
"value": "${{ github.repository }}"
},
{
"name": "Branch",
"value": "${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}"
}
]
}
]
}
run: |
curl -X POST \
-H "Content-Type: application/json" \
-d "$DATA" \
$WEBHOOK_URL
35 changes: 33 additions & 2 deletions .github/workflows/main-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,49 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x] # Node.js 18.x와 20.x 버전으로 테스트
node-version: [18.x, 20.x]
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }} # 매트릭스를 사용하여 버전 설정
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm install

- name: Build Next.js app
run: npm run build

notify-discord:
needs: deploy-production
runs-on: ubuntu-latest
if: success()
steps:
- name: Send Discord Notification
env:
WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
DATA: >
{
"embeds": [
{
"title": "🚀 main 브랜치 알림",
"description": "${{ github.event_name == 'pull_request' && '새로운 PR이 성공적으로 등록되었습니다!' || 'Push가 성공적으로 완료되었습니다!' }}",
"url": "${{ github.event.pull_request.html_url || github.event.head_commit.url }}",
"color": 5814783,
"fields": [
{
"name": "Repository",
"value": "${{ github.repository }}"
}
]
}
]
}
run: |
curl -X POST \
-H "Content-Type: application/json" \
-d "$DATA" \
$WEBHOOK_URL
25 changes: 25 additions & 0 deletions .storybook/preview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,31 @@ const preview: Preview = {
date: /Date$/i,
},
},
viewport: {
viewports: {
mobile: {
name: 'Mobile',
styles: {
width: '375px',
height: '1168px',
},
},
tablet: {
name: 'Tablet',
styles: {
width: '744px',
height: '1343px',
},
},
desktop: {
name: 'Desktop',
styles: {
width: '1920px',
height: '1080px',
},
},
},
},
},
};

Expand Down
9 changes: 9 additions & 0 deletions global.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
declare global {
interface Window {
daum: {
Postcode: new (config: any) => any;
};
}
}

export {};
25 changes: 17 additions & 8 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
module.exports = {
testEnvironment: "jest-environment-jsdom",
transform: {
"^.+.tsx?$": "ts-jest",
},
moduleNameMapper: {
"^@/(.*)$": "<rootDir>/$1",
},
const nextJest = require('next/jest');

/** @type {import('jest').Config} */
const createJestConfig = nextJest({
// Provide the path to your Next.js app to load next.config.js and .env files in your test environment
dir: './',
});

// Add any custom config to be passed to Jest
const config = {
coverageProvider: 'v8',
testEnvironment: 'jsdom',
// Add more setup options before each test is run
// setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
};

// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
module.exports = createJestConfig(config);
6 changes: 4 additions & 2 deletions next.config.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import type { NextConfig } from "next";
import type { NextConfig } from 'next';

const nextConfig: NextConfig = {
/* config options here */
images: {
domains: ['sprint-fe-project.s3.ap-northeast-2.amazonaws.com'],
},
};

export default nextConfig;
Loading
Loading