Skip to content

kusitms-com/30th_Meetup_TeamG_MOAMOA_Back

Repository files navigation

🎯 Kusitms 30th 밋업 프로젝트 G조 MOAMOA

개발 기간 : 2024.09.28 ~ 2024.11.28
배포 주소 : https://www.corecord.site



간지장표

“몇 마디 대화를 나눴을 뿐인데 경험 정리가 끝났어요!”
“경험을 말하니까 나의 역량을 찾아줘요”

모아모아(MOAMOA)는 막막하게 느껴지던 경험 정리를 매일 조금씩 하도록 돕고, AI가 경험을 분석해 나만의 역량을 찾아줘요!


👩🏻‍💼 팀 소개

📝 경험과 역량을 모아모아!
안녕하세요, AI 역량 분석 서비스 ‘모아모아’를 만든 팀 ‘뫄뫄’입니다. 👩🏻‍🏫

모아모아는 취준생 9명이 만든 취업 준비 서비스에요.
그래서 누구보다 유저의 Pain Point를 잘 알고 있죠.

‘경험 정리는 각 잡고 해야 하는 부담스러운 일’ 이라는 통념을 깨기 위해 모아모아를 만들었어요.
유저의 데일리 경험을 역량과 연결해, 치열하게 모은 경험이 휘발되지 않도록 도와드릴게요!
막연하고 답답한 취업 준비, 팀 뫄뫄가 만들어 갈 변화를 기대해 주세요😉



김다은 오세연
김다은 오세연
@daeun084 @oosedus
숭실대학교 컴퓨터학부 서울과학기술대학교 ITM전공

team



❓ 문제 인식(Problem)

Desk Research (시장 분석)

👩🏻‍🏫 세 줄 요약

  1. 채용 인원의 축소 및 불규칙적인 채용 기간 등으로 인해 얼어버린 취업 시장
  2. 경쟁력을 얻기 위한 ‘스펙 전쟁’ (스펙 상향 평준화)
  3. 결국, 경험에서 비롯한 나만의 핵심 역량(필살기) 을 뽑아내는 것이 중요해짐

background

서비스 개발 동기

🤔 ”아 경험 정리 해야 하는데 .. 언제 다 하지? 미리 할 걸 ”


인턴으로 일하면서 경험이 잊혀지는 게 아쉬워 노션에 기록했지만,
막상 자소서 쓸 때 큰 도움이 되지 않았어요.
기록을 하나씩 훑어보며 경험을 정리하고 역량을 도출하는 과정이 부담스러웠고, 대충 적어둔 메모는 핵심을 파악하기 어렵더라고요.

그래서 만들었어요. 매일의 경험을 간편하게 기록하고 분석까지 도와주는 서비스 ‘모아모아’를요!

background-2

서비스의 목적(필요성)

얼어붙은 취업 시장, 스펙 전쟁 시대.
차별화된 나만의 경험과 역량으로 경쟁력을 갖추는 것이 중요해졌어요.


💡 팀 뫄뫄는 ,

(1) 기록한 경험을 적재적소에 활용할 수 있는
(2) 나의 역량이 돋보이도록 경험을 분석해주는

경험 정리 서비스를 기획해 취준생의 경험 정리 부담을 덜고 싶어요.

service_goal

👩🏻‍🏫 사용자(User)

유저 정의

🎯 경험 기록 및 역량 분석이 필요한 취준생

타겟 정의

  1. 꾸준히 경험을 기록하고 싶은 취준생

    • 다양한 경험을 꾸준히 기록하여 이를 자기소개서나 면접에 활용하고 싶어요
    • 기록된 경험을 모아 체계적으로 정리하여 구체적인 역량을 도출하고 싶어요
    • 바쁜 일정 속에서 부담 없이 경험을 기록하고 싶어요
  2. 자신의 경험에서 핵심 역량을 알고 싶은 취준생

    • 내 경험을 직무 역량과 어떻게 연결해야 할지 막막해요
    • 내 경험이 어떤 역량을 길러주었는지 알아내어 나의 역량과 부족한 점을 파악하고 발전시키고 싶어요
    • 나의 역량을 이용해서 자기소개서나 면접에서 효과적으로 활용하고 싶어요

페르소나 설정

👤 취준생 / 최민영 (25. 여자)


1️⃣ Situation

  • 취업을 위해 다양한 경험 쌓는 중
  • 대학교 졸업을 앞두고 취업 준비 병행 중

2️⃣ Pain Point

  • 경험들을 제때제때 기록하지 않아 경험 정리에 많은 시간 소요
  • 경험과 직무 역량을 제대로 연결하지 못해, 자기소개서 작성 시 본인을 어떻게 어필해야 할 지 감을 잡지 못함

저니맵

Pain Point → Solution 연결

