{"id":25514336,"url":"https://github.com/tletle7102/catconnect","last_synced_at":"2026-04-20T03:02:10.768Z","repository":{"id":277818797,"uuid":"933173835","full_name":"tletle7102/catconnect","owner":"tletle7102","description":"🐱고양이 입양을 원하는 사람들과 분양을 원하는 사람들을 연결하는 매칭 플랫폼","archived":false,"fork":false,"pushed_at":"2026-04-13T13:27:46.000Z","size":644,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-13T15:07:21.216Z","etag":null,"topics":["intellij","java","jpa","postgresql","spring-boot","spring-security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tletle7102.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-15T10:28:19.000Z","updated_at":"2026-04-13T13:20:35.000Z","dependencies_parsed_at":"2025-12-17T10:00:06.204Z","dependency_job_id":null,"html_url":"https://github.com/tletle7102/catconnect","commit_stats":null,"previous_names":["tletle7102/catconnect"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tletle7102/catconnect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tletle7102%2Fcatconnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tletle7102%2Fcatconnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tletle7102%2Fcatconnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tletle7102%2Fcatconnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tletle7102","download_url":"https://codeload.github.com/tletle7102/catconnect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tletle7102%2Fcatconnect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32031070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["intellij","java","jpa","postgresql","spring-boot","spring-security"],"created_at":"2025-02-19T12:17:59.124Z","updated_at":"2026-04-20T03:02:10.747Z","avatar_url":"https://github.com/tletle7102.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 고양이 입양 프로젝트\n![Java](https://img.shields.io/badge/Java-21-blue)\n![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.4.2-green)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-latest-lightblue)\n\n## 🎯 프로젝트 개요\n이 프로젝트는 DDD(Domain-Driven Design) 패턴을 적용하여 구성된 Spring Boot 기반 서버 어플리케이션\n고양이를 입양하길 원하는 사람들을 연결하는 플랫폼\n`JPA`, `Spring Security`, `Lombok` 등을 활용하고, `PostgreSQL`을 데이터베이스로 사용\n\n## 📁 패키지 구조\n\n```\nsrc \n├── main\n│   ├── java/com.matchhub.catconnect\n│   │   ├── common\n│   │   │   ├── controller\n│   │   │   ├── enums                 # ErrorCode 정의\n│   │   │   ├── model\n│   │   │   │   ├── entity            # BaseEntity 정의\n│   │   ├── domain\n│   │   │   ├── board\n│   │   │   │   ├── restcontroller    # API 컨트롤러 (”/api” prefix)\n│   │   │   │   ├── model\n│   │   │   │   │   ├── dto\n│   │   │   │   │   ├── entity\n│   │   │   │   │   ├── enums\n│   │   │   │   │   ├── record\n│   │   │   │   ├── repository\n│   │   │   │   ├── service\n│   │   │   ├── comment # board와 동일한 구조\n│   │   │   ├── user # board와 동일한 구조\n│   │   ├── global\n│   │   │   ├── configuration         # JpaAuditingConfig\n│   │   │   ├── exception             # 예외 처리 (GlobalExceptionHandler 등)\n│   │   │   ├── response              # API Response 정의\n│   │   │   ├── util\n│   │   │   │   ├── auth\n│   │   │   │   ├── mail\n│   │   ├── CatconnectApplication          # SpringBootApplication 진입점\n│   ├── resources\n│   │   ├── static\n│   │   ├── templates\n│   │   ├── application.yml\n│   │   ├── application-dev.yml\n│   │   ├── application-local.yml\n│   │   ├── application-prod.yml\n```\n\n## ⚙️ 기술 스택\n- Lang: Java 21\n- Framework: Spring Boot 3.4.2\n- DB: PostgreSQL\n- Build Tools: Gradle\n- Library:\n    - Spring Boot Starter (JPA, Security, Web, Mail)\n    - Lombok\n\n## 🚀 프로젝트 실행 방법\n### 1️⃣ 클론\n터미널을 실행하고, 아래 명령어를 실행\n\n```sh\ngit clone https://github.com/tletle7102/catconnect.git\ncd catconnect\n```\n\n- `git clone https://github.com/tletle7102/catconnect.git` 은 해당 깃허브 리포지토리(이하 origin)를 복제하여 터미널에 위치한 디렉토리에 설치하여 로컬 리포지토리를 생성하는 명령어\n- `cd catconnect` 는 위 명령어를 실행시킨 디렉토리에서 로컬 리포지토리에 생성된 리포지토리 디렉토리로 이동하는 명령어\n\n### 2️⃣ 환경변수 설정\n프로젝트 루트 디렉토리에 `.env` 파일을 생성하고, 아래 내용을 입력\n아래 내용에서 값이 없는 부분은 노출에 민감하기 때문에 사용 시, 채워 넣어야 함\n\n```env\nCATCONNECT_SPRING_PROFILE_ACTIVE= \nCATCONNECT_TOMCAT_PORT= \nCATCONNECT_SPRING_SECURITY_JWT_SECRET=\nCATCONNECT_SPRING_SECURITY_EXPIRATION= \nCATCONNECT_LOCAL_DB_URL= \nCATCONNECT_LOCAL_DB_USERNAME= \nCATCONNECT_LOCAL_DB_PASSWORD= \nCATCONNECT_LOCAL_DB_NAME= \nCATCONNECT_DEV_DB_URL= \nCATCONNECT_DEV_DB_USERNAME= \nCATCONNECT_DEV_DB_PASSWORD= \nCATCONNECT_DEV_DB_NAME= \n\n```\n\n### 3️⃣ 실행\n\n아래 두 방법 중 한 가지 방법을 선택하여 실행(택 1)\n다만, 실행하기 전에 O/S에 JDK 21이 설치되어 있어야 함\nJDK 21의 설치여부는 `javac --version`으로 확인 가능\n\n#### ① 환경변수 파일을 명령어로 주입하여 Gradle로 스프링부트 실행\n\n```sh\nenv $(grep -v '^#' dev.env | xargs) ./gradlew bootRun\n```\n\n#### ② 환경변수 파일을 리눅스 환경변수로 활용하여 스프링부트 빌드 후 실행\n\n```sh\nexport $(grep -v '^#' dev.env | xargs) \u0026\u0026 ./gradlew clean build\njava -jar build/libs/{프로젝트명}-0.0.1-SNAPSHOT.jar\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftletle7102%2Fcatconnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftletle7102%2Fcatconnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftletle7102%2Fcatconnect/lists"}