Skip to content

gsandoo/coalarm-spring

 
 

Repository files navigation

코알람 : 실시간 가상 화폐 시세 예측 및 사용자 맞춤 매매 시그널 서비스

[2025 카카오테크부트캠프 제주 최종 프로젝트 우수상 수상작]

image


TEAM MEMBER

이름 직급 역할
강산아 팀장 DevOps
박민수 팀원 Backend
정혜윤 팀원 Backend
김동현 팀원 Backend
김정현 팀원 Backend


FrameWork

Cloud Service

Stack

Frontend

Backend

AI


1. 프로젝트 주제

코알람 : 찰나의 코인 떡상 기회도 놓치지 않는다!

2. 개요

코알람은 실시간 시장 감지와 사용자 맞춤 알림, 그리고 한 발 더 나아가 미래 가격 예측 기능까지 제공하는, 투자 보조에 특화된 서비스입니다.

이제 투자자는 “기회가 올 때, 바로 대응할 수 있는 무기”, 코알람을 통해 더 빠르고 더 똑똑한 투자를 할 수 있게 됩니다.

3. 프로젝트 구조도

1단해보조-전체아키텍처 drawio

📱 Client
   |
   v
🌐 Frontend (React + Vite)
   ├─ TradingView, Redux
   └─ Tailwind CSS
   |
   v
🌩 AWS Cloud
   ├─ Route53
   ├─ S3 + CloudFront (정적 파일 호스팅)
   └─ ALB (443, HTTPS)
         |
         v
🧠 Backend (EC2 Instances)
   ├─ EC2-Spring
   │   ├─ Auth
   │   ├─ Alert / Indicators / History
   │   ├─ Scheduler / Actuator
   │   └─ Rate Limiter
   ├─ EC2-AI
   │   └─ Deep Learning Model
   └─ EC2-Node
       ├─ WebSocket
       └─ MQ (Producer ↔ Consumer with Worker Pool)

        ↘             ↓
       ↙               ↘
🗄 Database (PostgreSQL via RDS)
🔑 OAuth (Kakao)
📈 Monitoring (Prometheus + Grafana)

4. 인프라 아키텍처 (K8s)

인프라 아키텍처

5. 사용 라이브러리

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.4.3'
	id 'io.spring.dependency-management' version '1.1.7'
	id 'com.diffplug.spotless' version '6.25.0'
}

group = '1danhebojo.coalarm'
version = project.version

java {
	toolchain {
		languageVersion = JavaLanguageVersion.of(17)
	}
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.springframework.boot:spring-boot-starter-validation:3.4.2'
	implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'

	// PostgreSQL
	implementation 'org.postgresql:postgresql:42.7.3'

	// Swagger
	implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.3'

	// Lombok
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'

	// Query DSL
	implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
	annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
	annotationProcessor "jakarta.annotation:jakarta.annotation-api"
	annotationProcessor "jakarta.persistence:jakarta.persistence-api"

	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'

	// Spring Security
	implementation 'org.springframework.boot:spring-boot-starter-security'

	// jwt
	implementation 'io.jsonwebtoken:jjwt-api:0.12.3'
	implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'
	implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3'

	//aws S3
	implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'
	implementation 'com.amazonaws:aws-java-sdk-s3:1.12.319'

	// web socket
	implementation 'org.springframework.boot:spring-boot-starter-websocket'

	//Bucket4j
	implementation 'com.github.vladimir-bukhtoyarov:bucket4j-core:7.6.0'
	implementation 'com.github.vladimir-bukhtoyarov:bucket4j-jcache:7.6.0'
	implementation 'org.ehcache:ehcache:3.10.8'

	//Jackson
	implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'
}

tasks.named('test') {
	useJUnitPlatform()
}

    

github 키워드

keyword 설명
Feat 새로운 기능 추가
Fix 버그 수정
Design CSS 등 사용자 UI 디자인 변경
!BREAKING CHANGE 커다란 API 변경의 경우
!HOTFIX 급하게 치명적인 버그를 고쳐야하는 경우
Docs 문서 수정
Style 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
Comment 필요한 주석 추가 및 변경
Refactor 코드 리펙토링
Test test code, refactoring test code 추가
Chore build 업무 수정, 패키지 매니저 수정
Rename 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
Remove 파일을 삭제하는 작업만 수행한 경우

About

[카카오테크 부트캠프] 실시간 가상 화폐 시세 매매 시그널, 코알람

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.9%
  • Dockerfile 0.1%