-
Notifications
You must be signed in to change notification settings - Fork 1
Backend
Lee Eun Seob edited this page May 14, 2024
·
2 revisions
- 웹서버: Nginx(LoadBalance), Spring Boot(WAS), Flask(Chatbot)
- 데이터베이스: MySQL, Redis
- 클라우드 서비스: AWS EC2, AWS RDS
- CICD: GitHub Action, Docker + Blue-Green Deploy
- Spring WAS 서버
웹 서비스 구성에 최적화된 Spring MVC의 특성
Spring Security를 통한 요청 인가/인증 처리
JWT를 사용한 유저 토큰 관리, Redis에 리프레시 토큰 저장
Swagger를 이용한 API 자동 문서화 + Notion 수동 문서화
- 클라우드 배포
AWS EC2에 Spring 서버 및 로컬 Redis 호스팅
AWS RDS로 MySQL DBMS 사용
S3에 스태틱 리소스 저장
- CICD
GitHub Action을 통한 CICD 진행
Docker를 통한 이미지 빌드 및 컨테이너 배포
Nginx 로드밸런서와 Docker-Compose를 사용한 블루그린 배포
- 회원가입: 메일 인증(xxx@gachon.ac.kr) 필요, 서버에서 인증번호 메일 발송
- 로그인 관리: 유저네임/패스워드를 통한 로그인, JWT와 Security를 활용한 유저 관리
- 로그아웃: 리프레시 토큰 값을 "logout"으로 변경 및 액세스 토큰 무효화
- 요청을 받으면 Flask 서버로 API 재요청, Chatbot 서비스에서 질문에 대한 응답을 가져와 클라이언트에 반환
- 언어 설정 (한국어, 영어)
- 문의 기능, 서버에 문의 API 요청 시 관리자 이메일로 문의 내용 발송
- 프로필 수정 가능(이메일, 패스워드, 닉네임)
