Skip to content

coral0723/devly-FE

Repository files navigation

개발자 AI 교육 서비스 devly

Image

⚠️ 현재 이 프로젝트는 백엔드 서버 없이 MSW(Mock Service Worker)로 구동되는 데모 버전입니다.
로그인 및 회원가입 버튼은 실제 OAuth 인증 없이 체험용으로 동작하며,
전체 기능 흐름(개발 용어, CS 지식, 모의 PR, 모의 면접 등)을 확인하실 수 있습니다.


프로젝트 소개

devly는 AI를 활용하여 매일 양질의 개발 학습 콘텐츠를 제공하고, 사용자 개개인에게 1:1 맞춤형 학습 관리 기능을 제공하는 개발자 교육 서비스입니다.

  • 매일 새로운 개발 용어, CS 지식, 모의 PR, 모의 면접 학습 제공

  • 문서 분석을 통한 용어 추출, 실무에 필요한 지식 추천, PR 코드·질문 생성, 면접 질문 및 피드백 제공

  • 주간 활동, 랭킹, 복습 기능으로 꾸준한 학습 동기 부여

  • Google OAuth 기반 로그인/회원가입


개발 히스토리

Next.js 15 변화 & 라우팅

서버/클라이언트 컴포넌트 & 데이터 패칭

UI/레이아웃 & 재사용

성능 최적화

네트워크/에러 처리


팀원 구성

Frontend

Backend


김산호
@coral0723

박정수
@Hwasowl

1. 개발 스택


Next.js TypeScript TanStack Query Mock Service Worker Tailwind CSS Ant Design Faker.js Day.js Vercel

2. 브랜치 전략

  • master: 배포 전용 브랜치

  • develop: 개발 메인 브랜치 (프론트엔드는 단일 개발자 체제로 develop 브랜치에서 직접 작업)

  • 커밋 시 feat, fix, style, refactor, chore 태그 사용


3. 주요 기능

[🏠 메인 페이지]

메인 페이지에서는 학습 현황과 활동 기록을 한눈에 확인할 수 있습니다.

  • 학습 선택

    • 개발 용어, 개발/CS 지식, 모의 PR, 모의 면접을 클릭하여 학습 가능
    • 각 학습별 진행 개수완료 여부가 표시됨
  • 주간 활동

    • 이번 주 학습 기록과 연속 학습 일수를 확인할 수 있음
    • 학습 완료 시 획득 XP가 표시됨
  • 네비게이션 바

    • 하단 탭을 통해 복습 · 커뮤니티 · 랭킹 페이지로 이동 가능
  • 프로필

    • 우측 상단 프로필 아이콘 클릭 시 프로필 페이지로 이동 가능

[📘 개발 영어 용어 학습]

용어 학습 용어 퀴즈

개발 영어 용어 학습 페이지에서는 영어 용어의 스펠링, 발음, 뜻, 예문을 확인하고, 학습 후 퀴즈를 통해 내용을 점검할 수 있습니다.

  • 학습 소개

    • 메인 페이지에서 '개발 용어' 클릭 시 학습 소개 페이지가 나타남
    • '학습 시작하기' 버튼을 누르면 학습 진행 가능
  • 용어 학습

    • 영어 용어의 스펠링발음 기호, , 예문을 확인 가능
    • 가운데 스피커 버튼 클릭 시 TTS로 발음을 듣고 연습 가능
  • 용어 퀴즈

    • 학습을 마친 후 퀴즈를 풀어 배운 내용을 점검 가능

[💻 개발/CS 지식 학습]

개발/CS 지식 학습 페이지에서는 주요 개념을 학습하고, 예시 코드를 통해 이해를 돕고, 학습 후 퀴즈로 내용을 점검할 수 있습니다.

  • 학습 소개

    • 메인 페이지에서 '개발/CS 지식' 클릭 시 학습 소개 페이지가 나타남
    • '학습 시작하기' 버튼을 누르면 학습 진행 가능
  • 지식 학습

    • 개발/CS 관련 개념예시 코드를 확인 가능
    • 코드와 개념을 바로 확인하며 학습 가능
  • 지식 퀴즈

    • 학습을 마친 후 퀴즈를 풀어 배운 내용을 점검 가능

[📝 모의 PR 학습]

PR 주제 선택 PR 작성 · 파일 확인 · AI 피드백

