Skip to content

dudqls1441/youngService

Repository files navigation

실시간 데이터 통합 대시보드 플랫폼

Java Python Oracle JSP

프로젝트 메인 화면

📋 프로젝트 개요

공공 API와 주식 정보를 활용한 통합 데이터 분석 및 시각화 플랫폼으로, 다양한 실시간 데이터를 한 눈에 파악할 수 있는 대시보드와 풋살팀 관리 기능을 제공합니다.

  • 개발 기간: 2025.04 - 현재 진행중
  • 개발 형태: 개인 프로젝트
  • 기술 스택:
    • 백엔드: Java, Python, Oracle DB
    • 프론트엔드: JSP, HTML/CSS, JavaScript
    • 메시지 큐 : Apache Kafka (대용량 데이터 비동기 처리)
    • 인프라: Linux 서버
    • 개발 도구: IntelliJ, Git/GitHub
    • API: RESTful API, 공공 데이터 포털 API, 금융 데이터 API

🛠️ 주요 기능

🌤️ 실시간 공공 데이터 시각화

주요 특징:

  • 날씨 정보 시각화: 공공 데이터 API를 통한 실시간 날씨 정보 JSON 파싱 및 직관적 UI 제공
  • 실시간 업데이트: 30초마다 최신 데이터 자동 갱신
  • 맞춤형 즐겨찾기: 자주 이용하는 역을 즐겨찾기하여 빠른 정보 확인
  • 통합 검색 시스템: 역명과 호선으로 간편하게 도착 정보 조회
  • 지도 연동: 네이버 지도 API를 활용한 역 위치 시각화
날씨 정보

날씨 정보 화면

실시간 지하철 도착 정보

역별 실시간 도착 정보 화면

실시간 지하철 도착 정보 상세

지도 연동 및 상세 정보 화면

📈 금융 데이터 분석 플랫폼

주요 특징:

  • 자동화된 데이터 파이프라인: Python 스크립트를 통한 일일 주식 데이터 자동 수집 및 DB 저장
  • 종합 CRUD 시스템: 주식 정보의 완전한 관리 기능 제공
  • 개인화된 즐겨찾기: 관심 종목을 즐겨찾기하여 빠른 정보 접근
  • 머신러닝 기반 예측: Python ML 모델을 활용한 주가 예측 시각화
  • 데이터 기반 분석: 기간별, 종목별 비교 분석 및 통계 데이터 제공
  • **HTML 테이블 그리드 + AG Grid(라이브러리) 사용
주식 정보 대시보드

주식 정보 대시보드 메인 화면

주식 상세 정보

종목별 상세 정보 및 차트

주식 데이터 분석

머신러닝 기반 주가 분석 및 예측

주식 변동 비교 정보

기간별 주가 변동 비교 분석

⚽ 풋살팀 관리 시스템

주요 특징:

  • 팀원 관리 시스템: 선수 정보 등록 및 데이터베이스 기반 체계적 관리
  • 능력치 트래킹: 매주 경기 결과에 따른 팀원별 능력치 기록 및 시간에 따른 변화 추적
  • 알고리즘 기반 팀 밸런싱: Java 알고리즘을 활용한 최적의 팀 구성 자동 계산
  • 다양한 팀 구성 방식: 랜덤, 스네이크 드래프트, 포지션별 밸런싱 등 다양한 팀 구성 옵션 제공
  • 데이터 기반 의사결정: 객관적인 능력치 데이터를 기반으로 공정한 팀 구성 지원
팀 밸런싱 시스템

능력치 기반 자동 팀 밸런싱 화면

스네이크 드래프트 방식 팀 구성

스네이크 드래프트 방식의 균형 잡힌 팀 구성

포지션별 팀 밸런싱

포지션별 특성을 고려한 팀 밸런싱 결과

🔧 기술 구현 상세

백엔드 아키텍처

  • Java 기반 백엔드 서비스: RESTful API 서버 구축으로 클라이언트-서버 통신 구현
  • Python 데이터 처리: 금융 데이터 분석 및 예측 모델 개발
  • Oracle DB: 효율적인 데이터 모델링과 저장소 구축

대용량 데이터 처리 아키텍처

  • Apache Kafka 메시지 큐: 대용량 주식 데이터 비동기 처리 시스템 구축
  • Producer-Consumer 패턴: 웹서버에서 요청 즉시 응답 후, 백그라운드에서 실제 데이터 처리 수행
  • 사용자 경험 개선: 대용량 작업 요청 시 즉시 응답으로 사용자 대기시간 최소화

