PICK ME는 취업 준비생들이 면접을 효율적으로 준비하고, 면접 과정을 체계적으로 관리할 수 있도록 돕는 웹 서비스입니다.
이 서비스는 면접 일정, 기업 분석, 예상 질문·답변 정리, 면접 회고를 하나의 플랫폼에서 제공하여, 사용자가 면접 준비 전반을 통합적으로 관리할 수 있게 합니다.
일정 관리와 정보 정리를 넘어, 취업 준비생들이 면접 성공률을 높일 수 있도록 체계적이고 효율적인 준비를 지원하는 목표를 가집니다.
프로젝트 개요
기업 입사를 목표로 면접 전형을 전략적이고 체계적으로 준비하고 싶은 취업 준비생
현재 취업 준비생은 면접 일정을 별도의 앱이나 다이어리로 관리하고, 기업 분석 및 예상 질문·답변 등을 흩어져서 정리합니다. 이로 인해 면접 준비가 비효율적입니다. 또한, 면접 결과나 회고를 기록하고 분석할 툴이 부족해 전략적인 준비가 어렵습니다. 기존의 채용 플랫폼은 공고 검색과 지원에 집중되어 있어 면접 준비에 필요한 일정, 자료, 회고 관리 기능이 부족합니다.
이를 해결하기 위해 면접 일정 관리, 기업 분석, 예상 질문 정리, 면접 회고까지 한 곳에서 체계적으로 관리할 수 있는 문서 기반 면접 준비 플랫폼을 개발합니다.
- 효율적인 면접 준비: 일정, 기업 분석, 예상 질문 등을 한 곳에서 관리하여 준비 시간을 절약할 수 있다.
- 데이터 기반 전략 수립: 면접 회고 및 피드백을 분석하여 개인 맞춤형 면접 전략을 세운다.
- 정보 접근성 향상: 취업 준비생이 필요한 정보를 보다 체계적이고 쉽게 정리할 수 있어, 준비 과정의 혼란을 줄인다.
김아영 | 김영진 | 안진수 | 정원철 |
---|---|---|---|
PICK ME는 취업 준비생들이 면접 준비를 효율적으로 할 수 있도록 여러 핵심 기능을 제공합니다.
- 예상 질문과 그에 대한 답변을 기록하며, 사용자가 답변을 준비할 수 있도록 돕습니다.
- 각 기업의 분석 자료와 면접 팁을 정리하여 사용자가 기업별로 맞춤형 준비를 할 수 있게 지원합니다.
- 면접 후 회고를 기록하고 분석할 수 있어, 데이터 기반으로 면접 준비를 개선할 수 있습니다.
- 면접 일정을 관리하고 알림을 통해 중요한 일정을 놓치지 않도록 도와줍니다.
- 멘토와의 실시간 채팅 기능을 통해 취업 준비생이 언제든지 궁금한 점을 물어보고, 면접 준비에 필요한 조언을 받을 수 있습니다.
마이크로 프론트엔드 아키텍처(MFA; Micro Frontend Architecture)를 채택하여 각 애플리케이션은 독립적으로 빌드되고 배포됩니다. 이를 통해 각 팀은 자신만의 책임 범위 내에서 개발할 수 있으며, 애플리케이션의 모듈화와 유지보수성이 향상되었습니다.
각 애플리케이션은 CDN(Content Delivery Network) 을 통해 배포되고, 사용자 브라우저에서 동적으로 통합됩니다.
이 방식은 애플리케이션 간 유연성을 높이고, 기능 추가나 업데이트가 독립적으로 이루어져 시스템의 확장성과 탄력성을 보장합니다.
프로젝트명 | 프로젝트 요약 | 기능 |
---|---|---|
PickMe-MFA-Root | 마이크로 프론트엔드 통합 | Single-SPA 응용 프로그램을 시작하는 루트 HTML 마이크로프론트엔드를 동적으로 통합 |
PickMe-Style-Guide | 스타일 가이드 | Module Federation을 활용한 컴포넌트 동적 제공 Storybook을 활용한 컴포넌트 문서화 |
PickMe-Nav-Application | 네비게이션 마이크로 프론트엔드 | 웹사이트 공통 네비게이션 공간 렌더링 |
PickMe-Auth-Parcel | 사용자 관리 마이크로 꾸러미 조각 | Amazon Cognito를 이용한 사용자 관리 동적 모듈 호출이 가능한 Parcel 제공 |
PickMe-Record-Application | 기록 서비스 마이크로 프론트엔드 | 사용자 맞춤 면접 준비 기록 페이지 |
PickMe-Review-Application | 면접 회고 마이크로 프론트엔드 | 사용자 맞춤 면접 리뷰 페이지 |
PickMe-Report-Application | 기업 분석 마이크로 프론트엔드 | 사용자 맞춤 기업 분석 페이지 |
PickMe-Calendar-Application | 캘린더 마이크로 프론트엔드 | 면접 일정 관리와 알림 관리 페이지 |
PickMe-Reminder-Parcel | 알림 마이크로 꾸러미 조각 | 서비스 워커를 사용하여 OneSignal SDK를 로드 브라우저에서 푸시 알림을 등록하는 Parcel 제공 |
PickMe-Chat-Application | 채팅 마이크로 프론트엔드 | 사용자간 실시간 채팅 위젯 |
마이크로서비스 아키텍처(MSA; MicroService Architecture)를 기반으로 설계되어 각 서비스는 독립적으로 배포되고 실행됩니다. 이를 통해 각 서비스는 명확하게 책임이 분리되고, 독립적으로 관리됩니다.
프론트엔드와의 통신은 RESTful API를 통해 이루어지며, 서비스 간의 연동이 원활하게 진행됩니다.
모든 서비스는 도커(Docker) 이미지를 사용하여 컨테이너화되어 있으며, AWS 인프라를 활용하여 배포됩니다. 또한, 오토스케일링 기능을 통해 트래픽 증가에 따른 리소스를 자동으로 확장할 수 있어, 시스템의 안정성과 확장성을 보장합니다.
프로젝트명 | 프로젝트 요약 | 기능 |
---|---|---|
PickMe-Record-Service | 기록 마이크로 서비스 | 사전 준비 과정에서 예상 질문과 답변을 정리할 수 있도록 기록하는 서비스 |
PickMe-Review-Service | 회고 마이크로 서비스 | 면접 후 면접 정보, 진행 과정, 질문과 답변, 의사소통, 분석과 평가 해당 면접에 대해 리뷰하는 서비스 |
PickMe-Report-Service | 공고 분석 마이크로 서비스 | 사전 준비 과정에서 사용자가 기업 분석을 할 수 있도록 기록하는 서비스 |
PickMe-Calendar-Service | 캘린더 마이크로 서비스 | 사용자가 캘린더에 회사명, 면접 시간, 면접 위치 등 면접 일정을 저장하고 관리할 수 있는 서비스 |
PickMe-Reminder-Service | 알림 마이크로 서비스 | API를 통해 알림 시간을 관리하고, 스케쥴러가 매시간 알림을 발송하는 서비스 |
PickMe-Chat-Service | 채팅 마이크로 서비스 | 사용자 간 실시간 채팅을 제공하고 참가 중인 사용자를 관리하는 서비스 |
- 소스 코드 관리: Git으로 소스 코드를 관리하고, GitHub에 푸시 후 Pull Request(PR)을 생성합니다.
- 코드 빌드 및 테스트: GitHub Actions를 사용하여 코드 빌드, 테스트, 린트를 수행합니다.
- PR 승인 및 병합: main 브랜치는 보호되어 있으며, PR에 대한 리뷰 승인을 받은 후 main 브랜치에 병합됩니다.
- 도커 이미지 빌드: AWS CloudBuild에서 도커 컨테이너 이미지를 빌드합니다.
- ECR로 이미지 푸시: 빌드된 이미지를 AWS ECR로 푸시합니다.
- 컨테이너 배포: AWS CodeDeploy를 사용하여 ECR에서 이미지를 가져와 컨테이너를 배포하고, ECS에서 실행됩니다.
- PR이 열리면 워크플로어를 작동해서 빌드 성공을 확인
- 빌드 결과는 아티펙터로 저장해서 다른 워크플로어에서 사용할 수 있게 준비
- main 브랜치: 프로덕션 상태 유지
- develop, issue- 브랜치: 개발 작업
main 브랜치를 보호하고 PR을 통해 리뷰어의 승인을 통해 병합하는 규칙을 설정
-
깃헙 Rulesets에 main 브랜치 보호 설정 Main-Rule
required_approving_review_count
: 리뷰어 승인 요구dismiss_stale_reviews_on_push
: 새로운 커밋이 PR에 푸시되면 이전에 완료된 리뷰는 자동으로 무효화require_last_push_approval
: 최종 푸시에 대한 승인 요구. PR을 머지하기 전에 마지막 커밋에 대한 리뷰 승인이 완료되어야 함.
-
PR 요청시 리뷰어 자동 할당 워크플로어 작성 auto-assign
- .gitmessage 커밋 메시지 관리를 주석으로 제공
- .gitconfig 디폴트 브랜치를 develop으로 설정
- 자동 스크립트 추가
- setup.ps1 : 윈도우용
- setup.zsh : 리눅스용
카테고리 | 스택 |
---|---|
모듈 | |
언어 | |
SPA | |
SPA 라이브러리 | |
애플리케이션 라이브러리 | |
UI 라이브러리 | |
외부 라이브러리 | |
테스트툴 | |
빌드 | |
개발 도구 | |
문서 |
카테고리 | 스택 |
---|---|
프레임워크 | |
언어 | |
데이터베이스 | |
애플리케이션 라이브러리 | |
테스트툴 | |
빌드 | |
개발 도구 | |
문서 |
카테고리 | 스택 |
---|---|
컴퓨팅 | |
네트워크 | |
인증 | |
스토리지 | |
데이터베이스 | |
관리 |
카테고리 | 스택 |
---|---|
컨테이너 | |
오케스트레이션 | |
CI/CD |