Git Product home page Git Product logo

petmily's Introduction

🐕 펫밀리(PETMILY) :: 반려동물과 함께하는 SNS & CURATION SERVICE

petmily

📢 프로젝트 진행 기간


  • SSAFY 9기 2학기 공통프로젝트 구미 2반 D209

  • 23.07.04 ~ 23.08.18 (총 7주)


📢 프로젝트 펫밀리 개요


- 펫팸족에 대해서 아시나요?

펫팸족이란, 반려동물을 가족처럼 여기는 가구가 늘어나면서 생긴 신조어입니다. 여러 SNS가 넘쳐나는 요즘, 반려동물만을 위한 SNS가 있으면 좋겠다는 생각 해보신적 없으신가요?

- 펫밀리(PETMILY)

펫밀리는 '펫'과 '패밀리'를 조합한 단어입니다. 반려동물을 키우는 인구가 꾸준히 늘어나고 있는 현재, 저희 펫밀리는 반려인들을 위한 SNS 서비스를 웹과 앱으로 제공합니다. 물론 반려동물을 키우지 않아도 괜찮아요! 남의 귀여운 반려동물을 펫밀리와 함께 덕질 해보자구요!!

- 반려동물의, 반려동물을 위한, 반려동물을 키우는 사람들에 의한

펫밀리는 SNS 기능 뿐만 아니라, 반려동물들을 위한 다양한 정보도 기사를 통해 제공합니다.


📢 주요 기능


  • 큐레이션 (Curation)

    • 하루에 한 번, 반려동물과 관련한 기사를 새롭게 제공합니다.

    • 강아지, 고양이, 기타 동물로 대분류가 되어있으며 건강, 미용, 식품, 입양으로 소분류 되어있습니다.

  • 최저가 정보

    • 네이버 쇼핑 API를 통해 반려동물과 관련된 물품의 최저가 정보를 제공합니다.

    • 강아지, 고양이, 기타 동물로 대분류가 되어있으며 식품, 미용, 건강으로 소분류 되어있습니다.

  • SNS (Social Network Service)

    • SNS 기능을 통해 반려동물을 마음껏 자랑해보세요!

    • 게시글 및 댓글을 통해 다른 유저들과 소통이 가능합니다.

    • 유저간 팔로우도 가능하며, 사용자가 팔로우하지 않은 대상들을 팔로우할 수 있도록 추천해드립니다.

    • 1대 1 채팅을 통해 유저간 유대관계 형성도 할 수 있습니다.

  • 포인트 제도

    • 포인트를 모아 상점기능을 이용해보시는건 어떠세요?

    • 하루 한번 출석, 강아지 산책 그리고 게시글 작성을 통해 포인트를 모을 수 있습니다.

    • 모은 포인트는 상점의 뽑기를 통해 다양한 아이템을 뽑을 수 있습니다.

  • 강아지 산책 (모바일)

    • 우리집 강아지 오늘은 얼마나 산책했는지 궁금하지 않으신가요?

    • 모바일에서는 강아지 산책 거리를 측정하는 기능을 제공합니다.

    • 산책 거리에 비례하여 포인트를 지급합니다.


📢 주요 기술


BackEnd

Eclipse IDE

spring springboot SpringSecurity swagger

- IntelliJ IDE
- JAVA JDK 17
- Springboot 3.1.1
- Spring Data JPA
- Spring Security
- Spring oAuth
- Spring Starter Mail
- Swagger
- WebSocket
- STOMP
- Firebase

FrontEnd

- Visual Studio Code IDE
- React 18.2.0
- Webpack
- Babel
- npm
- ESLint, Prettier
- tailwind CSS
- React Router
- axios
- Recoil
- SockJS
- STOMP

Mobile

Android Studio Jetpack Compose Firebase

- Android Studio
- Jetpack
    - Coroutine
    - ViewModel
    - LiveData
    - Retrofit
    - WorkManager
- FCM
- WebSocket
    - Stomp

CI/CD

aws amazons3 jenkins docker nginx

- AWS EC2
- Jenkins
- NGINX
- DOCKER

📢 프로젝트 파일 구조


BackEnd

├─main
│   └─java.com.pjt.petmily
│       ├─domain
│       │  ├─chat
│       │  ├─curation
│       │  ├─noti
│       │  ├─oauth
│       │  ├─pet
│       │  │  └─walk
│       │  ├─product
│       │  ├─shop
│       │  ├─sns
│       │  │  ├─board
│       │  │  │  ├─hashtag
│       │  │  │  └─photo
│       │  │  ├─comment
│       │  │  └─heart
│       │  └─user
│       │      └─follow
│       └─global
│           ├─awss3
│           ├─config
│           ├─FCM
│           ├─jwt
│           └─scheduler
└─ resources

FrontEnd

