Skip to content

Conversation

@dbswl701
Copy link
Contributor

@dbswl701 dbswl701 commented Feb 20, 2025

📝 주요 작업 내용

  • 로그인 페이지 마크업
  • 로그인 기능 개발
    • react-query를 이용하여 데이터 패칭
    • 로그인 성공 시 헤더로 오는 토큰을 쿠키로 저장
  • 로그인 유효성 검사
    • 입력 후 해당 입력 박스에서 포커스를 이동한 경우.
    • 입력 박스에 포커스를 두고 1초 이상 아무런 입력도 하지 않은 경우.
    • 로그인 혹은 회원가입 버튼을 클릭한 경우.
  • axios instance 설정
    • basicAPI, authAPI로 분리
    • authAPI 사용 시 쿠키에 있는 accessToken을 헤더에 담아 전송
  • react-query, react-query-devtools, zustand 설치
  • 디바운스 훅 구현

📺 스크린샷

image

🔗 참고 사항

  • 주요 작업 내용을 참고해주세요.
  • 회원가입 마크업이 지금 같이 올라갔는데 이 부분은 회원가입 pr에서 같이 확인 부탁드립니다.
  • middleware는 개발이 어느정도 진행되면 붙이겠습니다.

💬 리뷰 요구사항

  • api 관련된 내용들 컨벤션에 맞게 했는지 확인 부탁드립니다.

📃 관련 이슈

DEVING-24

Summary by CodeRabbit

  • New Features

    • 새로운 로그인 및 회원가입 페이지 도입: 간편한 인증, 입력 유효성 검사, 비밀번호 복구와 가입 링크 제공.
    • 헤더 UI 업데이트: 로그인 상태에 따라 맞춤형 메뉴가 표시되어 사용자 경험 개선.
    • 데이터 및 상태 관리 강화: 향상된 컨텍스트 제공을 통해 원활한 데이터 처리와 인증 흐름 지원.
    • React Query를 활용한 데이터 페칭 및 상태 관리 기능 추가.
    • 로그인 및 회원가입 양식의 유효성 검사 및 오류 메시지 표시 기능 도입.
    • 더미 사용자 로그인 기능 추가: 미리 정의된 이메일과 비밀번호로 간편 로그인 지원.
    • 로그인 양식 및 회원가입 양식의 새로운 구성 요소 추가.
  • Style

    • 전역 배경 스타일 개선: 일관된 시각 효과 제공.
    • 입력 요소의 자동 완성 스타일 개선.
  • Chores

    • 내부 의존성 및 개발 도구 업데이트로 전반적인 성능과 유지보수성 강화.

@dbswl701 dbswl701 self-assigned this Feb 20, 2025
@vercel
Copy link

vercel bot commented Feb 20, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
moim-fe ❌ Failed (Inspect) Feb 25, 2025 1:37am
moim-fe-1kc6 ❌ Failed (Inspect) Feb 25, 2025 1:37am

@coderabbitai
Copy link

coderabbitai bot commented Feb 20, 2025

Walkthrough

이번 PR은 여러 새로운 의존성 추가와 함께, 로그인 및 회원가입 기능을 위한 새로운 컴포넌트와 커스텀 훅을 도입합니다. 또한 React Query 제공자를 활용하여 레이아웃 구조를 개선하고, Axios 인스턴스와 인터셉터를 통해 인증 관련 API 호출 로직을 추가하였습니다. 헤더 컴포넌트의 조건부 렌더링 로직을 반전시키는 수정도 포함되어 있습니다.

Changes

파일 변경 요약
package.json 새로운 의존성(@tanstack/react-query, @tanstack/react-query-devtools, axios, react-hook-form, zustand) 추가 및 개발 의존성(@tanstack/eslint-plugin-query) 추가
기존 tailwindcss-animate 의 버전 유지
src/app/layout.tsx,
src/hooks/useReactQuery.tsx
React Query Provider 도입으로 기존 Header와 children을 감싸도록 레이아웃 변경
src/app/login/components/LoginForm.tsx,
src/app/login/page.tsx
새로운 로그인 폼 컴포넌트와 페이지 도입
폼 검증, 제출 처리 및 관련 훅(useLoginForm) 적용
src/app/signup/page.tsx 새로운 회원가입 페이지 도입
React Hook Form 기반 폼 상태 관리 및 유효성 검사 구현
src/components/common/Header.tsx 로그인 상태에 따른 조건부 렌더링 로직 반전 처리 (로그인 전/후 컴포넌트 전환)
src/hooks/mutations/useUserMutation.ts,
src/hooks/useDebounce.ts,
src/hooks/useLoginForm.ts
사용자 로그인 처리, 디바운스 및 폼 상태 관리를 위한 커스텀 훅 추가
src/lib/axios/authApi.ts,
src/lib/axios/basicApi.ts,
src/lib/axios/defaultConfig.ts,
src/lib/serverActions.ts,
src/service/api/user.ts
Axios 인스턴스 설정 및 기본 구성, 인증 인터셉터 추가, 서버 쿠키를 통한 액세스 토큰 관리 및 로그인 API 함수 도입
src/styles/globals.css body 요소의 배경 클래스 수정 (bg-backgroundbg-BG)

