Skip to content

개발자들을 위한 회고 및 개발일지 관리 플랫폼 (삼성청년SW·AI아카데미 13기 공통 프로젝트 웹디자인 트랙 우수상)

Notifications You must be signed in to change notification settings

nykim627/Loggle

Repository files navigation

Loggle — 서비스 소개

Git 커밋을 자동으로 수집해 **개발일지 초안(요약·질문·태그)**을 생성하고, 여러 일지를 모아 요약 및 블로그화와 회고로 자연스럽게 이어주는 기록·회고 서비스입니다. 자동화와 AI의 활용으로 개발일지 작성 부담을 낮추고 습관화하도록 합니다. 또한 “커밋 → 개발일지 → 블로그/회고”까지 한 번에 잇도록 만들어 작성물이 블로그·팀 회고로 바로 쓰이게 합니다.


📅 프로젝트 진행 기간

  • 2025.07.14 ~ 2025.08.18 (6주) · SSAFY 공통 프로젝트
  • 수상: SSAFY 공통프로젝트 우수상

💡 기획 배경

개발 기록은 중요하지만 빈 페이지에 첫 줄을 쓰는 부담이 큽니다. 또한 시간/에너지 부족 등으로 꾸준히 쓰기 어렵다는 의견 많았습니다. Loggle은 커밋을 자동 조회해 개발일지 초안을 제공하고, 일지를 꾸준히 쓰게 돕으며, 결과물을 활용하여 블로그·회고도 쉽게 작성하게 합니다.


⭐ 주요 기능

1. 로그인/회원가입

  • Google OAuth2 소셜로그인으로 간편 가입/로그인(최소 정보만 수집).
  • 최초 로그인 시 자동 가입 처리 → 바로 서비스 사용 가능.

2. 커밋 자동 수집

  • GitHub/GitLab(SSAFY 포함) 연동, 전수/증분 수집 지원.
  • 레포지토리의 여러 브랜치를 동시에 요청해 빠르게 동기화, last_commit_at 체크포인트로 불필요 조회 최소화.

3. 개발일지

  • 커밋 맥락 기반 AI 초안 생성(요약·질문·태그) → 빈 페이지에서 시작하는 부담 해소.
  • AI 프롬프트/출력 형식
    • 입력: diff-only, 불필요 확장자/산출물 제외, 낮은 temperature로 일관성 확보.
    • 출력 스키마:
      • Summary: 핵심 변경 요약(짧은 불릿).
      • Questions: 3개, why/how/deeper 유형, 근거(파일/라인/함수명) 표기
      • Tags: 5~8개, 기술·도메인 혼합.
  • 즐겨찾기 가능, **스탬프(고양이 발)**로 기록 동기 유지.

4. 블로그화(요약)

  • 선택한 일지 내용들을 요약해 Markdown으로 내보내기.

5. 회고(개인/팀)

  • 선택한 일지를 바탕으로 회고 AI 초안 자동 생성(개인/팀 템플릿 제공).
  • KPT, TIL, CSS, 자유형식 템플릿 제공
  • 권한 기반 협업: 팀 회고 프로젝트 사용 시 프로젝트 초대, 역할별 보기/편집 권한 제어.

🏗️ 아키텍처

전체 아키텍쳐

전체 아키텍쳐

서비스 부분 상세 아키텍쳐

서비스 부분 상세 아키텍쳐

🛠️ 기술 스택

  • Frontend: React (Docker 컨테이너로 배포)
    • Frontend 세부 기술 스택 : React, TypeScript, Vite, Tailwind CSS, Zustand, MSW
  • Backend: SpringBoot (Docker 컨테이너로 배포)
    • Backend 세부 기술 스택 : Java 17, Spring Boot 3.2.5, Spring Security, JPA, PostgreSQL, Redis, OAuth2, Lombok, MapStruct, Swagger
  • AI Service: FastAPI (Python 기반, Docker 컨테이너로 배포)
    • AI 세부 기술 스택 : FastAPI, GMS 제공 GPT-4.1 nano
  • Database: PostgreSQL
  • Cache: Redis
  • Containerization: Docker, Docker Compose
  • CI/CD: Jenkins, Docker Registry, GitLab Webhook
  • Reverse Proxy: Nginx Proxy Manager
  • Version Control: Git, GitLab
  • Infra/Cloud: AWS EC2

🗂️ ERD

ERD

🤝 협업

  • : GitLab · Jira · Notion · Figma · ERDCloud · Swagger
  • 방식: Jira 스프린트/데일리, Notion 회의·요구사항·ERD·API 명세 상시 업데이트 & 공유, MR 기반 코드리뷰

📎 프로젝트 산출물


