Skip to content

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

Languages