Suggested labels

💄 style

Suggested reviewers

  • Lee-Dong-Seok
  • clyde-yoonjae

Poem

나는 귀여운 토끼, 코드 숲을 달리네
새로운 의존성들이 반짝이며 춤추네
로그인과 회원가입, 흐름은 매끄럽게
React Query는 맑은 물처럼 흐르네
변화의 바람 따라, 코드는 꽃피우네 🐰✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@codecov
Copy link

codecov bot commented Feb 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

@github-actions
Copy link

CI Status Report

검사 결과

  • Lint: ✅ success
  • Format: ✅ success
  • Type Check: ✅ success
  • Tests: ✅ success
  • Build: ✅ success

✅ 모든 검사가 통과되었습니다.

@vercel vercel bot temporarily deployed to Preview – moim-fe February 21, 2025 02:27 Inactive
@vercel vercel bot temporarily deployed to Preview – moim-fe February 21, 2025 02:27 Inactive
@github-actions
Copy link

CI Status Report

검사 결과

  • Lint: ✅ success
  • Format: ✅ success
  • Type Check: ✅ success
  • Tests: ✅ success
  • Build: ✅ success

✅ 모든 검사가 통과되었습니다.

@dbswl701 dbswl701 dismissed stale reviews from lee1nna and clyde-yoonjae via da8c05f February 24, 2025 06:13
@vercel vercel bot temporarily deployed to Preview – moim-fe February 24, 2025 06:14 Inactive
@github-actions
Copy link

CI Status Report

검사 결과

  • Lint: ✅ success
  • Format: ✅ success
  • Type Check: ✅ success
  • Tests: ✅ success
  • Build: ❌ failure

❌ 일부 검사가 실패했습니다.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
src/hooks/useDebounde.ts (1)

3-9: 문서화 개선 제안

현재 문서화가 잘 되어있지만, 반환 값이나 사용 예시를 추가하면 더 좋을 것 같습니다.

