Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2 feature 로그인 페이지 폼 구현 및 멀티-root layout 구조 변경 #25

Merged
merged 9 commits into from
Jan 13, 2025

Conversation

MUNJEONGJUN
Copy link
Collaborator

@MUNJEONGJUN MUNJEONGJUN commented Jan 9, 2025

📄 Description of the PR

  1. 멀티-root layout
  • 로그인 페이지를 별도 레이아웃으로 관리하기 위해 폴더 구조를 변경
  • 기존의 RootLayout과 충돌을 방지하고, 로그인 페이지에 특화된 디자인 및 구성을 적용할 수 있도록 개선
  1. 로그인 페이지 폼 구현
  • 사용자 이메일 및 비밀번호 입력을 위한 로그인 폼 컴포넌트 구현
  • 클라이언트에서 입력된 데이터를 상태로 관리하고, 폼 제출 시 비동기 처리를 통해 서버와 통신하도록 설계
  1. 기타 작업
  • useTransition 및 useState를 활용하여 폼 제출 시 상태를 관리
  • LoginInputForm 컴포넌트 추가: 재사용 가능한 폼 필드 컴포넌트 구현
  • UI 개선:
    Chakra UI를 활용하여 직관적이고 깔끔한 레이아웃 구성
    반응형 디자인 적용 (모바일 및 데스크톱 지원)
  • 에러 메시지 처리 로직 추가: 유효성 검사 및 사용자 친화적인 오류 알림 구현

🔧 What has been changed?

  1. 폴더 구조
    image

  2. 추가된 파일

  • LoginInputForm.tsx: 로그인 페이지 폼 컴포넌트
  • LoginRootLayout.tsx: 로그인 전용 레이아웃 파일
  • members_mock_data.json: 로그인 기능 테스트를 위한 가상 사용자 데이터 정의 파일 (DB 테이블 구조 반영)
  • loginForm.ts: 로그인 폼 컴포넌트에서 사용되는 데이터 타입 정의 인터페이스 파일
  • loginActions.ts: 로그인 요청/응답 처리 담당 서버 액션 파일 (use server)
  1. 수정된 파일
  • (projects 폴더 내) 기존 RootLayout.tsx 및 관련 구성 파일

📸 Screenshots / GIFs (if applicable)

  • 로그인 페이지 레이아웃
    image
  • 유효성 검사 (입력 여부 / 이메일 형식)
    image
  • Mock 데이터에서 사용자 찾기
    image
  • 로그인 성공 시 대시보드로 redirect (서버 컴포넌트에서 실행)
    image

⚠️ Precaution & Known issues

  • 추후 JWT 기반 인증 로직을 통해 로그인 인증 및 서버 통신 기능 구현 예정
  • MSW(Mock Service Worker)를 활용하여 가상 API를 생성, 실제 서버 구현 전에 인증 및 서버 통신 로직을 사전 검증할 계획
  • 리다이렉트 및 세션 관리 방식은 JWT 기반 인증 방식으로 대체되므로 관련 구현은 제외

✅ Checklist

  • 로그인 폼 UI 확인
  • 이메일 및 비밀번호 입력값 상태 업데이트 정상 동작
  • 폼 제출 시 비동기 처리 및 에러 핸들링 정상 동작
  • 모바일 및 데스크톱 화면에서 레이아웃 확인

- 기존 root layout 관련 파일(layout.tsx, page.tsx, favicon.ico) 위치 변경 ((home) > root layout 파일들,  projects 폴더)
- login 폴더 내 새로운 root layout 관련 파일 생성(layout.tsx, page.tsx,
  favicon.ico)
@MUNJEONGJUN MUNJEONGJUN added FEATURE 기능 추가 REFACTOR 리팩토링 labels Jan 9, 2025
@MUNJEONGJUN MUNJEONGJUN linked an issue Jan 9, 2025 that may be closed by this pull request
3 tasks
@kimyounghee425
Copy link
Collaborator

확인했습니다.

- Server Action 로직 삭제
- MSW(Mock Service Worker)를 활용하여 가상 API 생성
- Client Side 에서 리다이렉트 및 토큰 로컬스토리지 저장되도록 구현
- 실제 서버 구현 전 인증 및 서버 통신 로직 사전 검증 완료
- Server Action 로직 삭제
- MSW(Mock Service Worker)를 활용하여 가상 API 생성
- Client Side 에서 리다이렉트 및 토큰 로컬스토리지 저장되도록 구현
- 실제 서버 구현 전 인증 및 서버 통신 로직 사전 검증 완료
src/components/pages/LoginPage/index.tsx Outdated Show resolved Hide resolved
src/components/pages/LoginPage/index.tsx Outdated Show resolved Hide resolved
@Sang-Ho-Jeon Sang-Ho-Jeon merged commit 55d0b1b into main Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FEATURE 기능 추가 REFACTOR 리팩토링
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] 로그인 페이지
3 participants