Project/대화 코칭형 채팅 어플리케이션
대화 및 피드백 통계 서비스 Summary
728x90
반응형
원하는 일을 하며 삶을 사랑하자! 대화 및 피드백 통계 서비스 134talk
- 134.works 에서 이용하실 수 있어요.
- https://github.com/shmin7777/134talk 에서 소스를 확인할 수 있어요.
🍻 Intro
100가지 인생의 주요한 질문들을 듣고,
너와 나를 꺼내보는 낯선 대화를 나누는 134talk 대화 플랫폼입니다.
인생 질문에 답하면서 담고만 있었던 고민들을 정리하고 싶을 땐?
상대의 이야기로부터 삶의 위안과 영감을 얻고 싶을 땐?
바로, 134talk
🚀 Demo
로그인 & 회원등록 & 닉네임 설정 페이지 | 대화 목록 페이지 |
---|---|
▪︎ 카카오 소셜 로그인 | |
▪︎ 관리자, 일반 회원 권한별 회원 등록 | |
▪︎ 유효성 검사 | |
▪︎ 참가자 성향 조사 데이터에 따라 닉네임 제공 | ▪︎ 권한별 대화 목록 조회 및 검색 |
▪︎ 관리자 권한 대화 시간 설정 | |
▪︎ 대화 초대 모달을 통해 대화 생성 |
참가자 목록 페이지 | 대화 페이지 |
---|---|
▪︎ 참가자 목록 조회 및 검색 | |
▪︎ 카카오나 링크 공유를 통한 채널 초대 | ▪︎ 대화방 입장 전 대화 가이드 제공 |
▪︎ 참가자 성향에 맞는 랜덤 질문 set 제공 | |
▪︎ 주제 선택 ➢ 질문 순서 선택 ➢ 대화 참여 대기 | |
➢ 대화 순서 랜덤 배정 ➢ 대화 진행 | |
▪︎ 대화 참여 소켓 연결 및 랜덤 배정된 대화 컨텐츠 조회 | |
▪︎ 대화 진행 중 감정 기록 및 전송된 감정 애니메이션 노출 | |
▪︎ 대화 종료 후 피드백 작성 |
리포트 페이지 | 마이 페이지 |
---|---|
▪︎ 팀 대화 통계 리포트 열람 | |
▪︎ 관리자 권한 팀원 대화 통계 리포트 열람 | ▪︎ 프로필 조회 |
▪︎ 닉네임 수정 | |
▪︎ 일자별 개인 대화 통계 리포트 열람 |
⚡️ Skills
Back-end
- Springboot 로 자동화, 경량화된 웹 애플리케이션을 제작했어요.
- Spring Data JPA(Hibernate) 로 객체 지향 데이터 로직을 작성했어요.
- QueryDSL 로 컴파일 시점에 SQL 오류를 감지하고 가독성 높은 코드를 작성했어요.
- Redis를 구현한 ElastiCache 로 Refresh Token 같이 수명을 관리해야 하는 데이터를 처리하고 DB 대비 더 빠른 RTT로 성능을 개선했어요.
- NoSQL 기반의 DynamoDB 로 복잡하고 다양한 구조의 통계 데이터를 처리했어요.
- Spring Cloud Gateway, Netflix Eureka로 MSA 환경에서 서비스 간의 호출 , 인증 절차를 관리했어요.
- Websocket Stomp로 실시간 데이터 통신과 데이터 교환을 구현하였어요.
🏰 Architecture
Config
- Spring Cloud Config 를 사용해 중앙 설정 저장소로 관리했어요.
- Github private config repository로 사용했어요.
Server
- AWS Route53 을 사용해 Domain Name Server를 구축했어요.
- AWS S3 를 사용해 프로필 사진 저장소로 사용했어요.
- AWS EC2 를 사용해 Micro Service Server를 구축했어요.
DB
- AWS RDS(Mysql) 를 Chat-Service와 User-Service에 사용했어요.
- AWS DynamoDB 를 통계 서버인 Statistics-Service에 사용했어요.
- AWS ElastiCache 를 In-Memory-Database로 활용하여 성능 최적화를 하였어요.
Call
- Kafka Message Queue를 사용해 Non-Blocking으로 이벤트를 안전하게 전달했어요.
- Open Feign을 사용해 Remote REST API CALL을 했어요.
CI/CD
- Github Actions 로 지속적 배포를 진행해요.
🎫 ERD
User Service
AWS RDS(MySql)
Chat Service
AWS RDS(MySql)
Statistics Service
AWS DynamoDB
🌈 Members
이담 | 해솔 |
---|---|
프론트엔드 | 프론트엔드 |
민석홍 | 김아리 | 김용현 |
---|---|---|
백엔드 | 백엔드 | 백엔드 |
728x90
반응형
댓글