{"id":49820453,"url":"https://github.com/prgrms-fullcycle-devcourse/webfull_9_10_ant-nest_fe","last_synced_at":"2026-05-13T10:07:20.753Z","repository":{"id":345445496,"uuid":"1184140233","full_name":"prgrms-fullcycle-devcourse/webfull_9_10_Ant-nest_FE","owner":"prgrms-fullcycle-devcourse","description":"프로그래머스 웹 풀스택 9기 개미굴 FE","archived":false,"fork":false,"pushed_at":"2026-04-14T07:24:29.000Z","size":58006,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T09:27:37.117Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prgrms-fullcycle-devcourse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-17T09:42:24.000Z","updated_at":"2026-04-14T06:40:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/prgrms-fullcycle-devcourse/webfull_9_10_Ant-nest_FE","commit_stats":null,"previous_names":["prgrms-fullcycle-devcourse/webfull_9_10_ant-nest_fe"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prgrms-fullcycle-devcourse/webfull_9_10_Ant-nest_FE","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prgrms-fullcycle-devcourse%2Fwebfull_9_10_Ant-nest_FE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prgrms-fullcycle-devcourse%2Fwebfull_9_10_Ant-nest_FE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prgrms-fullcycle-devcourse%2Fwebfull_9_10_Ant-nest_FE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prgrms-fullcycle-devcourse%2Fwebfull_9_10_Ant-nest_FE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prgrms-fullcycle-devcourse","download_url":"https://codeload.github.com/prgrms-fullcycle-devcourse/webfull_9_10_Ant-nest_FE/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prgrms-fullcycle-devcourse%2Fwebfull_9_10_Ant-nest_FE/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32977406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T06:31:55.726Z","status":"ssl_error","status_checked_at":"2026-05-13T06:31:51.336Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-13T10:07:03.668Z","updated_at":"2026-05-13T10:07:20.744Z","avatar_url":"https://github.com/prgrms-fullcycle-devcourse.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 달래 (Dallae)\n\n\u003e 감정을 기록하고, 공유하고, 위로받는 감정 다이어리 서비스\n\n## 목차\n\n- [소개](#소개)\n- [기술 스택](#기술-스택)\n- [시작하기](#시작하기)\n- [프로젝트 구조](#프로젝트-구조)\n- [주요 기능](#주요-기능)\n- [환경 변수](#환경-변수)\n- [스크립트](#스크립트)\n\n---\n\n## 소개\n\n**달래**는 하루의 감정을 기록하고, 캘린더로 돌아보며, 커뮤니티에서 다른 사람들과 공유할 수 있는 감정 다이어리 웹 애플리케이션입니다.\n\n---\n\n## 기술 스택\n\n| 분류 | 기술 |\n|------|------|\n| 프레임워크 | React 19, TypeScript |\n| 빌드 도구 | Vite |\n| 라우팅 | React Router DOM v7 |\n| 상태 관리 | Zustand (클라이언트), TanStack React Query (서버) |\n| UI / 스타일 | Material-UI, Tailwind CSS, Emotion |\n| 폼 | React Hook Form |\n| HTTP 클라이언트 | Axios |\n| 기타 | Vite PWA Plugin, Husky |\n\n---\n\n## 시작하기\n\n### 요구사항\n\n- Node.js 18 이상\n- npm 또는 yarn\n\n### 설치 및 실행\n\n```bash\n# 저장소 클론\ngit clone \u003crepository-url\u003e\ncd dallae\n\n# 의존성 설치\nnpm install\n\n# 환경 변수 설정\ncp .env.example .env\n# .env 파일을 열어 VITE_API_BASE_URL을 설정하세요\n\n# 개발 서버 실행\nnpm run dev\n```\n\n---\n\n## 프로젝트 구조\n\n```\nsrc/\n├── assets/             # 폰트, 이미지, 감정 아이콘\n├── components/\n│   └── common/         # 공통 컴포넌트\n├── features/           # 기능별 모듈\n│   ├── auth/\n│   ├── calendar/\n│   ├── community/\n│   ├── diary/\n│   └── profile/\n├── hooks/              # 커스텀 훅\n├── layouts/            # 레이아웃 컴포넌트\n│   ├── AuthLayout.tsx  # 로그인/회원가입 레이아웃\n│   └── MainLayout.tsx  # 메인 레이아웃\n├── pages/              # 페이지 컴포넌트\n├── routes/             # 라우터 설정\n├── services/           # API 통신 (Axios 인스턴스)\n├── store/              # Zustand 스토어\n├── styles/             # 글로벌 스타일, 폰트\n├── types/              # TypeScript 타입 정의\n└── utils/              # 유틸리티 함수\n```\n\n---\n\n## 주요 기능\n\n| 기능 | 경로 | 설명 |\n|------|------|------|\n| 홈 | `/` | 서비스 소개 및 내비게이션 |\n| 로그인 | `/login` | 이메일/비밀번호 로그인 |\n| 회원가입 | `/signup` | 닉네임/이메일/비밀번호 등록 |\n| 다이어리 | `/diary` | 오늘의 감정과 일기 작성 |\n| 캘린더 | `/calendar` | 날짜별 감정 기록 조회 |\n| 커뮤니티 | `/community` | 공개 일기 공유 및 소통 |\n| 프로필 | `/profile` | 내 정보 조회 및 수정 |\n\n### 인증 플로우\n\n- 로그인 성공 시 JWT 토큰을 `localStorage`에 저장 (Zustand persist)\n- Axios 요청 인터셉터에서 자동으로 `Authorization: Bearer \u003ctoken\u003e` 헤더 추가\n- 401 응답 시 인증 상태 초기화 후 `/login`으로 리다이렉트\n\n---\n\n## 환경 변수\n\n`.env.example`을 참고하여 `.env` 파일을 생성하세요.\n\n```env\nVITE_API_BASE_URL=http://localhost:8080/api\n```\n\n---\n\n## 스크립트\n\n```bash\nnpm run dev       # 개발 서버 실행 (HMR 지원)\nnpm run build     # 프로덕션 빌드\nnpm run preview   # 프로덕션 빌드 미리보기\nnpm run lint      # ESLint 검사\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprgrms-fullcycle-devcourse%2Fwebfull_9_10_ant-nest_fe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprgrms-fullcycle-devcourse%2Fwebfull_9_10_ant-nest_fe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprgrms-fullcycle-devcourse%2Fwebfull_9_10_ant-nest_fe/lists"}