MCPcopy Index your code
hub / github.com/depromeet/na-lab-server

github.com/depromeet/na-lab-server @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,922 symbols 6,513 edges 675 files 166 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Na Lab

동료의 익명 피드백을 통한 나의 커리어 브랜딩, Na Lab    • 백엔드 레포지토리

Code Smells Coverage Quality Gate Status Duplicated Lines (%) e2e test

🧐 Na Lab ?

오직 나만을 위한 커리어 연구실, Na Lab 🧬🧪
‘Na Lab’은 동료의 익명 피드백을 통해 나의 직무 강점을 발견하는 서비스입니다.

👉 Na Lab 바로가기


na lab na lab

나의 커리어 브랜딩을 완성해주는 기본질문을 통해 손쉽게 질문폼을 만들 수 있어요
새로운 질문을 추가하고 싶다면 객관식, 주관식으로 자유롭게 질문을 만들어보세요!

na lab na lab

부담스러웠던 동료 평가의 경험을 마치 친구와 심리테스트 하듯 즐겁게 할 수 있도록 설계했어요
나랩의 연구를 책임지는 Dr. 왓슨 박사님과 함께 채팅으로 대화하며 익명으로 피드백을 남길 수 있어요

na lab na lab

많은 사람들의 답변 속에서 정말 나에게 도움이 되는 피드백은 어느 것일까요?
나랩은 유저가 개별 답변에 대한 이해도를 높이며 의미 있는 피드백을 얻을 수 있도록 결과를 정리했어요

na lab

피드백 결과를 통해 나의 커리어 연구 결과를 확인할 수 있고,
동료들의 피드백을 저장해 나만의 커리어 명함을 만들 수 있어요

추가이미지1

추가이미지2


😎 Develoment Description

  • 안정성과 유지보수를 위해서 단위테스트, 통합테스트, E2E 테스트를 모두 짜는 전략으로 진행
  • 테스트 커버리는 분기와 라인 커버리지를 모두 검증하였으며 테스트 커버리지 93.7%를 달성
  • 특히, E2E 테스트를 통해 실제 사용자의 여러 시나리오를 테스트함으로써 애플리케이션의 무결성을 검증하고자 하였으며
    도입 이후 2차 MVP의 QA 에서 버그 제로 달성
  • 유연하고 확장가능한 서비스를 위해 멀티모듈과 헥사고날 아키텍처를 적용
  • E2E 부터 깃허브 라벨링, PR 알람 등의 가능한 모든 작업을 자동화시켜 팀의 생산성 증대

🏛️ System Architecture

아키텍처이미지

📚 Tech Stack

🧑🏻‍💻 Developers

Backend Backend Backend
이준영 이수진 유도진
devxb ssssujini99 dojinyou
devxb의 커리어 명함 ssssujini99의 커리어 명함 dojinyou의 커리어 명함

추가이미지3

Extension points exported contracts — how you extend this code

OAuthGetAccessTokenUseCase (Interface)
OAuth Provider의 Resource 서버 접근을 위한 access token 가져옵니다. [9 implementers]
auth/auth-application/src/main/java/me/nalab/auth/application/port/in/web/OAuthGetAccessTokenUseCase.java
ValidatorFactory (Interface)
ParameterExtractor 와 Validator를 연결하는 SPI 입니다. 이 인터페이스의 구현모듈은 ParameterExtractor와 ParameterExtractor를 처리 가능한 Va [6 implementers]
core/authorization/authorization-core/src/main/java/me/nalab/core/authorization/spi/ValidatorFactory.java
SurveyCreatePort (Interface)
생성된 Survey를 저장하는 역할을 하는 인터페이스 이 인터페이스의 구현체는 Survey 도메인을 저장해야함. [6 implementers]
survey/survey-application/src/main/java/me/nalab/survey/application/port/out/persistence/SurveyCreatePort.java
XssFilter (Interface)
이 인터페이스의 구현체는 파라미터를 전달받아 Xss-safe 한 응답을 반환해야함. @since 0.1 @author devxb [4 implementers]
core/secure/src/main/java/me/nalab/core/secure/xss/spi/XssFilter.java
IdGenerator (Interface)
(no doc) [6 implementers]
core/id-generator/id-core/src/main/java/me/nalab/core/idgenerator/idcore/IdGenerator.java
IdGeneratable (Interface)
(no doc) [12 implementers]
survey/survey-domain/src/main/java/me/nalab/survey/domain/support/IdGeneratable.java
UserFindByProviderAndTokenPort (Interface)
Provider와 Token을 이용해서 유저를 조회합니다. [3 implementers]
user/user-application/src/main/java/me/nalab/user/application/port/out/persistence/UserFindByProviderAndTokenPort.java
TargetIdFindJpaRepository (Interface)
(no doc) [1 implementers]
survey/survey-jpa-adaptor/src/main/java/me/nalab/survey/jpa/adaptor/authorization/repository/TargetIdFindJpaRepository.java

Core symbols most depended-on inside this repo

get
called by 195
auth/auth-application/src/main/java/me/nalab/auth/application/port/in/web/OAuthGetResourceUseCase.java
of
called by 164
survey/survey-web-adaptor/src/main/java/me/nalab/survey/web/adaptor/advice/ErrorTemplate.java
of
called by 62
core/exception-handler/src/main/java/me/nalab/core/exception/handler/ErrorTemplate.java
value
called by 49
core/authorization/authorization-core/src/main/java/me/nalab/core/authorization/api/ParameterReference.java
isBookmarked
called by 36
survey/survey-domain/src/main/java/me/nalab/survey/domain/feedback/FormQuestionFeedbackable.java
toSurveyEntity
called by 35
survey/survey-jpa-adaptor/src/main/java/me/nalab/survey/jpa/adaptor/common/mapper/SurveyEntityMapper.java
toInstant
called by 29
core/time/src/main/java/me/nalab/core/time/TimeUtil.java
clear
called by 26
core/time/src/main/java/me/nalab/core/time/TimeUtil.java

Shape

Method 1,229
Class 502
Interface 152
Function 26
Enum 13

Languages

Java96%
Kotlin4%

Modules by API surface

survey/survey-jpa-adaptor/src/main/java/me/nalab/survey/jpa/adaptor/common/mapper/SurveyEntityMapper.java20 symbols
survey/survey-domain/src/test/java/me/nalab/survey/domain/feedback/FeedbackDomainTest.java19 symbols
api/api-mock/src/main/java/me/nalab/api/mock/MockController.java16 symbols
api/acceptance-test/src/test/java/me/nalab/luffy/api/acceptance/test/feedback/FeedbackAcceptanceValidator.java16 symbols
survey/survey-application/src/main/java/me/nalab/survey/application/common/feedback/mapper/FeedbackDtoMapper.java15 symbols
survey/survey-jpa-adaptor/src/main/java/me/nalab/survey/jpa/adaptor/common/mapper/FeedbackEntityMapper.java14 symbols
survey/survey-web-adaptor/src/main/java/me/nalab/survey/web/adaptor/findfeedback/ResponseMapper.java13 symbols
survey/survey-domain/src/test/java/me/nalab/survey/domain/survey/SurveyDomainTest.java13 symbols
api/acceptance-test/src/test/java/me/nalab/luffy/api/acceptance/test/feedback/AbstractFeedbackTestSupporter.java13 symbols
api/acceptance-test/src/test/java/me/nalab/luffy/api/acceptance/test/feedback/find/FeedbackFindByTypeAcceptanceTest.java12 symbols
survey/survey-web-adaptor/src/main/java/me/nalab/survey/web/adaptor/createsurvey/SurveyCreateRequestMapper.java11 symbols
api/acceptance-test/src/test/java/me/nalab/luffy/api/acceptance/test/feedback/reviewer/summary/ReviewerSummarizeAcceptanceTest.java11 symbols

For agents

$ claude mcp add na-lab-server \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact