📺 소개 영상 보기: UCC 링크
2023.02.27(월) ~ 2023.04.07(금)
SSAFY 8기 2학기 공통프로젝트 - OMZ
사회에는 Y2K의 열풍이 불고 있습니다. Y2K란 Year 2000의 약자로 2000년대를 의미합니다. Y2K는 기존 세대에겐 추억의 향수를 불러오고, Z세대에겐 Y2K 패션의 특징인 화려한 스타일링과 과감한 컬러가 세대의 가치관과 부합하여 긍정적인 반응이 주를 이루었습니다.
OMZ는 이러한니즈를 충족시켜주기 위해 탄생한 차세대 SNS입니다. OMZ와 함께라면, SNS에서도 나만의 개성을 쉽게 표현할 수 있습니다!
'매력 있는 건 같지만 우리는 모두 다르잖아'
OMZ는 ‘오늘의 엠지’의 약자입니다.
OMZ는 기본적으로 채팅과 커뮤니티를 통해 타인과 소통한다는 점의 SNS 기능을 개발하였습니다. 또한, 본인 얼굴을 바탕으로 생성된 3D 동물 아바타와 3D 아이템을 이용한 아바타, 미니룸 커스텀을 이용해 나만의 개성을 표현할 수 있습니다. 또한, MBTI 정보 등으로 나와 꼭 맞는 친구를 추천 받을 수 있고 미니룸에서 나의 감정을 통해 배경 음악도 추천받을 수 있습니다.
- 사진을 입력하면 강아지, 고양이, 여우, 곰, 토끼, 공룡 총 6가지의 동물로 분석해줘요.
- 가장 크게 나타난 확률을 통해 동물 직접 제작한 3D modeling 아바타를 생성해요.
- MBTI 궁합과 내가 좋아하는 동물상의 정도를 통해 잘 맞는 친구 3명을 추천해줘요.
- 친구의 닉네임을 통해 검색할 수도 있고 짧은 메세지와 함께 친구 신청을 보낼 수 있어요.
- 친구 수락, 거절, 끊기를 통해 친구를 관리할 수 있어요.
- 1:1 실시간 채팅을 통해 회원들끼리 소통할 수 있어요.
- 사진을 포함한 글을 쓰고 공유할 수 있어요.
- 좋아요 기능을 통해 좋아하는 글을 모아볼 수 있어요.
- 상태 메세지를 작성하고, 오늘 듣고 싶은 노래를 선택하면 감정 분석에 기반한 음악 추천을 받을 수 있어요.
- 선택한 음악은 미니룸에서 동영상으로 볼 수 있어요.
- 3D 미니룸을 확대 및 이동하고, 조명을 켜볼 수 있어요.
- 3D 아이템으로 나만의 미니룸을 꾸며볼 수 있어요.
- 친구의 미니룸에 방명록을 작성할 수 있어요.
- 3D 아이템으로 동물 아바타를 커스텀해 나만의 개성을 뽐내볼 수 있어요.
- 꾸민 내용으로 프로필 사진을 새롭게 만들 수 있어요.
Frontend | Backend - Spring | Backend - Django | CI/CD |
---|---|---|---|
VSCode | IntelliJ IDE | Python 3.10.9 | AWS EC2 |
react 18.2.0 | java 11.0.18 | Scikit-learn | Docker |
node.js 18.15.0 LTS | Springboot | Tensorflow | Jenkins |
vite 4.1.0 | gradle Openjdk 11.0.18+10 | SQLite | NGINX |
typescript 4.9.3 | Spring Web | Webhook | |
three.js 0.150.1 | Spring Data JPA | ||
react-three-fiber 8.12.0 | jUnit | ||
blender 3.4.1 | Redis | ||
react query 3.39.3 | WebSocket | ||
react-router-dom 6.8.2 | MySQL 8.0.30 | ||
tailwindcss 3.2.7 | swagger 2.0.0 | ||
recoil 0.7.7 |
메인 페이지 | 회원가입 |
---|---|
친구 추천 | |
---|---|
내 친구와 친구 신청 목록 | 친구 관리 |
---|---|
친구와의 채팅 | 친구가 아닌 사람과의채팅 |
---|---|
글 작성, 검색, 좋아요와 회원별 글 목록 | 작성 글 관리 | 댓글 작성 & 관리 |
---|---|---|
음악 추천 | 커스텀 | 메인 |
---|---|---|
메인 | 정보 수정 |
---|---|
커스텀 | 프로필 사진 촬영 |
---|---|
- Git
- Notion
- JIRA
- MatterMost
- Webex
- Gitlab
- 코드의 버전을 관리
- 기능별 브랜치 관리
- 기능이 끝나면 브랜치 삭제
- JIRA
- 매주 목표량을 설정하여 Sprint 진행
- 업무의 할당량을 정하여 Story Point를 설정하고 작업
- 회의
- 매일 아침 Daily Scrum 진행
- 빠른 소통과 신속한 대응 가능
- Notion
- 회의가 있을때마다 회의록을 기록하여 보관
- 기술확보 시, 다른 팀원들도 추후 따라할 수 있도록 보기 쉽게 작업 순서대로 정리
- 컨벤션 정리
- 간트차트 관리
- 기능명세서 등 모두가 공유해야 하는 문서 관리
src
├── api
│ ├── chatting.ts
│ ├── community.ts
│ ├── index.ts
│ ├── kakaoLogin.ts
│ ├── member.ts
│ ├── miniRoom.ts
│ ├── myFriends.ts
│ ├── myPage.ts
│ ├── newFriend.ts
│ └── youtube.ts
├── components
│ ├── chatting
│ ├── common
│ ├── communityPag
│ ├── login
│ ├── miniRoom
│ ├── myFriends
│ ├── mypage
│ ├── newFriends
│ └── signUp
├── pages
├── recoil
├── App.css
├── App.tsx
├── index.css
├── main.tsx
└── vite-env.d.ts
omz
├── api
├── config
│ ├── RedisConfig.java
│ ├── StompHandler.java
│ ├── StompWebSocketConfig.java
│ ├── SwaggerConfig.java
│ └── WebConfig.java
├── dto
│ ├── req
│ └── resp
├── entity
├── exception
├── interceptor
├── repository
├── service
├── util
│ ├── scheduler
│ └── ChatUtils.java
├── DataLoader.java
└── OmzApplication.java
django
├── data
│ ├── anger.csv
│ ├── happiness.csv
│ ├── sadness.csv
│ ├── song_similarity.csv
│ ├── song_total.csv
│ └── surprise.csv
├── music_choice
├── omz_django
├── reco_friend
├── trained_KoBERT
├── db.sqlite3
├── Dockerfile
├── manage.py
├── requirements.txt
└── test.json