{"id":21905174,"url":"https://github.com/ai-x-4-a1-final/narrativa_develop","last_synced_at":"2026-04-10T04:39:30.646Z","repository":{"id":264463804,"uuid":"892870080","full_name":"AI-X-4-A1-FINAL/Narrativa_Develop","owner":"AI-X-4-A1-FINAL","description":"Narrativa Docker Repository","archived":false,"fork":false,"pushed_at":"2024-11-30T08:09:42.000Z","size":67,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"dev","last_synced_at":"2025-03-22T07:17:02.853Z","etag":null,"topics":["backend","frontend","ml"],"latest_commit_sha":null,"homepage":"http://221.148.97.238:3010","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AI-X-4-A1-FINAL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-23T00:05:08.000Z","updated_at":"2024-11-30T08:09:46.000Z","dependencies_parsed_at":"2025-01-27T07:37:25.845Z","dependency_job_id":null,"html_url":"https://github.com/AI-X-4-A1-FINAL/Narrativa_Develop","commit_stats":null,"previous_names":["ai-x-4-a1-final/narrativa_docker","ai-x-4-a1-final/narrativa_develop"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AI-X-4-A1-FINAL/Narrativa_Develop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-X-4-A1-FINAL%2FNarrativa_Develop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-X-4-A1-FINAL%2FNarrativa_Develop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-X-4-A1-FINAL%2FNarrativa_Develop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-X-4-A1-FINAL%2FNarrativa_Develop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AI-X-4-A1-FINAL","download_url":"https://codeload.github.com/AI-X-4-A1-FINAL/Narrativa_Develop/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-X-4-A1-FINAL%2FNarrativa_Develop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264257446,"owners_count":23580468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["backend","frontend","ml"],"created_at":"2024-11-28T16:31:19.719Z","updated_at":"2025-12-30T19:17:03.131Z","avatar_url":"https://github.com/AI-X-4-A1-FINAL.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![NARRATIVA-TITLE](https://github.com/user-attachments/assets/97538156-f202-4b48-8543-9bbf835fda0e)\n\n# Narrativa Develop\n\n![Spring Boot](https://img.shields.io/badge/Spring%20Boot-v3.3.5-6DB33F?style=for-the-badge\u0026logo=springboot\u0026logoColor=white)\n![Spring Security](https://img.shields.io/badge/Spring%20Security-v6.2.4-6DB33F?style=for-the-badge\u0026logo=springsecurity\u0026logoColor=white)\n![MySQL](https://img.shields.io/badge/MySQL-8.4.3%20LTS-4479A1?style=for-the-badge\u0026logo=mysql\u0026logoColor=white)\u003cbr /\u003e\n![React](https://img.shields.io/badge/React-18.3.1-61DAFB?style=for-the-badge\u0026logo=react\u0026logoColor=white)\n![TypeScript](https://img.shields.io/badge/TypeScript-4.9.5-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n![TailwindCSS](https://img.shields.io/badge/TailwindCSS-3.4.15-06B6D4?style=for-the-badge\u0026logo=tailwindcss\u0026logoColor=white)\u003cbr /\u003e\n![Python](https://img.shields.io/badge/Python-v3.12.7-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)\n![PyTorch](https://img.shields.io/badge/PyTorch-v2.5.1-EE4C2C?style=for-the-badge\u0026logo=pytorch\u0026logoColor=white)\n![FastAPI](https://img.shields.io/badge/FastAPI-v0.115.4-009688?style=for-the-badge\u0026logo=fastapi\u0026logoColor=white)\n\n## 🗝️ 프로젝트 소개\n\n\u003e 개발환경을 통일하기 위한 리포지토리입니다.\n\n### 사전 요구사항\n\n+ Git\n+ Docker\n+ Docker Compose\n\n### 설치 단계\n\n#### 1. 프로젝트 클론\n\u003e 프로젝트를 로컬 환경으로 가져오기 위해 다음 명령어를 실행합니다:\n```bash\n$ git clone https://github.com/AI-X-4-A1-FINAL/Narrativa_Develop.git\n$ cd narrativa-develop\n```\n#### 2. 서브모듈 설정\n\u003e 프로젝트의 서브모듈을 초기화하고 업데이트하는 방법은 두 가지가 있습니다:\n+ 방법 1: 기본 클론 후 서브모듈 설정\n```bash\n# 서브모듈 초기화\n$ git submodule init\n\n# 서브모듈 업데이트\n$ git submodule update\n```\n+ 방법 2: 서브모듈을 포함한 직접 클론\n```bash\n$ git clone --recurse-submodules https://github.com/AI-X-4-A1-FINAL/Narrativa_Develop.git\n```\n\n#### 3. 환경 변수 설정\n\n+ AWS CLI 설정\n```bash\n$ aws configure\n# AWS Access Key ID 입력\n# AWS Secret Access Key 입력\n# Default region name: ap-northeast-2\n# Default output format: json\n```\n\n+ 환경 변수 가져오기\n```bash\n# 필요한 패키지 설치\n$ npm install\n\n# S3 버킷에서 환경변수 가져오기\n$ npm run fetch-env\n```\n\n#### 4. 서브모듈 관리\n+ 서브모듈 업데이트\n\u003e 서브모듈의 내용이 변경되었을 경우 다음 명령어로 최신 변경사항을 가져올 수 있습니다\n```bash\n# 모든 서브모듈을 최신 버전으로 업데이트\n$ git submodule update --remote\n\n# 또는 각 서브모듈의 dev 브랜치에서 풀\n$ git submodule foreach git pull origin dev\n```\n\n#### 4. 서비스 실행\n```bash\n# Docker Compose로 서비스 실행\n$ docker-compose up --build\n```\n\n#### 문제 해결\n\n#### 주의사항\n\n+ AWS CLI가 설치되어 있어야 합니다\n+ AWS 자격증명이 올바르게 설정되어 있어야 합니다\n+ Parameter Store에 필요한 환경변수가 미리 설정되어 있어야 합니다\n+ .env 파일은 .gitignore에 포함되어 있으므로 git에 커밋되지 않습니다\n\n#### 문제 해결\n\n+ 환경변수 가져오기 실패 시: AWS 자격증명 확인\n+ 서브모듈 업데이트 실패 시: 로컬 변경사항 확인\n+ Docker 빌드 실패 시: 로그 확인 및 환경변수 설정 확인\n\n## 🗝️ 브랜치 관리 규칙\n\n### 브랜치 구조\n\n1. **메인 브랜치 (main)**\n\n   - 프로덕션 배포용 안정 브랜치\n   - PR을 통해서만 병합 가능\n\n2. **개발 브랜치 (dev)**\n\n   - 개발 중인 기능 통합 브랜치\n   - 배포 전 최종 테스트 진행\n\n3. **기능 브랜치 (feat/)**\n\n   - 새로운 기능 개발용\n   - 명명규칙: `feat/{기능명}`\n   - 예: `feat/social-login`\n\n4. **긴급 수정 브랜치 (hotfix/)**\n   - 프로덕션 긴급 버그 수정용\n   - 명명규칙: `hotfix/{이슈번호}`\n   - 예: `hotfix/critical-bug`\n\n### 브랜치 사용 예시\n\n```bash\n# 기능 브랜치 생성\ngit checkout -b feat/social-login\n\n# 긴급 수정 브랜치 생성\ngit checkout -b hotfix/critical-bug\n```\n\n## 🗝️ 디렉토리 구조\n\n```\nNARRATIVA-ADMIN/\n├── node_modules/            # 프로젝트 종속성 패키지\n├── public/                  # 정적 파일 디렉토리\n├── src/                     # 소스 코드\n│   ├── assets/             # 이미지, 폰트 등 리소스 파일\n│   ├── components/         # 재사용 가능한 컴포넌트\n│   │   ├── Dashboard/      # 대시보드 관련 컴포넌트\n│   │   ├── UserManagement/ # 회원 관리 관련 컴포넌트\n│   │   └── Notice/         # 공지사항 관련 컴포넌트\n│   ├── hooks/              # 커스텀 훅\n│   ├── pages/              # 페이지 컴포넌트\n│   ├── services/           # API 및 유틸리티 함수\n│   └── types/              # TypeScript 타입 정의\n├── .gitignore              # Git 무시 파일 목록\n├── LICENSE                 # 라이센스 정보\n├── package.json            # 프로젝트 설정 및 종속성\n├── README.md               # 프로젝트 문서\n├── tailwind.config.js      # Tailwind CSS 설정\n└── tsconfig.json           # TypeScript 설정\n```\n\n## 🗝️ 팀 정보\n\n### **Team Member**\n\n\u003ca href=\"https://github.com/stjoo0925\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/bb285012-1e08-4bd7-9c63-d6f73c80f713\" \n       alt=\"st\" \n       width=\"200\" \n       height=\"auto\" \n       style=\"max-width: 100%; height: auto;\"\u003e\n\u003c/a\u003e\n\n## 🗝️ 문의 및 기여\n\n프로젝트에 대한 문의사항이나 개선 제안은 이슈 탭에 등록해주세요.\u003cbr /\u003e\n기여를 원하시는 분은 Fork \u0026 Pull Request를 통해 참여해주시면 감사하겠습니다.\n\n## 🗝️ 라이선스\n\n이 프로젝트는 [MIT 라이선스](LICENSE)를 따릅니다.\n\n\u003cbr /\u003e\u003cbr /\u003e\n![footer](https://github.com/user-attachments/assets/c30abbd9-8e89-4a4e-8823-33fe0cf843c9)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai-x-4-a1-final%2Fnarrativa_develop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fai-x-4-a1-final%2Fnarrativa_develop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai-x-4-a1-final%2Fnarrativa_develop/lists"}