painpoint-solution




📝 서비스 소개

핵심 기능

✏️ 경험 기록

(1) 빠르고 간편하게, 꾸준하게 ➡️  AI 채팅 기록, 메모 기록
(2) 경험 구체화 ➡️ 경험 기록 / 역량 분석에 최적화된 프롬프트 활용

📈 역량 분석

(1) AI 경험 요약 ➡️ 경험에서 핵심 내용을 추출해요
(2) AI 역량 분석 ➡️ 작성한 경험을 바탕으로 유저의 경험과 역량을 유기적으로 연결해요


서비스 IA (정보구조도)

IA

서비스 포인트

모아모아는 ‘경험 정리는 각 잡고 해야 하는 부담스러운 일’이라는 고정관념을 깨기 위해 만들어졌어요!
서비스 소개

1️⃣ 경험 정리에 대한 발상의 전환, 데일리 경험 정리

취준생에게 ‘막막하고 귀찮은 일’로 여겨지는 경험 정리.
→ 모아모아는 유저의 성향에 따라 경험 정리 방식을 두 가지로 제시하고 있어요.
친구와 대화하듯 기록하는 AI 채팅 기록과, 빠르게 정리하는 메모 기록으로 매일의 기억을 모아보세요!

2️⃣ 경험 기록과 역량 분석에 최적화된 AI 서비스

→ 모아모아’는 경험 기록과 역량 분석에 최적화된 AI 서비스로, 경험 정리에서 느끼는 사용자 부담을 줄여줘요.
기존 생성형 AI와 달리, 사용자가 AI 프롬프트를 직접 작성하지 않아도 STAR 기법-프롬프트 엔지니어링 고도화를 통해 경험을 구체화하고 핵심 역량을 자동으로 뽑아줘요

3️⃣ 역량으로 모아보는 나의 경험

경험에서 어떤 역량을 발휘했는지 잘 모르겠다면?
→ 모아모아’는 역량 키워드로 경험을 모아볼 수 있어요. 나의 강점을 알려주는 역량 그래프도 활용해보세요!



🔍 기능 살펴보기

1️⃣ STEP 1 : 경험 기록

서비스 point 서비스 point-1

💬 AI 채팅 기록 : AI와 경험 구체화

  • STAR 기법을 학습한 채팅 프롬프팅으로 고도화된 답변을 받을 수 있어요
  • 친구처럼 대화하면 자연스럽게 경험이 정리돼요

📝 메모 기록 : 간편하고 빠르게 기록하는 방법

  • 부담 없이 빠르게 기록할 수 있어요

🗂️ 경험 모아보기 : 체계적인 경험 정리

  • 날짜별, 경험 종류별, 역량 키워드별로 폴더링해요
  • 필요한 내용을 빠르게 찾아 활용할 수 있어요


2️⃣ STEP 2 : 역량 모아보기

서비스 point-2 서비스 point-3 prompt

🔎 역량 키워드 모아보기 : 역량별로 정리된 경험

  • 특정 역량과 관련된 경험을 손쉽게 찾아 활용할 수 있어요

📊 역량 그래프 : 한눈에 보는 나의 역량 그래프

  • 나의 강점이 무엇인지 확인해 보세요

👩🏻‍💻 경험 요약 ∙ 핵심 역량 추출 ∙ 피드백

  • 경험별로 핵심 역량을 추출하고 상세 분석 내용을 제공해요
  • 경험에 대한 구체적인 피드백을 지원해요



🗺️ 포지셔닝 맵

모아모아는 AI를 활용해 데일리 경험을 기록하고 경험 정리를 도와주는 서비스입니다!

  • X축: 기록 방식 (수기 작성 ↔ AI 지원)
    • 경험 기록을 혼자 하는가? AI의 도움을 받는가?
  • Y축 : 경험 정리 스타일 (일상적인 기록 ↔ 각 잡고 정리)
    • 일상적으로 경험을 모으는가? 각 잡고 정리하는가?

포지셔닝 맵




💻 Stack

Language & Framework

Documentation

Database & ORM

Build Tool

Cloud & Hosting

Containerization & CI/CD

Network & Security



📏 Convention

🛠️ BackEnd

Commit Convention

  • ConventionType: 구현한 내용

Convention Type

convention type description
feat 새로운 기능 구현
add 파일 및 코드 추가
chore 부수적인 코드 수정 및 기타 변경사항
docs 문서 추가 및 수정, 삭제
fix 버그 수정
rename 파일 및 폴더 이름 변경
test 테스트 코드 추가 및 수정, 삭제
refactor 코드 리팩토링
!hotfix develop 브랜치에 급하게 커밋해야 하는 경우

Issue

  • Issue Title : ConventionType: 작업할 내용
  • 모든 작업은 Issue를 만든 후, 해당 이슈 번호에 대한 branch를 통해 수행
  • 수행할 작업에 대한 설명과 할 일을 작성

Pull Request

  • Pull Request Title : [ContentionType/#이슈번호] 작업한 내용
  • 수행한 작업에 대한 설명을 작성하고 관련 스크린샷을 첨부
  • Reviewer, Assigner, Label, Project, Milestone, 관련 이슈를 태그
  • 작업 중 참고한 자료 혹은 reviewer에게 전할 내용이 있다면 하단에 작성

Branch

  • Branch Name : ConventionType/#이슈번호
  • Pull Request를 통해 develop branch에 merge 후, 해당 branch 제거



🏛️ System Architecture

MOAMOA_ARCHITECTURE



📊 ERD

MOAMOA_ERD



🗒️ API 명세서

https://spiny-lake-7e5.notion.site/API-10b37be2e3fa8020a345c0aa4089a0a0?pvs=4



🔄 Work Flow

1) 개발 단계

  1. 코드 작성
    • IntelliJ를 사용하여 백엔드 코드를 작성합니다.
  2. 버전 관리
    • Git을 통해 로컬에서 작성된 코드를 GitHub로 푸시합니다.
    • develop 브랜치에는 코드 리뷰를 거친 후 병합됩니다.

2) CI (Continuous Integration)

GitHub Actions를 활용하여 develop 브랜치에 코드가 푸시될 때 CI 작업이 자동으로 실행됩니다.

  1. 코드 체크아웃 및 환경 설정
    • actions/checkout 액션을 통해 최신 코드를 체크아웃합니다.
    • Amazon Corretto JDK 21을 설정하여 Spring Boot 애플리케이션의 빌드 환경을 준비합니다.
  2. 필요한 리소스 파일 생성
    • 설정 파일과 텍스트 파일을 생성하고, GitHub Secrets를 통해 보안 데이터를 삽입합니다.
  3. 애플리케이션 빌드
    • Gradle을 사용하여 애플리케이션을 빌드합니다.
  4. Docker 이미지 생성 및 Docker Hub 푸시
    • Docker Hub에 로그인하여 인증을 수행합니다.
    • Docker 이미지를 빌드하고, 이를 Docker Hub 레지스트리에 푸시합니다.

3) CD (Continuous Deployment)

CD 작업은 GitHub Actions와 deploy.sh 스크립트를 활용하여 Docker 이미지를 Amazon EC2 인스턴스에 배포하고, Blue-Green 배포 전략을 통해 무중단 배포를 지원합니다.

  1. 도커 이미지 배포
    • CI에서 생성된 최신 Docker 이미지를 EC2 인스턴스에서 다운로드하여 배포 준비를 합니다.
  2. Green 환경 컨테이너 실행
    • 새로운 애플리케이션 컨테이너를 실행합니다. 실행 가능한 포트를 자동으로 할당하며, 기존 애플리케이션(Blue 환경)과 독립적으로 동작합니다.
  3. Health Check
    • 새로운 컨테이너의 상태를 확인하여 애플리케이션이 정상적으로 실행 중인지 검증합니다. 배포 실패 시 기존 환경에 영향을 주지 않고 작업을 중단합니다.
  4. Nginx를 통한 트래픽 스위칭
    • Nginx 설정을 업데이트하여 트래픽을 Green 환경으로 전환합니다. 실시간 트래픽 스위칭으로 사용자 요청에 영향을 주지 않습니다.
  5. Blue 환경 종료
    • Green 환경 배포가 성공하면 기존 Blue 환경 컨테이너를 안전하게 종료하여 리소스를 정리합니다.



📁 Directory

src/
├── main/
│   ├── common/
│   │    ├── base/
│   │    ├── config/
│   │    ├── exception/
│   │    ├── response/
│   │    ├── status/
│   │    ├── util/
│   │    └── web/
│   │
│   ├── domain/
│   │    ├── ability/
│   │    ├── analysis/
│   │    │    ├── application/
│   │    │    ├── domain/
│   │    │    │    ├──converter/
│   │    │    │    ├──dto/
│   │    │    │    │    ├──request/
│   │    │    │    │    └──response/
│   │    │    │    ├──entity/
│   │    │    │    └──repository/
│   │    │    ├── exception/
│   │    │    ├── infra/openai/
│   │    │    ├── presentation/
│   │    │    └── status/
│   │    ├── auth/
│   │    ├── chat/
│   │    ├── folder/
│   │    ├── record/
│   │    ├── token/
│   └──  └── user/
│
└── test/
    ├── ability/
    │    ├──repository/
    │    └──service/
    ├── analysis/
    ├── auth/
    ├── chat/
    ├── folder/
    ├── record/
    └── user/



🛠️ 성능 테스트

성능테스트

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published