
Thisway는 차량 운행 데이터를 기반으로 한 서비스의 백엔드 프로젝트입니다. 실시간으로 차량의 운행 기록(Trip Log)을 수집, 처리, 분석하여 사용자 및 관리자에게 유의미한 정보를 제공하는 것을 목표로 합니다.
본 프로젝트는 최신 기술 스택을 활용하여 대용량 트래픽 처리, 데이터의 정합성, 그리고 안정적인 서비스 운영을 지향합니다.
- 회원 및 인증/인가 (Member & Security)
- JWT 기반의 토큰 인증 시스템
- Spring Security를 활용한 역할(Role) 기반 접근 제어 (사용자, 기업, 관리자)


- 차량 관리 (Vehicle)
- 사용자의 차량 등록, 조회, 수정, 삭제 (CRUD)

- 차량으로부터 운행 데이터(시동 켜짐/꺼짐, 위치 등)를 RabbitMQ를 통해 비동기적으로 수신

- 운행 기록 관리 (Trip Log)
- 수신된 데이터를 가공하여 운행 기록(Trip Log)으로 저장

- 운행 기록 조회 및 상세 정보 제공

- 통계 (Statistics)
- Spring Batch를 활용하여 일별/월별 운행 데이터 통계 처리
- 사용자별, 차량별 운행 거리, 시간 등 다양한 통계 데이터 제공

- 실시간 모니터링 (Monitoring)
- Prometheus, Grafana를 이용한 실시간 애플리케이션 및 인프라 모니터링
📋 상세 표로도 보고 싶다면 (접기/펼치기)
Category | Technology | Version | Description |
---|---|---|---|
Framework | Spring Boot | 3.x | 메인 프레임워크 |
Language | Java | 21 | 주 개발 언어 |
Database Access | Spring Data JPA, QueryDSL | 데이터 영속성/동적 쿼리 | |
Security | Spring Security, JWT | 인증 및 인가 | |
Batch | Spring Batch | 대용량 배치 처리 | |
Build Tool | Gradle | 의존성 관리 및 빌드 |
Category | Technology | Description |
---|---|---|
RDBMS | MySQL | 핵심 데이터 저장 |
In-Memory DB | Redis | 캐싱 |
Message Queue | RabbitMQ | 비동기 메시지 처리 (운행 기록 수신) |
Category | Technology | Description |
---|---|---|
Containerization | Docker, Docker Compose | 개발/배포 환경 컨테이너화 |
CI/CD | GitHub Actions | 빌드·테스트·배포 자동화 |
Monitoring | Prometheus, Grafana | 메트릭 수집 및 시각화 |
인프라

ERD

.
├── .github/ # GitHub Actions (CI/CD) 워크플로우
├── infra/ # Docker Compose, 설정 등 인프라 관련 파일
│ ├── dev/ # 개발 환경 인프라 (docker-compose.yml)
│ └── prod/ # 운영 환경 인프라
├── src/
│ ├── main/
│ │ ├── java/org/thisway/
│ │ │ ├── ThiswayApplication.java
│ │ │ ├── common/ # 예외 처리, 공통 응답 등
│ │ │ ├── config/ # 각종 설정 (Security, RabbitMQ, QueryDSL)
│ │ │ ├── component/ # 외부 시스템 연동 (Redis, Email)
│ │ │ ├── member/ # 회원 도메인
│ │ │ ├── vehicle/ # 차량 도메인
│ │ │ ├── triplog/ # 운행 기록 도메인
│ │ │ ├── statistics/ # 통계 도메인 (Batch 포함)
│ │ │ └── security/ # 인증/인가 관련 로직
│ │ └── resources/ # application.yml, 정적 파일 등
│ └── test/ # 테스트 코드
├── build.gradle # 프로젝트 빌드 및 의존성 관리
└── README.md # 프로젝트 소개