Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

echo1241/echo

Repository files navigation

✏️ Table


🏷️ Introduction to the Project

"Echo" 프로젝트는 팀스파르타 Java 5기 최종 프로젝트 A8조의 팀 프로젝트로,

1. N:M 채팅

2. N:M 화상채팅

3. 1:1 DM

등의 기능이 구현된 실시간 메신저 커뮤니티 웹 애플리케이션입니다.

(Back to top)


📆 Development Period

  • 개발 : 2024年07月17日 - 2024年08月20日 / 5주

  • 발표 : 2024年08月21日(수)

(Back to top)


🖇️ Team


정현경 [리더]
홍성도 [부리더]
김기석
이유환
최현진
ᆞProject Chief
ᆞUser Domain
- basic func
ᆞAuth Domain
ᆞThread Domain
ᆞGlobal Issue
ᆞSpring Security
ᆞSSE
ᆞFront-End Chief
ᆞMedia Chat Domain
- 1:1 Video
ᆞOAuth2 (Kakao)
ᆞDirect Message
ᆞUser Domain
- additional func
ᆞSpace Domain
ᆞChannel Domain
ᆞFriend Domain
ᆞCI/CD, Deployment
with AWS and
Github Action
ᆞText Chat
- N:M Chat
ᆞS3 Service
ᆞRedis Pub/Sub
ᆞMedia Chat Domain
- N:M Video
- Screen Sharing
ᆞTyping Indicator
ᆞChat Room User Limit

(Back to top)


⚙️ Tech Stack

Type Tech Version Comment
IDE / EDITOR IntelliJ IDEA - -
Framework Spring 3.3.2 -
Language Java JDK 21 -
IaaS AWS EC2
Prometheus
Grafana
EC2 : Amazon Linux 2023 AMI
Prometheus: 2.54
Grafana: 11.1.4
ECS Container Monitoring
Database AWS RDS
MariaDB
MariaDB: 10.11 Store relational data such as User, Space, Channel, etc
Database MongoDB MongoDB Atlas: 7.0.12 Store unstructured data such as Text, DM, Notification, etc
Database AWS Elasticache
Redis
Redis: 7.1 Auth Data Save, Pub/Sub
Record Notion - Link

(Back to top)


🧱 Project Architecture

(Back to top)


📦 Package Structure

src
├─common
│ ├─aop
│ ├─exception
│ │ ├─codes
│ │ └─handler
│ ├─redis
│ ├─s3
│ │ ├─dto
│ │ ├─error
│ │ ├─service
│ │ └─util
│ └─util
├─config
├─domain
│ ├─auth
│ │ ├─dto
│ │ └─error
│ ├─channel
│ │ ├─dto
│ │ ├─entity
│ │ ├─error
│ │ └─repository
│ ├─dm
│ │ ├─dto
│ │ ├─entity
│ │ └─repository
│ ├─friend
│ │ ├─dto
│ │ ├─entity
│ │ ├─error
│ │ └─repository
│ ├─mail
│ ├─notification
│ │ ├─dto
│ │ ├─entity
│ │ └─repository
│ ├─space
│ │ ├─dto
│ │ ├─entity
│ │ ├─error
│ │ └─repository
│ ├─text
│ │ ├─controller
│ │ ├─dto
│ │ ├─entity
│ │ ├─error
│ │ └─repository
│ ├─thread
│ │ ├─dto
│ │ ├─entity
│ │ ├─error
│ │ ├─repository
│ │ └─service
│ ├─user
│ │ ├─dto
│ │ ├─entity
│ │ ├─error
│ │ └─repository
│ └─video
└─security
 ├─config
 ├─jwt
 └─principal

(Back to top)


🔑 Environment Variable

MARIADB_ROOT_PASSWORD=root
MARIADB_USER=user
MARIADB_PASSWORD=password
MARIADB_DATABASE=echo
MARIADB_URL=r2dbc:mariadb://localhost:13306/echo
MONGODB_ATLAS_URL=mongodb+srv://{user}:{password}@{db_url}/{db_name}?retryWrites=true&w=majority
MONGODB_URL=mongodb://root:1234@localhost:27017/echo?authSource=admin
JWT_SECRET=24eb4ca6488cef9acf3956342dd0e7f6bbbfd83aff107caecb5179991cc97ace4195ff5f893897c2b6f48ae3415d1f890f6fbb5df02e6cfac962e41efc09cb65
JWT_ACCESS_TIME=18000000
JWT_REFRESH_TIME=18000000
MAIL_USER={sender_email}
MAIL_PASSWORD={sender_email_password}
REDIS_URI=redis://localhost:6379
REDIS_HOST=localhost
REDIS_PORT=6379
AWS_CREDENTIALS_ACCESSKEY={aws_access_key}
AWS_CREDENTIALS_SECRETKEY={aws_secret_key}
AWS_S3_BUCKET_NAME=echo-image
KAKAO_CLIENT_ID={kakao_client_id}
KAKAO_REDIRECT_URI=http://localhost:8080/api/user/kakao/callback
KAKAO_TOKEN_URL=https://kauth.kakao.com/oauth/token

(Back to top)


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages

AltStyle によって変換されたページ (->オリジナル) /