Skip to content

Latest commit

 

History

History
60 lines (46 loc) · 2.88 KB

README.md

File metadata and controls

60 lines (46 loc) · 2.88 KB

Petmily Server

제10회 소프트웨어 개발보안 경진대회 - 행정안전부장관상(우수상)

행정안전부장관상(우수상)

'펫밀리'는 안전하고 공정한 반려동물 분양 플랫폼입니다. 사용자와 반려동물의 행복을 위한 새로운 경험을 제공하기 위해 구축된 시스템입니다.

개발 배경

반려동물 분양 시장의 불투명성과 분양 후 관리의 어려움을 해결하고, 반려동물과 사람들 사이의 안전하고 행복한 만남을 위해 이 플랫폼을 개발하게 되었습니다.

주요 기능

  • 실명 인증을 통한 안전한 분양
  • 입양자 맞춤형 분양자 선정
  • 분양 동물에 대한 상세한 프로필 제공
  • 분양 계약서 자동 생성 및 관리
  • 사용자 간 커뮤니케이션 플랫폼 제공
  • 반려동물 물품 중고거래 플랫폼 제공
  • 다양한 종류의 반려동물 분양 지원
  • 반려동물 관리 및 건강 정보 제공
  • 유기동물 입양을 위한 정보 제공

기대 효과

  • 반려동물 분양 문화 개선 및 신뢰성 강화
  • 분양 과정의 투명성 제고를 통한 불법 분양 방지
  • 분양 후 관리 지원을 통한 반려동물 복지 향상
  • 공공데이터 활용을 통한 유기동물 입양 촉진

기술 스택

  • Spring Boot: 웹 및 애플리케이션 개발을 위한 프레임워크.
  • Spring Security: 인증 및 권한 부여를 위한 보안 프레임워크.
  • Spring Data JPA: 데이터 접근 계층을 위한 JPA.
  • Quartz: 스케줄링 작업을 위한 라이브러리.
  • HttpClient: 외부 API 호출을 위한 라이브러리.
  • Slack API: 슬랙 메시지 전송을 위한 라이브러리.
  • Swagger: API 문서 자동화.

프로젝트 구조

  • auth : 인증 관련 기능을 수행합니다.
  • config : 프로젝트의 설정 관련 클래스를 모아둡니다.
  • controller : REST API를 통해 외부 요청을 처리합니다.
  • exception : 도메인별 예외 상황을 처리합니다.
  • handler : 예외 및 특정 상황에 대한 핸들러를 정의합니다.
  • mapper : DTO와 Entity 간의 변환을 담당합니다.
  • repository : 데이터베이스의 CRUD 작업을 담당합니다.
  • schedule : 스케줄링 작업을 수행합니다.
  • service : 핵심 비즈니스 로직을 수행합니다.
  • type
    • dto : 계층 간 데이터 교환을 위한 객체를 정의합니다.
    • entity : 도메인 객체를 정의합니다.
    • etc : 기타 타입을 정의합니다.
  • util : 일반적인 유틸리티 기능을 제공합니다.

데이터베이스 설계도

adoption_report