'지구멀미'는 채식 정보 공유 서비스로, 지구의 빠른 변화 속도를 늦추기 위해 우리의 식생활부터 변화를 시작하자는 취지에서 개발되었습니다.
사용자가 환경에 더 가까워질 수 있는 방법을 찾고, 일상에서 지구를 생각하며 잠시 쉬어갈 수 있는 공간을 제공합니다. 또한, 동식물의 입장에서 생각해보거나 같은 관심사를 가진 사람들과 소통할 수 있는 기회를 제공합니다.
더 자세한 내용은 지구멀미 소개 페이지에서 확인하실 수 있습니다.
- Controller: 클라이언트 요청 및 응답 핸들링
- 요청 데이터 검증 및 적절한 형태로 서비스 계층에 전달
- Swagger 문서화
- Service: 비즈니스 로직 수행
- 서비스가 수행하고자 하는 "주 관심사"의 흐름을 이해하기 쉽게 표현하는 계층
- Manager: 비즈니스 로직의 세부 구현
- 서비스 계층의 부품이 되어 여러 도메인의 비즈니스 로직에 재사용되는 계층
- Repository: Data Access Object (DAO)
- 다양한 데이터 자원(주로 RDB)에 접근하여 처리하는 계층
사용자 기능(core)과 관리자 기능(admin) 모듈 분리 (분리 과정)
- core가 admin을 런타임 의존하여 어플리케이션 하나로 구동
- 프로젝트 root에서 테스트 실행하여 모든 모듈을 대상으로 진행
브랜치 보호 전략으로 상위 브랜치에 커밋을 추가하기 위해서는 PR 제출 및 Status Check 필수
- main: 상용 서비스에 배포되는 최종 브랜치
- hotfix: 상용 서비스에서 발견된 치명적인 버그나 즉시 해결이 필요한 이슈를 처리하는 브랜치
- dev: 개발 단계에서 테스트하고 다듬어진 변경 사항들이 집합된 브랜치
- feat: 신규 기능 개발을 위해 독립적으로 작업되는 브랜치
Doppler: 프로젝트 시크릿 데이터 관리
- path 기반 워크플로우 트리거 조건 설정
- dev 브랜치
- PR 제출 -> 단위 테스트 실행
- Push -> 개발 환경의 백엔드 애플리케이션 혹은 모니터링 시스템 배포
- main 브랜치
- Push -> 상용 환경의 백엔드 애플리케이션 혹은 모니터링 시스템 배포
트러블 슈팅 및 학습 기록
Java, Kotlin, Spring Boot, Spring Security, SpringdocJPA, QueryDSLJUnit5, MockitoDocker, FluentBit, Loki, Prometheus, GrafanaAWSEC2, Lambda, RDS MySQL, S3Route53, Cloudfront
Github Actions, Doppler
- 카카오 OAuth
- 비건 식당 큐레이팅 배너 목록 조회
- 배너별 장소 목록 조회
- 장소별 세부 정보 조회
- 장소별 리뷰 CRUD
- 사용자, 장소, 배너 등 비즈니스 자원을 관리 감독할 수 있는 ADMIN 기능
- 2024.03 ~ 2025.03
- 마케팅1, 기획1, 프론트엔드1, 백엔드1