JSDoc에 다음 내용을 추가하는 것을 제안드립니다:

 /**
  * 특정 값이 변경된 후 지정된 시간이 지나면 콜백 함수를 실행하는 Debounce 훅
  *
  * @param {T} value - 감지할 값
  * @param {number} delay - 딜레이(ms) (기본값: 1000ms)
  * @param {Function} callback - 딜레이 후 실행할 콜백 함수
+ * @returns {void}
+ * @example
+ * useDebounce({
+ *   value: searchTerm,
+ *   delay: 500,
+ *   callBack: () => validateSearch(searchTerm)
+ * });
  */
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 75524c2 and da8c05f.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (9)
  • package.json (1 hunks)
  • src/app/layout.tsx (2 hunks)
  • src/app/login/page.tsx (1 hunks)
  • src/components/common/Header.tsx (2 hunks)
  • src/hooks/useDebounde.ts (1 hunks)
  • src/hooks/useLoginForm.ts (1 hunks)
  • src/lib/axios/authApi.ts (1 hunks)
  • src/lib/serverActions.ts (1 hunks)
  • src/styles/globals.css (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (7)
  • src/lib/serverActions.ts
  • src/styles/globals.css
  • src/app/layout.tsx
  • src/app/login/page.tsx
  • src/hooks/useLoginForm.ts
  • src/components/common/Header.tsx
  • src/lib/axios/authApi.ts
🧰 Additional context used
🪛 GitHub Check: check
src/hooks/useDebounde.ts

[warning] 1-1:
'useState' is defined but never used. Allowed unused vars must match /^_/u

🔇 Additional comments (5)
package.json (5)

20-21: 검토: React Query 의존성 추가

새로운 @tanstack/react-query@tanstack/react-query-devtools 의존성이 추가되었습니다. React Query를 활용한 데이터 페칭과 캐싱이 로그인 페이지와 관련 기능에 잘 활용될 것으로 보입니다. 이 변경 사항에 따른 사용법 문서와 예제를 참고하여 올바른 구현을 보장하시기 바랍니다.


23-23: 검토: Axios 의존성 추가

axios 라이브러리가 ^1.7.9 버전으로 추가되었습니다. API 요청 및 인터셉터 구성이 로그인 및 인증 흐름에 중요한 역할을 하므로, 최신 버전의 변경 사항을 확인하고 테스트하시기 바랍니다.


30-30: 검토: React Hook Form 의존성 추가

react-hook-form^7.54.2 버전으로 추가되어 로그인 폼의 입력 관리 및 유효성 검증에 활용될 예정입니다. 해당 라이브러리의 기능을 잘 활용하여 안정적인 폼 구현을 진행해주시기 바랍니다.


33-33: 검토: Zustand 의존성 추가

상태 관리를 위해 zustand^5.0.3 버전으로 추가되었습니다. 간단하고 효율적인 글로벌 상태 관리를 지원하므로, 로그인 상태나 사용자 관련 정보를 관리하는 데 유용할 것입니다.


37-37: 검토: ESLint 플러그인 의존성 추가

개발 의존성에 @tanstack/eslint-plugin-query^5.66.1 버전으로 추가되었습니다. 이는 React Query 관련 코드의 일관성과 품질을 유지하는 데 도움을 줄 것으로 보입니다. 적절히 설정하여 lint 규칙을 강화해 주세요.

@@ -0,0 +1,32 @@
import { useEffect, useState } from 'react';
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

사용하지 않는 import 제거 필요

useState를 import 했지만 코드에서 사용하지 않고 있습니다.

다음과 같이 수정해주세요:

-import { useEffect, useState } from 'react';
+import { useEffect } from 'react';
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import { useEffect, useState } from 'react';
import { useEffect } from 'react';
🧰 Tools
🪛 GitHub Check: check

[warning] 1-1:
'useState' is defined but never used. Allowed unused vars must match /^_/u

Comment on lines +19 to +21
useEffect(() => {
if (!value) return;
const timer = setTimeout(() => {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

빈 문자열 처리 로직 개선 필요

현재 구현에서는 빈 문자열("")이 falsy 값으로 처리되어 콜백이 실행되지 않습니다. 이는 사용자가 입력을 지웠을 때도 적절한 validation이 필요한 경우에 문제가 될 수 있습니다.

다음과 같이 수정하는 것을 제안드립니다:

  useEffect(() => {
-   if (!value) return;
+   if (value === null || value === undefined) return;
    const timer = setTimeout(() => {
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
useEffect(() => {
if (!value) return;
const timer = setTimeout(() => {
useEffect(() => {
- if (!value) return;
+ if (value === null || value === undefined) return;
const timer = setTimeout(() => {
// callback logic here
}, delay);
return () => clearTimeout(timer);
}, [value]);

@vercel vercel bot temporarily deployed to Preview – moim-fe February 24, 2025 06:45 Inactive
@github-actions
Copy link

CI Status Report

검사 결과

  • Lint: ✅ success
  • Format: ✅ success
  • Type Check: ✅ success
  • Tests: ✅ success
  • Build: ❌ failure

❌ 일부 검사가 실패했습니다.

@github-actions
Copy link

CI Status Report

검사 결과

  • Lint: ✅ success
  • Format: ✅ success
  • Type Check: ✅ success
  • Tests: ✅ success
  • Build: ❌ failure

❌ 일부 검사가 실패했습니다.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (1)
src/app/login/page.tsx (1)

20-27: 접근성 개선을 위한 수정이 필요합니다.

  1. 페이지의 주요 영역을 semantic HTML을 사용하여 구분해주세요.
  2. 적절한 heading 태그를 추가하여 페이지 구조를 명확히 해주세요.
 export default function Login() {
   return (
-    <div className="flex min-h-screen flex-col items-center justify-center">
+    <main className="flex min-h-screen flex-col items-center justify-center">
+      <h1 className="sr-only">Deving 로그인</h1>
       <LoginForm />
       <DummyUser />
-    </div>
+    </main>
   );
 }
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e0f2174 and 823888d.

📒 Files selected for processing (2)
  • src/app/login/components/DummyUser.tsx (1 hunks)
  • src/app/login/page.tsx (1 hunks)
🧰 Additional context used
🪛 GitHub Check: check
src/app/login/page.tsx

[warning] 1-1:
'Button' is defined but never used. Allowed unused vars must match /^_/u

🔇 Additional comments (1)
src/app/login/page.tsx (1)

7-18: 메타데이터 설정을 환경에 맞게 개선해주세요.

이전 리뷰 코멘트에서 지적된 메타데이터 관련 개선사항을 반영해주세요.

Comment on lines +20 to +21
email: '[email protected]',
password,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

테스트 계정 정보를 설정 파일로 분리해주세요.

이메일 주소가 코드에 직접 노출되어 있습니다. 테스트 계정 정보를 별도의 설정 파일로 분리하여 관리하는 것이 좋습니다.

src/config/testAccounts.ts 파일을 생성하여 다음과 같이 관리할 것을 제안합니다:

export const TEST_ACCOUNTS = [
  { email: '[email protected]', name: '강윤지' },
  { email: '[email protected]', name: '이윤재' },
  { email: '[email protected]', name: '이동석' },
  { email: '[email protected]', name: '이한나' },
] as const;

그리고 컴포넌트를 다음과 같이 수정하세요:

+import { TEST_ACCOUNTS } from '@/config/testAccounts';

const DummyUser = () => {
  // ...
  return (
    <div>
-      <Button
-        onClick={() =>
-          mutate({
-            email: '[email protected]',
-            password,
-          })
-        }
-      >
-        강윤지
-      </Button>
-      // ... other buttons
+      {TEST_ACCOUNTS.map(({ email, name }) => (
+        <Button
+          key={email}
+          onClick={() => mutate({ email, password })}
+        >
+          {name}
+        </Button>
+      ))}
    </div>
  );
};

Also applies to: 30-31, 40-41, 50-51


const DummyUser = () => {
const router = useRouter();
const password = 'test1234';
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

비밀번호를 코드에 직접 노출하지 마세요.

하드코딩된 비밀번호는 보안 위험을 초래할 수 있습니다. 환경 변수나 설정 파일을 통해 관리하는 것이 좋습니다.

-  const password = 'test1234';
+  const password = process.env.NEXT_PUBLIC_TEST_PASSWORD;
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const password = 'test1234';
const password = process.env.NEXT_PUBLIC_TEST_PASSWORD;

Comment on lines +7 to +59
const DummyUser = () => {
const router = useRouter();
const password = 'test1234';

const { mutate } = useLoginMutation({
onSuccessCallback: () => router.push('/'),
});

return (
<div>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
강윤지
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이윤재
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이동석
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이한나
</Button>
</div>
);
};
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

개발 환경에서만 DummyUser 컴포넌트가 렌더링되도록 수정해주세요.

프로덕션 환경에서 테스트 계정이 노출되지 않도록 환경 변수를 통해 조건부 렌더링을 추가하는 것이 좋습니다.

const DummyUser = () => {
+  if (process.env.NODE_ENV === 'production') {
+    return null;
+  }

  const router = useRouter();
  // ... rest of the component
};
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const DummyUser = () => {
const router = useRouter();
const password = 'test1234';
const { mutate } = useLoginMutation({
onSuccessCallback: () => router.push('/'),
});
return (
<div>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
강윤지
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이윤재
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이동석
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이한나
</Button>
</div>
);
};
const DummyUser = () => {
if (process.env.NODE_ENV === 'production') {
return null;
}
const router = useRouter();
const password = 'test1234';
const { mutate } = useLoginMutation({
onSuccessCallback: () => router.push('/'),
});
return (
<div>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
강윤지
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이윤재
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이동석
</Button>
<Button
onClick={() =>
mutate({
email: '[email protected]',
password,
})
}
>
이한나
</Button>
</div>
);
};

@@ -0,0 +1,27 @@
import { Button } from '@/components/ui/Button';
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

사용하지 않는 Button 컴포넌트 import를 제거해주세요.

-import { Button } from '@/components/ui/Button';
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import { Button } from '@/components/ui/Button';
// (The unused import statement has been removed)
🧰 Tools
🪛 GitHub Check: check

[warning] 1-1:
'Button' is defined but never used. Allowed unused vars must match /^_/u

@vercel vercel bot temporarily deployed to Preview – moim-fe February 25, 2025 01:36 Inactive
@github-actions
Copy link

CI Status Report

검사 결과

  • Lint: ✅ success
  • Format: ✅ success
  • Type Check: ✅ success
  • Tests: ✅ success
  • Build: ✅ success

✅ 모든 검사가 통과되었습니다.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
.github/workflows/pr-check.yml (1)

28-32: 환경 파일 생성 단계에서 파일 초기화 고려

새롭게 추가된 Create .env file 단계는 secrets에 저장된 환경 변수를 올바르게 .env 파일에 기록하여 API 기본 URL 설정에 사용되는 점에서 좋습니다. 다만, 현재는 >> 연산자를 사용하여 기존 .env 파일에 내용을 추가하기 때문에 이전 값이 남아있을 가능성이 있습니다.
이를 방지하기 위해 최초 기록 시 > 연산자를 사용하여 파일을 초기화한 후, 이후 추가 기록이 필요하면 >>를 사용하는 방식을 고려해보세요.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 823888d and 08d7377.

📒 Files selected for processing (1)
  • .github/workflows/pr-check.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: check

Copy link
Contributor

@lee1nna lee1nna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다 !!!

@dbswl701 dbswl701 merged commit 6526839 into feat/markup/DEVING-10 Feb 25, 2025
5 of 7 checks passed
@dbswl701 dbswl701 deleted the feat/markup/login/DEVING-24 branch February 25, 2025 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants