Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prgrms-web-devcourse-final-project/web1_2_tenpaws_be
최종-6팀
https://github.com/prgrms-web-devcourse-final-project/web1_2_tenpaws_be
Last synced: 10 days ago
JSON representation
최종-6팀
- Host: GitHub
- URL: https://github.com/prgrms-web-devcourse-final-project/web1_2_tenpaws_be
- Owner: prgrms-web-devcourse-final-project
- Created: 2024-11-18T00:59:31.000Z (about 2 months ago)
- Default Branch: develop
- Last Pushed: 2024-12-09T04:29:05.000Z (27 days ago)
- Last Synced: 2024-12-09T05:21:05.749Z (27 days ago)
- Language: Java
- Size: 14.3 MB
- Stars: 2
- Watchers: 0
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## ![image](https://github.com/user-attachments/assets/d8234c5d-5145-41e9-8c7a-4da948e80dce) PROGRAMMERS_FINAL_TEAM_PROJECT_TENPAWS
**TENPAWS**는 2024년 7월을 기점으로 초고령화 사회로 진입한 대한민국의 심각한 사회적 문제를 해결하고, 매년 10만 마리 이상 유기되는 동물들의 생명을 구하기 위해 탄생한 독거노인 - 반려동물 매칭 서비스 입니다.
독거 어르신과 보호소의 유기 동물을 연결함으로써, 서로에게 새로운 가족이 되어주는 따뜻한 연결의 가치를 실현합니다.
TENPAWS는 단순한 서비스가 아닌, 사람과 동물 모두의 삶에 긍정적인 변화를 가져오는 사회적 동반자가 되고자 합니다.> “따뜻한 연결로, 사람과 동물 모두의 삶을 바꾸는 TENPAWS”
## 💡 주요 기능### 🐾 소셜 로그인을 통해 간단히 서비스를 이용하세요
사용자는 서비스를 이용하기 위해 **카카오 및 네이버 소셜 로그인**을 할 수 있습니다.
소셜 계정이 없는 사용자의 경우, **일반 회원가입**으로도 서비스 이용이 가능합니다.### 🐕 취향에 맞는 반려 동물을 검색해보세요
TENPAWS는 **Chat GPT API**를 통해 선호 품종, 크기, 성격, 활동량과 같은 데이터를 통해 사용자의 선호에 딱 맞는 반려동물을 추천 받을 수 있습니다.
직관적인 UI/UX를 통해 어르신 사용자라도 사용법을 누구나 쉽게 확인할 수 있으며, 서비스에 대한 만족도를 높여줍니다.### 🔔 실시간 알림 기능으로 중요한 정보를 놓치지 마세요
TENPAWS는 사용자가 서비스를 더욱 편리하게 이용 가능하도록 **SSE 실시간 알림 기능**을 제공합니다.
매칭 진행 상황, 보호소에서 온 메세지, 노인 관련 국가 정책 등과 같은 정보를 웹 알림을 통해 놓치지 않도록 지원합니다.### 💬 실시간 채팅으로 빠르고 정확하게 소통하세요
사용자는 보호소 담당자와 실시간 채팅을 통해 직접 소통할 수 있습니다
유기 동물의 성격, 건강 상태 등과 같은 궁금한 점을 실시간으로 빠르게 확인하실 수 있습니다.
매칭 후에도 보호소와 소통하며 지속적인 관리 및 지원을 받으실 수 있습니다### ❓ 자주 묻는 질문(FAQ)으로 궁금증을 바로 해결하세요
TENPAWS는 사용자들의 편리한 서비스 이용을 위하여 자주 묻는 질문 FAQ 기능을 제공해드립니다.
입양 절차, 반려동물 매칭 조건, 서비스 이용 방법 등 주요 질문에 대한 답변을 손쉽게 찾아보실 수 있습니다.### 🗺️ 내 위치 근처에 있는 반려동물 관련 시설을 손쉽게 찾아보새요
TENPAWS는 카카오 맵 API를 활용하여 사용자의 현재 위치에서 반경 3KM 이내에 있는 반려동물 관련 시설을 쉽게 찾을 수 있도록 지원합니다.
사용자는 자신의 위치를 기반으로 주변의 동물 병원, 산책 시설, 보호소 등 다양한 시설 정보를 빠르게 조회 가능합니다.
지도와 함께 표시되는 시설 정보는 직관적이고 편리한 UI/UX를 통해 사용자에게 빠르고 직관적인 탐색 경험을 제공합니다.
## 🛠️ 개발 환경
### Backend
![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white)![Gradle](https://img.shields.io/badge/Gradle-02303A.svg?style=for-the-badge&logo=Gradle&logoColor=white)![Spring](https://img.shields.io/badge/spring%20boot-%236DB33F.svg?style=for-the-badge&logo=spring&logoColor=white)![SpringSecurity](https://img.shields.io/badge/spring%20security-%230DB33F.svg?style=for-the-badge&logo=springsecurity&logoColor=white)![SpringDataJpa](https://img.shields.io/badge/spring%20data%20jpa-%231DB33F.svg?style=for-the-badge&logo=spring&logoColor=white)![Swagger](https://img.shields.io/badge/Swagger-0?style=for-the-badge&logo=Swagger&logoColor=white&color=%2385EA2D)![JWT](https://img.shields.io/badge/JWT-black?style=for-the-badge&logo=JSON%20web%20tokens)![OAuth2](https://img.shields.io/badge/OAuth2-0?style=for-the-badge&logo=auth0&logoColor=white&color=%23000000)![Apache Tomcat](https://img.shields.io/badge/apache%20tomcat-%23F8DC75.svg?style=for-the-badge&logo=apache-tomcat&logoColor=black)### Frontend
![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)![CSS3](https://img.shields.io/badge/css-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white)![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E)![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)![React Router](https://img.shields.io/badge/React_Router-CA4245?style=for-the-badge&logo=react-router&logoColor=white)![React Query](https://img.shields.io/badge/-React%20Query-FF4154?style=for-the-badge&logo=react%20query&logoColor=white)![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge&logo=tailwind-css&logoColor=white)![Figma](https://img.shields.io/badge/figma-%23F24E1E.svg?style=for-the-badge&logo=figma&logoColor=white)### Testing
![Junit5](https://img.shields.io/badge/Junit5-25A162?style=for-the-badge&logo=junit5&logoColor=white)![Mockito](https://img.shields.io/badge/Mockito-E34F26?style=for-the-badge&logo=mega&logoColor=white)![Postman](https://img.shields.io/badge/Postman-FF6C37?style=for-the-badge&logo=postman&logoColor=white)### Database
![MySQL](https://img.shields.io/badge/mysql-4479A1.svg?style=for-the-badge&logo=mysql&logoColor=white)![H2](https://img.shields.io/badge/H2%20database-00205B?style=for-the-badge&logo=null&logoColor=white)### Collaboration
![intellij](https://img.shields.io/badge/IntelliJ_IDEA-00415E.svg?style=for-the-badge&logo=intellij-idea&logoColor=white)![Visual Studio Code](https://img.shields.io/badge/Visual%20Studio%20Code-0078d7.svg?style=for-the-badge&logo=visual-studio-code&logoColor=white)![Notion](https://img.shields.io/badge/Notion-000000?style=for-the-badge&logo=notion&logoColor=white)![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white)![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)![Slack](https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white)![Zoom](https://img.shields.io/badge/Zoom-2D8CFF?style=for-the-badge&logo=zoom&logoColor=white)![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)### API
![ChatGPT](https://img.shields.io/badge/chatGPT-74aa9c?style=for-the-badge&logo=openai&logoColor=white)### CI/CD
![AWS](https://img.shields.io/badge/AWS-%23FF9900.svg?style=for-the-badge&logo=amazon-aws&logoColor=white)![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)![GitHub Actions](https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge&logo=githubactions&logoColor=white)
## 프로젝트 구조
프로젝트 구조 자세히 보기
## 📑 개발 문서
🔗 ER Diagram
![erd drawio](https://github.com/user-attachments/assets/f5398062-4eab-4bf2-a775-26b87e560fa4)
🔗 System Architecture
### CI / CD
![CICD구조도6 drawio](https://github.com/user-attachments/assets/35571582-5005-4b59-91ee-6a9a38580090)
🔗 Sequence Diagram
소셜 로그인
![social drawio](https://github.com/user-attachments/assets/11029dad-da5a-407b-9926-a6af6ada6e6c)
반려동물 매칭
실시간 알림 전송
실시간 채팅 서비스
카카오 맵 API
![map drawio](https://github.com/user-attachments/assets/747ab143-2396-4c9d-81bd-390c65f25b87)
🔗 Usecase Diagram
![usercase drawio](https://github.com/user-attachments/assets/22505f12-4cfe-48dd-88f4-63c7453477b5)
🔗 Flow chart
로그인
![image](https://github.com/user-attachments/assets/a8f051e1-38a9-4eac-b256-d8bc5a93cee6)
반려동물 매칭
![image](https://github.com/user-attachments/assets/33724947-8068-4ed7-92df-b17f38b2da97)
실시간 알림 전송
![image](https://github.com/user-attachments/assets/867340ad-6370-448d-a7dc-1c06f50d6098)
실시간 채팅 서비스
![image](https://github.com/user-attachments/assets/f749dea0-6ee0-4bd1-8805-9235f3073735)
카카오 맵 API
![image](https://github.com/user-attachments/assets/d4e1f5e7-0960-4289-b8cb-d3b978fab1cf)
## 👬 팀 소개
| 프로필 사진 | 이름 | 역할 | GitHub 주소 |
|-------------------------------------------------|-----------------|--------------------------------|------------------------------------------|
| ![최준호](https://avatars.githubusercontent.com/u/177797252?v=4) | 최준호 (PM) | 프로젝트 매니저 및 깃허브 레포지토리 관리자, Chat GPT를 통한 반려동물 매칭 기능 담당 | [GitHub](https://github.com/wnsgho) |
| ![김동준](https://avatars.githubusercontent.com/u/176230828?v=4) | 김동준 | 백엔드 팀장 및 AWS 관리자, 공지사항, 문의, SSE 실시간 알림 기능 담당 | [GitHub](https://github.com/kimdongjoon-web) |
| ![남현호](https://avatars.githubusercontent.com/u/143480257?v=4) | 남현호 | 프로젝트 기획 및 FAQ, WEBSOCKET 실시간 채팅 기능 담당 | [GitHub](https://github.com/namhyeonh0) |
| ![김성겸](https://avatars.githubusercontent.com/u/177853925?v=4) | 김성겸 | 프로젝트 기획 및 회원, 관리자 기능 구현, OAUTH2를 통한 소셜 로그인 서비스 / JWT 시큐리티 기능 담당 | [GitHub](https://github.com/xxxkyeom) |
| ![박규용](https://avatars.githubusercontent.com/u/119818275?v=4) | 박규용 | 프론트엔드 팀장 및 공지사항, 문의, FAQ, 채팅방, KAKAO 맵 API 기능 담당 | [GitHub](https://github.com/GGICK) |
| ![한지원](https://avatars.githubusercontent.com/u/145121488?v=4) | 한지원 | 프로젝트 기획 및 반려동물 등록, 입양 신청, 선호 반려동물 등록, 마이페이지, 매칭 검색, 보호소 지도 기능 담당 | [GitHub](https://github.com/gomsbft) |
| ![차주영](https://avatars.githubusercontent.com/u/155400101?v=4) | 차주영 | 프로젝트 기획 및 회원가입, 로그인, 소셜로그인, 메인페이지, AI 매칭, 알람 기능 담당 | [GitHub](https://github.com/woodzverse) |### 백엔드 팀
- **최준호** (PM): 프로젝트 관리와 GitHub 레포지토리 관리, Chat GPT를 활용한 반려동물 매칭 기능을 구현.
- **김동준** (백엔드 팀장): 백엔드 팀을 이끌며, AWS 관리 및 공지사항, 문의, SSE 실시간 알림 기능을 구현.
- **남현호**: 프로젝트 기획 및 FAQ 기능을 담당하며, WebSocket을 통한 실시간 채팅 기능을 구현.
- **김성겸**: 프로젝트 기획 및 회원&관리자 기능을 담당하며, OAUTH2 및 JWT를 활용한 시큐리티 기능을 구현.### 프론트엔드 팀
- **박규용** (프론트엔드 팀장): 프론트엔드 팀을 이끌며, 공지사항, 문의, FAQ, 채팅방, KAKAO 맵 API 기능을 구현
- **한지원**: 프로젝트 기획 및 반려동물 등록, 입양 신청, 선호 반려동물 등록, 마이페이지, 매칭 검색, 보호소 지도 기능을 구현
- **차주영**: 프로젝트 기획 및 회원가입, 로그인, 소셜로그인, 메인페이지, AI 매칭, 알람 기능을 구현
## ▶️ 시연 영상