├─petmily
│   └─public
│   └─src
│      ├─components
│      │   ├─commons
│      │   │  ├─CustomSelect.jsx
│      │   │  ├─PortalPopup.jsx
│      │   │  ├─SearchBar.jsx
│      │   │  └─UploadImage.jsx
│      │   ├─curation
│      │   │  └─RenderCuration.jsx
│      │   ├─header
│      │   │  ├─Alarm.jsx
│      │   │  └─Header.jsx
│      │   ├─mypage
│      │   │  ├─MypageController.jsx
│      │   │  ├─MyPetDetail.jsx
│      │   │  ├─MyPetInfo.jsx
│      │   │  ├─RenderBookmarks.jsx
│      │   │  └─RenderPosts.jsx
│      │   ├─products
│      │   │  ├─ProductCarousel.jsx
│      │   │  └─RenderProducts.jsx
│      │   ├─shop
│      │   │  ├─GachaComponent.jsx
│      │   │  ├─GachaLoadingModal.jsx
│      │   │  ├─GachaModal.jsx
│      │   │  ├─Inventory.jsx
│      │   │  └─PointLog.jsx
│      │   ├─social
│      │   │  ├─Chat.jsx
│      │   │  ├─ChatMessage.jsx
│      │   │  ├─ChatRoom.jsx
│      │   │  ├─DeleteComfirmation.jsx
│      │   │  ├─FollowRecommend.jsx
│      │   │  ├─SocialComment.jsx
│      │   │  ├─SocialCommentInput.jsx
│      │   │  ├─SocialFeed.jsx
│      │   │  └─SocialPost.jsx
│      │   └─user
│      │      ├─LoginGoogle.jsx
│      │      ├─LoginKakao.jsx
│      │      ├─LoginKakaoCallback.jsx
│      │      ├─LoginNaver.jsx
│      │      └─PasswordResetModal.jsx
│      ├─pages
│      │   ├─curation
│      │   │  ├─Curation.jsx
│      │   │  ├─CurationCategory.jsx
│      │   │  └─CurationPet.jsx
│      │   ├─products
│      │   │  ├─Products.jsx
│      │   │  ├─ProductCategory.jsx
│      │   │  └─ProductPet.jsx
│      │   ├─social
│      │   │  └─Social.jsx
│      │   └─user
│      │      ├─Customshop.jsx
│      │      ├─Join.jsx
│      │      ├─Login.jsx
│      │      ├─Mypage.jsx
│      │      ├─PetInfo.jsx
│      │      └─UserInfo.jsx
│      ├─states
│      ├─static
│      │   ├─animations
│      │   └─images
│      └─utils
└─ resources

Mobile

├─java
│  └─com
│      └─petmily
│          ├─config
│          ├─presentation
│          │  ├─view
│          │  │  ├─board
│          │  │  ├─certification
│          │  │  │  ├─join
│          │  │  │  ├─login
│          │  │  │  └─password
│          │  │  ├─chat
│          │  │  ├─curation
│          │  │  ├─dialog
│          │  │  ├─gallery
│          │  │  ├─home
│          │  │  ├─info
│          │  │  │  ├─pet
│          │  │  │  └─user
│          │  │  ├─mypage
│          │  │  ├─notification
│          │  │  ├─search
│          │  │  ├─splash
│          │  │  ├─store
│          │  │  └─walk
│          │  └─viewmodel
│          ├─repository
│          │  ├─api
│          │  │  ├─board
│          │  │  ├─certification
│          │  │  │  ├─join
│          │  │  │  ├─login
│          │  │  │  └─password
│          │  │  ├─chat
│          │  │  ├─curation
│          │  │  ├─infoInput
│          │  │  │  ├─pet
│          │  │  │  └─user
│          │  │  ├─mypage
│          │  │  ├─notification
│          │  │  ├─shop
│          │  │  ├─token
│          │  │  └─walk
│          │  └─dto
│          └─util
└─res
    ├─anim
    ├─color
    ├─drawable
    ├─drawable-v24
    ├─font
    ├─layout
    ├─menu
    ├─mipmap-anydpi-v26
    ├─mipmap-hdpi
    ├─mipmap-mdpi
    ├─mipmap-xhdpi
    ├─mipmap-xxhdpi
    ├─mipmap-xxxhdpi
    ├─raw
    ├─values
    ├─values-night
    ├─values-v26
    └─xml

📢 프로젝트 산출물


프로젝트 관리




📢 프로젝트 빌드



📢 팀원 소개


여민수 강해빈 손민균 정용우 조혜진 하동혁
팀장, FE 팀원, FE 팀원, BE 팀원, MOBILE 팀원, BE 팀원, MOBILE

petmily's People

Contributors

yms1789 avatar kanghaeven avatar smk921 avatar dyddn3994 avatar dong-hyeok avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.