📂 디렉토리 구조

  • ai/: AI 서비스 관련 코드 (Python, FastAPI)
  • back-end/: 백엔드 서비스 관련 코드 (Java, Spring Boot)
  • front-end/: 프론트엔드 서비스 관련 코드 (React.js)
  • infra/: 인프라 설정 및 스크립트 (CI/CD, 데이터베이스, Nginx Proxy Manager 등)
  • exec/: 실행 및 배포 관련 문서 (빌드/배포 매뉴얼, DB 덤프, 시연 시나리오 등)
  • loggle-presentation/: 프로젝트 발표 자료, 시스템 아키텍쳐 등
  • loggle-service-gif/: 해당 리드미 파일의 화면 구성에 사용되는 gif 모음

🖼️ Loggle 화면 구성

사용자 관리

로그인 로그인
⬆️ 1. 구글 소셜 로그인 ⬆️ 2. 사용가이드
토큰등록가이드 회원정보수정
⬆️ 3. 토큰등록가이드 ⬆️ 4. 닉네임 변경, 토큰 추가/삭제

개발일지

개발일지목록 개발일지상세조회
⬆️ 5. 개발일지 목록 ⬆️ 6. 개발일지 상세조회 / AI 요약/질문 생성
개발일지태그생성 개발일지질문추가
⬆️ 7. 개발일지 태그 생성/수정 ⬆️ 8. 개발일지 질문 추가
개발일지저장및상세조회 마크다운
⬆️ 9. 개발일지 저장 및 상세조회 ⬆️ 10. 마크다운 작성 기능
블로그요약 로글부가기능
⬆️ 11. 블로그 요약 ⬆️ 12. 로글을 즐기는 방법

개인 회고

개인회고프로젝트생성 개인회고생성
⬆️ 13. 개인회고 프로젝트 생성 ⬆️ 14. 개인회고 생성 / AI 초안 작성
개인회고저장
⬆️ 15. 개인 회고 저장

팀 회고

팀회고프로젝트생성 팀회고프로젝트관리
⬆️ 16. 팀회고 프로젝트 생성 ⬆️ 17. 팀회고 프로젝트 관리 (관리자만 가능)
팀회고폴더생성 팀회고생성
⬆️ 18. 팀회고 폴더 생성 (관리자만 가능) ⬆️ 19. 팀회고 생성 / AI 초안 작성
팀회고저장
⬆️ 20. 팀회고 저장 및 상세조회

🧑🏻‍💻 로컬 개발 환경 설정

이 프로젝트는 Docker Compose를 사용하여 로컬 개발 환경을 쉽게 구축할 수 있도록 지원합니다.

1. .env 파일 설정

프로젝트 루트 디렉토리에 .env 파일이 존재하는지 확인하고, docker-compose.local.yml에서 필요한 환경 변수들이 올바르게 설정되어 있는지 확인합니다. .env.example 파일을 참고하여 .env 파일을 생성할 수 있습니다.

2. Docker Compose를 이용한 서비스 실행

프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 모든 서비스를 빌드하고 실행합니다.

docker compose -f docker-compose.local.yml up --build -d
  • --build: Dockerfile이나 빌드 컨텍스트의 변경 여부와 관계없이 모든 서비스를 강제로 다시 빌드합니다. (선택 사항, 첫 실행 시 유용)
  • -d: 백그라운드에서 컨테이너를 실행합니다.

3. 서비스 접근

  • 프론트엔드: http://localhost:80
  • 백엔드: http://localhost:8080, http://localhost:8080/swagger-ui.html
  • AI: http://localhost:8000, http://localhost:8000/docs
  • PostgreSQL: localhost:5432
  • Redis: localhost:6379

4. 서비스 중지

docker compose -f docker-compose.local.yml down
  • -v: 명명된 볼륨도 삭제합니다 (현재는 데이터베이스 볼륨만 명명되어 데이터베이스 삭제).

5. 특정 서비스만 실행

모든 서비스를 실행하는 대신, docker-compose.local.yml 파일에 정의된 특정 서비스만 선택적으로 실행할 수 있습니다. 예를 들어, frontend 서비스만 실행하려면 다음 명령어를 사용합니다.

docker compose -f docker-compose.local.yml up --build -d frontend

여러 서비스를 동시에 실행하려면 서비스 이름을 공백으로 구분하여 나열합니다.

docker compose -f docker-compose.local.yml up --build -d frontend backend

이는 개발 중 특정 부분만 테스트하거나 리소스를 절약해야 할 때 유용합니다.


👥 팀 구성

이름 역할
김나영 팀장 / Frontend
김동혁 Frontend / PM 및 디자인
안지윤 AI / Backend
어은지 Frontend
윤진 Infra
이지민 Backend

About

개발자들을 위한 회고 및 개발일지 관리 플랫폼 (삼성청년SW·AI아카데미 13기 공통 프로젝트 웹디자인 트랙 우수상)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6