청소년 스마트폰 과의존 분석 대시보드의 7개 핵심 기능에 대한 상세 설명
- Weather Sentiment Graph
- MAP (지역별 시각화)
- Psychological Test
- Melancholy (우울감 분석)
- Statistics (통계 분석)
- Quiz (인터랙티브 퀴즈)
- Biorhythm (바이오리듬)
실시간 날씨 데이터를 기반으로 기분 지수를 산출하고 시각화하는 기능입니다.
- 외부 API 연동: 기상청 단기예보 API 실시간 호출
- 데이터 변환: 온도, 하늘상태, 강수확률을 기분지수로 변환
- Chart.js 시각화: 시간대별 기분 변화 라인차트
- 페이지 로드 시 자동으로 현재 날씨 데이터 수집
- 24시간 기분 지수 그래프 자동 생성
- 온도별 감정 이모지 표시
- 기분 지수 공식: 온도, 날씨, 강수확률의 가중평균
- 시간대별 패턴: 오전/오후 기분 변화 시각화
- 날씨와 감정의 상관관계: 과학적 근거 기반 알고리즘
// 기분 지수 계산 알고리즘
const depressionScore = 50 + (temp - 20) * 2 - pop * 0.3 - skyPenalty;Kakao Map API를 활용하여 전국 17개 시도의 청소년 지표를 지도상에 시각화합니다.
- Kakao Map API: 대한민국 지도 기반
- 지역별 좌표 매핑: 17개 시도 정확한 위치 데이터
- 색상 코딩: 지표 수치에 따른 원형 마커 색상 변화
- 연도별 필터링: 2015-2024년 데이터 동적 조회
- 스트레스율 지도: 지역별 청소년 스트레스 현황
- 아침결식률 지도: 지역별 아침결식 현황
- 지도 유형 선택 (스트레스율/아침결식률)
- 연도 입력 (2015-2024)
- 지역별 마커 클릭으로 상세 수치 확인
- 지역별 격차: 수도권 vs 지방 청소년 지표 차이
- 연도별 변화: 팬데믹 전후 지역별 변화 패턴
- 핫스팟 식별: 특별 관리가 필요한 지역 시각적 파악
// 지역별 좌표 및 색상 매핑
const regionCoords = {
"서울": [126.9780, 37.5665],
"부산": [129.0756, 35.1796],
// ... 17개 시도
};
function getMarkerColor(rate) {
if (rate >= 30) return "#FF6B6B"; // 높음: 빨간색
if (rate >= 25) return "#FFA500"; // 보통: 주황색
return "#4ECDC4"; // 낮음: 청록색
}사용자 맞춤형 심리 상태 진단 테스트와 결과 분석을 제공합니다.
- 다중 단계 질문: 단계별 선택지 기반 테스트
- 알고리즘 기반 분석: 응답 패턴 분석
- 결과 시각화: 개인별 맞춤 결과 차트
- 스마트폰 사용 패턴: 일일 사용시간, 사용 목적
- 감정 상태: 우울감, 스트레스 수준
- 생활 습관: 수면, 식습관, 운동
- 단계별 질문에 응답
- 자동 점수 계산 및 분석
- 개인별 맞춤 권장사항 제공
- 위험도 등급: 정상/주의/위험 3단계
- 개선 방안: 구체적 행동 가이드
- 비교 분석: 또래 집단 대비 현 위치
청소년 우울감 데이터의 다차원 분석과 비교 시각화를 제공합니다.
- 다차원 필터링: 연령/성별/연도별 동적 조회
- 비교 분석: 선택한 조건들 간의 직접 비교
- 트렌드 분석: 시계열 변화 패턴 파악
- 개별 조회: 특정 조건의 우울감률
- 그룹 비교: 여러 조건 동시 비교
- 트렌드 분석: 연도별 변화 추이
- 연령, 성별, 연도 선택
- "우울감률 조회" 버튼 클릭
- 결과 그래프 및 수치 확인
- 추가 조건 비교 분석
- 성별 격차: 남녀 청소년 우울감 차이
- 연령별 패턴: 사춘기 시기별 우울감 변화
- 코로나19 영향: 2020년 이후 급격한 증가 추세
아침결식률과 우울감의 상관관계를 과학적으로 분석하고 시각화합니다.
- 상관관계 분석: Pearson 상관계수 기반
- 회귀 분석: 최적선 피팅 및 신뢰구간
- Seaborn 시각화: 전문적 통계 그래프
- 스캐터 플롯: 아침결식률 vs 우울감률
- 회귀선: 통계적 관계 시각화
- 신뢰구간: 95% 신뢰도 표시
- 데이터 정제: 2020-2024년 전체 성별 데이터만 추출
- 이상치 제거: 통계적 유의성 확보
- 다중 변수: 연도별, 연령별 분석
- 양의 상관관계: 아침결식률 증가 → 우울감률 증가
- 통계적 유의성: p < 0.05 수준의 유의한 관계
- 예측 모델: 아침결식률로 우울감률 예측 가능
청소년 관련 통계와 정보를 퀴즈 형태로 제공하여 교육적 효과를 높입니다.
- 동적 문제 생성: 실제 데이터 기반 문제 출제
- 즉시 피드백: 정답 여부 및 해설 제공
- 진행률 표시: 사용자 경험 향상
- 통계 문제: 실제 데이터 기반 객관식
- 트렌드 문제: 증가/감소 패턴 추론
- 지역 비교: 지역별 차이 문제
- 데이터 리터러시: 통계 해석 능력 향상
- 사회 인식: 청소년 문제에 대한 관심 증대
- 비판적 사고: 데이터 기반 판단력 강화
개인의 생년월일을 기반으로 신체, 감정, 지적 바이오리듬을 계산하고 시각화합니다.
- 수학적 모델링: 사인 함수 기반 주기 계산
- 실시간 계산: 생년월일 입력 시 즉시 계산
- 다중 차트: 3개 리듬 동시 표시
- 신체 리듬: 23일 주기, 체력과 면역력
- 감정 리듬: 28일 주기, 기분과 감성
- 지적 리듬: 33일 주기, 집중력과 판단력
// 생년월일부터 현재까지 일수 계산
const days = Math.floor((current - birth) / (1000 * 60 * 60 * 24));
// 각 바이오리듬 계산
physical = Math.sin((2 * Math.PI * days) / 23) * 100;
emotional = Math.sin((2 * Math.PI * days) / 28) * 100;
intellectual = Math.sin((2 * Math.PI * days) / 33) * 100;- 건강 관리: 컨디션 예측 및 관리
- 학습 계획: 집중력 높은 시기 파악
- 감정 관리: 기분 변화 패턴 이해
- 각 기능별 독립적인 JavaScript 파일
- 공통 함수 및 API 호출 최적화
- 재사용 가능한 컴포넌트 설계
- 반응형 디자인으로 모바일 지원
- 로딩 상태 표시 및 에러 핸들링
- 직관적인 네비게이션 구조
- 실제 공공데이터 기반 신뢰성
- 데이터 검증 및 예외 처리
- 일관된 데이터 포맷 유지
- 지연 로딩 및 캐싱 전략
- API 호출 최소화
- 효율적인 DOM 조작
이 7개 기능은 청소년 스마트폰 과의존이라는 사회 문제를 다각도로 분석하고, 사용자가 직접 체험할 수 있는 인터랙티브한 솔루션을 제공합니다.