Skip to content

DongilMin/diary_front

 
 

Repository files navigation

감정 일기장 프론트엔드


TODO

  • 공통

  • 대시보드(dashboard)

    • 날짜별 감정 통계 구현(api를 요청하거나 diary에서 직접 추출)
    • 다른 탭에 비해 좌우로 넓기 때문에 줄일지 고민이 필요
    • 추천 일기 메커니즘(있는지 확인 필요)
  • 내 일기(my-diary)

    • 달력처럼 월별로 검색하게 하는게 사실 정석
    • UserInfoCard의 위치가 다른 페이지와 맞지 않음
  • 일기 내부(diary)

    • 초기 버전에서 거의 손대지 않음, 내 일기 탭에 맞춰서 수정해야 할 수도
  • 일기 작성(write)

    • 전체적인 UI개선
    • 쓰다가 막혔을 때 ai질문 기능 사용하는지 여부 확인
    • Header부분 수정 필요
    • 다른 페이지로 이동하는 라우팅 부족
  • 나눔방(communities)

    • 커뮤니티 추천 기능 구현(하루에 한번 갱신되는걸 반영하게 해주는 기능 필요)
    • 트렌딩 탭을 어떻게 구현해 볼 건지 지울 건지 고민
    • 커뮤니티 상세 정보 확장
  • 나눔방 내부(community)

    • 아직 페이지 구현이 되어 있지 않음

감정 일기장은 사용자가 자신의 감정과 하루를 기록하고, 다양한 커뮤니티에서 소통할 수 있는 감정 기반 일기 서비스입니다.
이 저장소는 Next.js 기반의 프론트엔드 코드입니다.


주요 기능

  • 일기 작성/수정/삭제

    • 리치 텍스트 에디터로 감정, 태그, 공개/비공개 등 다양한 정보와 함께 일기 작성
    • 이미지 업로드, AI 질문 추천, 위치/날씨 등 부가 정보 입력 지원
  • 한 줄 일기

    • 오늘의 한 줄 일기 목록 확인 (작성 기능은 비활성화됨)
  • 감정 통계 및 대시보드

    • 최근 감정 분포, 주간 감정 추세, 커뮤니티 추천 등 시각화
  • 커뮤니티(나눔방) 기능

    • 관심사 기반 커뮤니티 참여/추천/탐색
    • 커뮤니티별 일기 목록, 멤버, 활동 정보 제공
  • 모의(mock) 데이터 지원

    • API 호출 실패 시 mock 데이터를 자동으로 fallback하여 개발/테스트 환경에서도 정상 동작
  • 반응형 UI & 다크모드 지원

    • Tailwind CSS 기반의 일관된 디자인 시스템 적용

폴더 구조

src/
  app/
    components/         # 공통 UI 컴포넌트
    dashboard/          # 대시보드(감정 통계 등)
    my-diary/           # 내 일기 목록
    write/              # 일기 작성 페이지
    communities/        # 커뮤니티(나눔방) 목록/참여
    community/          # 커뮤니티 상세
    diary/              # 일기 상세
    ...
  components/           # Header, UserInfoCard 등 공통 컴포넌트
  lib/                  # API, context, util 등
  mock/                 # mock 데이터 (API 실패 시 fallback)
  types/                # 타입 정의

주요 기술 스택

  • Next.js 14
  • React 18
  • TypeScript
  • Tailwind CSS
  • Sonner (toast 알림)
  • Lucide-react (아이콘)
  • Axios (API 통신)
  • Jest/React Testing Library (테스트, 선택적)

개발/테스트 환경

  • .env 파일에 API 서버 주소 등 환경 변수 설정 필요
  • API 서버가 없거나 호출 실패 시, src/mock/의 mock 데이터가 자동으로 사용됨
  • 개발 서버 실행:
    npm install
    npm run dev

커스텀 및 확장

  • mock 데이터 추가/수정
    • src/mock/diary.ts, src/mock/community.ts, src/mock/user.ts 등에서 관리
  • 공통 컴포넌트
    • src/app/components/src/components/ 참고
  • 글로벌 스타일/테마
    • src/app/globals.css, Tailwind 설정 참고

기여 방법

  1. 이슈/PR 등록 전 최신 main 브랜치 pull
  2. 기능/버그별 브랜치 생성 후 작업
  3. 커밋 메시지는 명확하게 작성
  4. PR 등록 시, 변경 내용과 테스트 방법을 상세히 작성

라이선스

MIT


문의

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 99.3%
  • Other 0.7%