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

Co-Drive/Driver-Server

Repository files navigation

성공적인 코딩 테스트를 위한 최적의 경로, Codrive

코드라이브 내러티브


프로젝트 설명

[ 서비스 URL ] https://www.codrive.co.kr

[ 소개 ] 꾸준한 코딩테스트 준비를 돕는 알고리즘 문제 풀이 기록 및 공유 서비스

[ 팀 구성 ] 디자이너 2명, 프론트엔드 개발자 3명, 백엔드 개발자 1명

[ 기간 ] 2024.06 ~ ing



기술 스택

Backend

Java, Spring Boot, Spring Security

Spring Data JPA, QueryDSL

JUnit5, Mockito

Database

MySQL, Redis

Infrastructure

Docker, Docker-Compose, Amazon EC2, Amazon S3

Prometheus, Grafana, Grafana Loki



아키텍처

archi



주요 기능 구현

[ API 명세서 ] https://api.codrive.co.kr/swagger-ui/index.html

Github 소셜 로그인 및 자동 연동 기능

  • OAuth 2.0, JWT, Spring Security를 이용해 Github 소셜 로그인을 통한 인증 로직을 개발했습니다.
  • 회원가입 단계에서 원하는 Github Repository를 설정할 수 있으며, 문제 풀이를 등록 및 수정할 시 자동으로 Github에 커밋됩니다.
  • 커밋 기능에 활용하는 Github Token과 애플리케이션 인증 로직에 필요한 Refresh Token을 Redis에 저장해 관리합니다.

팔로우 및 그룹을 통한 네트워킹 기능

  • QueryDSL을 활용한 동적 쿼리로 일간/주간/월간 문제 풀이 현황을 제공합니다.
  • 팔로우를 통해 사용자 간 문제 풀이 현황을 공유할 수 있습니다.
  • 대표 이미지/사용 언어/인원 수/그룹 공개 여부 등의 커스터마이징을 통해 그룹을 생성하고 관리할 수 있습니다.
  • 참여 요청 승인 및 내보내기 기능을 통해 그룹 스터디를 원활하게 관리할 수 있습니다.

실시간 알림 기능

  • SSE(Server-Sent-Events) 방식으로 구현하여, 팔로우 및 그룹 관련 이벤트 발생 시 실시간으로 알림을 발송합니다.

모니터링

  • 안정적인 서비스 운영을 위해 별도의 Amazon EC2 인스턴스에 Grafana, Prometheus, Grafana Loki를 설정하여 HTTP 요청 및 응답, 애플리케이션 로그, 서버 리소스 등을 모니터링하고 있습니다.



ERD

erd

About

성공적인 코딩 테스트를 위한 최적의 경로, Codrive

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

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