모의 PR 학습 페이지에서는 다양한 PR 주제를 선택하고, 실제 PR을 작성하며 AI 피드백을 받을 수 있습니다.

  • 주제 선택

    • 메인 페이지에서 '모의 PR' 클릭 시 다양한 PR 주제가 표시됨
    • 원하는 주제를 클릭하면 모의 PR 학습 시작 가능
  • PR 작성 및 확인

    • 우측 상단 파일 아이콘 클릭 시 변경된 파일 내용을 확인 가능
    • PR 작성 후 AI 피드백을 통해 개선점 확인 가능

[🎤 모의 면접 학습]

모의 면접 학습 페이지에서는 실제 면접처럼 AI와 대화하며 답변 연습과 꼬리질문 대응을 할 수 있습니다.

  • 주제 선택

    • 메인 페이지에서 '모의 면접' 클릭 시 다양한 면접 주제가 표시됨
    • 원하는 주제를 클릭하면 모의 면접 시작 가능
  • 실제 면접 연습

    • 사용자의 음성을 인식하여 텍스트로 변환 후 AI에게 전달
    • 사용자의 답변을 바탕으로 AI가 피드백이나 꼬리질문을 제공
    • 실제 면접관과 대화하는 것 같은 경험 가능

[📚 복습 페이지]

복습 페이지에서는 날짜별 학습 내역을 확인하고, 학습 종류별로 필터링하며 원하는 학습 내용을 다시 복습할 수 있습니다.

  • 접근 방법

    • 메인 페이지 하단에서 '복습' 클릭 시 복습 페이지로 이동
  • 날짜별 학습 내역

    • 학습한 내용을 날짜별로 확인 가능
    • 원하는 학습을 클릭하면 해당 내용을 바로 복습 가능
  • 카테고리별 필터링

    • 상단의 카테고리 버튼을 통해 개발 용어, CS 지식, 모의 PR, 모의 면접 등 학습 종류별로 필터링 가능

[🏆 랭킹 페이지]

랭킹 페이지에서는 전체 이용자 중 자신의 학습 성취도를 확인하고, 다른 사용자와 비교할 수 있습니다.

  • 접근 방법

    • 메인 페이지 하단에서 '랭킹' 클릭 시 랭킹 페이지로 이동
  • 랭킹 확인

    • 전체 이용자 수와 본인의 등수 확인 가능

[👤 프로필 페이지]

프로필 페이지에서는 사용자의 학습 현황과 활동 정보를 한눈에 확인할 수 있습니다.

  • 사용자 정보

    • 프로필 이미지와 Frontend/Backend 개발자 종류 확인 가능
    • 학습 일수획득 경험치(XP) 확인 가능
  • 학습 활동 요약

    • 학습한 용어 수, 학습한 지식
    • 완료한 PR 수, 참여한 모의 면접 수 확인 가능

4. 프로젝트 구조

src/
├── app/
│ ├── afterlogin/ # 로그인 후 사용자 화면
│ │ ├── _component/ # afterlogin 전용 UI 컴포넌트
│ │ ├── home/ # 홈 페이지
│ │ ├── interview/ # 면접 페이지
│ │ ├── knowledge/ # 지식 페이지
│ │ ├── pr/ # PR 페이지
│ │ ├── profile/ # 프로필 페이지
│ │ ├── ranking/ # 랭킹 페이지
│ │ ├── review/ # 복습 페이지
│ │ ├── word/ # 단어 페이지
│ │ └── layout.tsx # afterlogin 전용 레이아웃
│ │
│ ├── beforelogin/ # 로그인 전 화면
│ │ ├── _component/ # beforelogin 전용 UI 컴포넌트
│ │ ├── layout.tsx # beforelogin 전용 레이아웃
│ │ └── page.tsx # 기본 페이지
│ │
│ ├── _component/ # 앱 전체 공통 UI 컴포넌트
│ ├── _lib/ # API 요청 함수 및 유틸 함수
│ ├── auth/ # 인증 관련 기능
│ ├── globals.css # 전역 CSS
│ ├── layout.tsx # 앱 전체 공통 레이아웃
│ └── not-found.tsx # 404 페이지
│
├── components/ # Skeleton UI만 포함
├── mocks/ # MSW(Mock Service Worker) 관련 파일
│ ├── browser.ts
│ ├── handler.ts
│ └── http.ts
└── model/ # 타입 및 데이터 모델

About

AI를 활용해 매일 양질의 개발 컨텐츠를 제공, 1:1로 학습을 관리해주는 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published