TEAM: LOOKIDS
신세계 I&C와 부산광역시에서 주관하는 스파로스 아카데미 5기 소속 학생들이 진행한 SNS 프로젝트
이 프로젝트는 반려동물을 키우는 사람들이 그들의 특별한 순간을 공유하고 소통할 수 있는 전문 SNS 플랫폼을 만드는 것을 목표로 합니다. 반려동물의 사진과 이야기로 소통하며, 사용자 간의 유대감을 강화하고 반려동물 중심의 커뮤니티를 형성하고자 합니다.
프론트엔드와 백엔드의 긴밀한 협업을 통해 효율적이고 체계적으로 진행되었습니다. 협업 도구로 Jira와 Notion을 활용하여 프로젝트의 진행 상황을 명확히 추적하고, 개발 중 발생하는 이슈를 신속히 해결할 수 있었습니다.
2024년 10월 2일 ~ 2024년 12월 16일
| 이름 | 역할 | 담당기능 |
|---|---|---|
| 김현진 | Team Leader, Back-End | Auth, 알림신청(구독), 알림 |
| 박상언 | Team Leader, Back-End, Infra | 인프라, 유저, 댓글, 배치 |
| 김성수 | Back-End | 채팅, 좋아요, 신고/문의, 이벤트 |
| 신지훈 | Back-End | 검색, 지도, 팔로우/팔로잉, 차단 |
| 함민서 | Back-End | 피드, 관리자 |
| 김범규 | Front-End | 피드, 지도, 채팅, 로그인, 알림 |
| 김재훈 | Front-End | 회원가입, 유저 프로필, 마이 페이지, 검색 |
- 메인 페이지: 추천 팻 프로필과 피드를 확인할 수 있습니다 팔로우가 있다면 팔로우 유저의 피드를, 팔로잉을 하지 않았거나 로그인을 하지 않았다면 추천 피드를 표시합니다.
- 피드: 사용자들이 반려동물 사진과 글을 업로드하며 자신의 일상을 기록하고 공유할 수 있는 기능을 제공합니다. 좋아요와 댓글을 통해 사용자 간의 상호작용을 촉진합니다.
- 채팅: 반려동물에 대한 정보와 경험을 사용자들 간에 쉽게 공유할 수 있도록 실시간 채팅 기능을 제공합니다. 1:1 대화 및 그룹 채팅 지원으로 커뮤니케이션의 편리성을 높입니다.
- 피드 기반 위치 정보: 피드에 업로드된 사진의 위치 정보를 활용하여 지도에 핀으로 표시합니다. 방문한적 있던 추억의 장소들을 지도에서 핀으로 조회하실 수 있습니다.
- 유저 프로필: 본인을 잘 표현할 수 있는 프로필 사진과 정보를 확인할 수 있습니다. 작성한 피드와 좋아요한 피드, 팔로워와 팔로우 수, 작성한 피드수를 확인할 수 있습니다
- 펫 프로필: 반려동물의 사진과 정보를 확인할 수 있습니다 간단한 소개, 성별, 몸무게, 종 등 다양한 정보를 확인할 수 있습니다
- 댓글&대댓글: 피드에 대한 의견을 남길 수 있습니다 댓글에 대한 의견도 대댓글로 남길 수 있으며 댓글에 좋아요를 누를 수 있습니다
- 마이 페이지: 내 프로필을 수정할 수 있습니다. 팻 프로필을 등록할 수 있으며 내가 작성한 피드와 좋아요를 누른 피드를 확인할 수 있습니다
- 회원가입 &로그인: 아이디와 비밀번호를 입력하여 로그인할 수 있습니다. 구글, 카카오, 네이버 소셜 회원가입과 로그인을 지원합니다
- 검색: 유저, 피드, 팻프로필을 검색할 수 있습니다 연관 검색을 통해 전체 검색어를 입력하지 않아도 결과를 확인할 수 있습니다
- BE: Spring boot(3.2.8), JDK(17), Gradle(8.8), IntelliJ(2024.1.4)
- alarm-service: Spring boot(3.3.10), swagger(2.2.0)
- FE: Next.js(14.2.5), Node.js(20.5.1), TypeScript(5.1.3)
- INFRA: Ubuntu(Ubuntu 20.04 LTS), Docker(27.3.1), Docker-compose(2.29.1)
- DATABASE: MySQL(8.0.39), ElasticSearch(7.10.1)
- COMMON: Swagger(2.0.2), Kibana(7.10.1)
-
Msa를 적용하여 서비스간의 에러 전파 방지 및 유연한 확장성
- 우리의 반려동물 SNS 서비스는 MSA(Microservices Architecture)와 EDA(Event-Driven Architecture)를 기반으로 설계되었습니다. 이를 통해 사용자, 게시물, 댓글, 지도 기능 등 주요 기능을 독립적인 마이크로서비스로 분리하여 운영하며, 서비스 간 효율적이고 실시간으로 데이터를 처리할 수 있는 구조를 구현합니다.
-
EDA 를 활용한 비동기 처리
- EDA를 통해 서비스 간 이벤트 기반 통신을 구현하여, 실시간 데이터 처리가 필요한 기능에 최적화된 구조를 제공하고 있습니다. 예를 들어, 사용자가 반려동물 사진을 업로드하거나 댓글을 작성하면 해당 이벤트가 즉시 전송되어 관련 서비스들이 빠르게 반응할 수 있습니다.
-
프론트엔드와 백엔드 협업
- 프론트엔드와 백엔드 간의 긴밀한 협업을 통해 사용자 경험을 극대화하는 통합된 웹 서비스를 구축합니다.
- Jira를 통해 스프린트 계획, 작업 진행 상황 추적, 이슈 관리 등을 수행하여 개발 일정을 효율적으로 관리합니다.
- Notion을 활용해 프로젝트 문서화, API 명세 공유, 디자인 가이드 작성 등 팀원 간 지식을 공유하고 커뮤니케이션합니다.
-
주요 웹 기술 적용
- Spring cloud, Kafka, turboRepo 등 최신 기술 트렌드를 반영하여 실무에서의 문제 해결 능력 향상시킵니다.
| RDB - MySQL |
|---|
![]() |
| NoSQL - MongoDB |
![]() |
| 메인 페이지 | 회원가입 | 로그인&소셜로그인 |
|---|---|---|
![]() |
![]() |
![]() |
| 마이페이지 | 검색 | 유저 프로필 |
|---|---|---|
![]() |
![]() |
![]() |
| 채팅 | 지도 | 댓글&대댓글 |
|---|---|---|
![]() |
![]() |
![]() |
| 피드 상세 | 팔로우&팔로잉 리스트 | |
|---|---|---|
![]() |
![]() |
프로젝트 사이트 에서 확인 가능
- ElasticSearch를 활용한 고속 검색 기능 구현
: 검색 데이터 약 500,000개 기준. JPA search 379 ms -> Elasticsearch 12 ms - 견고한 시스템 설계
: msa의 적극적인 도입으로 에러 전파를 방지하고 비동기 처리와 LB을 통해 시스템 안정성을 향상 - 협업 체계 확립
: JIRA, Github, Notion 등 협업툴을 적극적으로 사용하고 개발 사항을 공유하며 다인 체제의 협업 플로우를 확립
MIT 라이선스
Copyright (c) 2024 lookids.online
본 소프트웨어 및 관련 문서 파일(이하 “소프트웨어”)의 사본을 취득하는 모든 사람에게 무료로 소프트웨어를 사용, 복사, 수정, 병합, 게시, 배포, 재실시, 판매할 수 있는 권리를 포함하여 소프트웨어를 제한 없이 다룰 수 있는 권한을 무료로 부여합니다. 단, 다음 조건을 충족해야 합니다:
위 저작권 표시와 이 허가 표시가 소프트웨어의 모든 사본 또는 중요한 부분에 포함되어야 합니다.
본 소프트웨어는 “있는 그대로” 제공되며, 명시적이든 묵시적이든 어떠한 종류의 보증도 제공되지 않습니다. 여기에는 상품성, 특정 목적에의 적합성 및 비침해성에 대한 보증이 포함되지만 이에 국한되지 않습니다. 저자는 어떠한 경우에도 소프트웨어와 관련되거나 소프트웨어의 사용 또는 기타 거래에서 발생하는 어떠한 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.
MIT License
Copyright (c) 2024 lookids.online
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
