데이터 파이프라인

  • 자동화 배치 처리: Linux 크론 작업을 통한 주기적 데이터 수집 및 처리 자동화
  • 데이터 연동: Python-Java 연동을 통한 실시간 데이터 처리 및 전달
  • 데이터 검증: 데이터 정합성 검증 및 오류 처리 로직 구현
주식 정보 배치 처리

Python 배치 처리를 통한 주식 정보 수집 및 DB 저장

시스템 통합 및 서버 구성

  • 멀티 서버 아키텍처: Java 웹 서버와 Python Flask 서버의 효율적 연동
  • API 기반 통신: RESTful API를 통한 서버 간 데이터 교환
  • 확장 가능한 설계: 모듈화된 시스템 구조로 새로운 기능 추가 용이
  • 메시지 기반 통신: Kafka를 통한 안정적이고 확장 가능한 서버 간 통신
Python FLASK 서버

Java와 Python Flask 서버 간 통신 구조

프론트엔드 및 데이터 시각화

  • JSP 기반 동적 웹 페이지: 사용자 인터랙션에 반응하는 동적 UI 구현
  • 반응형 대시보드: 다양한 화면 크기에 최적화된 UI 설계
  • 데이터 시각화: 차트 라이브러리를 활용한 직관적 데이터 표현

🌟 주요 성과

  • 다중 기술 스택 통합: Java와 Python의 장점을 결합한 효율적인 풀스택 아키텍처 구현
  • 자동화 배치 처리: 주기적 데이터 수집 및 분석 자동화로 실시간 정보 제공 시스템 구축
  • 고성능 데이터 시각화: 복잡한 금융 및 공공 데이터를 직관적으로 이해할 수 있는 대시보드 구현
  • 팀 밸런싱 알고리즘: 풋살팀 멤버의 능력치를 분석하여 가장 공정한 팀 구성을 자동 계산하는 시스템 개발
  • 클라우드 인프라 경험: Linux 기반 서버 환경 구축 및 관리 역량 강화

📈 향후 개발 계획

  • AI 고도화: 머신러닝 기반 금융 데이터 예측 모델 정확도 향상 및 풋살팀 성과 예측 기능 추가
  • 모바일 지원: 반응형 웹 및 전용 모바일 앱 버전 개발로 접근성 향상
  • 사용자 경험 개선: 계정 시스템 도입 및 개인화된 대시보드 설정 기능 구현
  • 데이터 소스 확장: 추가 공공 API 및 금융 데이터 소스 연동으로 정보 다양성 증대
  • 실시간 알림 시스템: 중요 이벤트 및 데이터 변화에 대한 푸시 알림 기능 구현
  • 커뮤니티 기능: 풋살팀 경기 일정 관리 및 결과 기록 시스템 추가
  • Kafka Streams 도입: 실시간 데이터 스트림 처리 및 복잡한 이벤트 처리 기능 강화

📞 연락처 및 라이센스

추가 개발 계획

1. 회원 관리 시스템 구현

사용자 인증 및 권한 관리: 회원가입과 로그인 기능 구현으로 개인화된 서비스 제공 역할 기반 접근 제어(RBAC): Admin Role 부여를 통한 관리자 전용 메뉴 및 기능 접근 권한 설정 세션 기반 인증 방식: 안전한 사용자 세션 관리와 인증 상태 유지 메커니즘 구현 보안 강화: 패스워드 암호화 및 세션 만료 정책 수립으로 시스템 보안성 향상

2. ORM 기술 도입

JPA 및 Hibernate 통합: 객체 지향적 데이터 모델링 및 관리 시스템 구축 하이브리드 데이터 접근 전략: 기존 MyBatis와 JPA를 상황에 맞게 병행 사용 회원 정보 관리 최적화: JPA를 활용한 효율적인 사용자 데이터 CRUD 구현 데이터 무결성 보장: 트랜잭션 관리 및 영속성 컨텍스트를 활용한 데이터 일관성 유지

3. API 체계화 및 문서화

RESTful API 설계 원칙 적용: HTTP 메서드와 상태 코드를 활용한 직관적인 API 설계 Swagger를 통한 API 문서 자동화: 실시간 업데이트되는 API 문서 시스템 구축 PostMan을 활용한 API 테스트: 다양한 시나리오에 대한 자동화된 API 테스트 수행 API 버전 관리: 지속적인 개발과 변경에도 하위 호환성을 유지하는 버전 관리 체계 도입

이 프로젝트는 MIT 라이센스 하에 배포됩니다.

About

공공 API 호출 및 데이터 분석

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages