Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESG 건설업체 데이터 대시보드

주요 건설업체의 ESG(안전/환경) 지표를 시각화하는 Streamlit 기반 인터랙티브 대시보드입니다.

📊 프로젝트 개요

이 프로젝트는 주요 건설 기업들의 ESG 성과를 연도별 및 업체별로 비교 분석할 수 있는 웹 대시보드를 제공합니다.

주요 기능

  • 🔄 연도별 비교 모드: 특정 업체의 시계열 트렌드 분석
  • 🏢 업체별 비교 모드: 여러 업체의 최신 데이터 비교
  • 📈 인터랙티브 차트: Altair 기반 동적 시각화
  • 🛡️ 안전 지표: 사고율, 사망자수, 안전감사 준수율, 산재보험금
  • 🌱 환경 지표: 탄소배출량, 에너지사용량, 재생에너지비율, 폐기물 관리

🚀 빠른 시작

1. 환경 설정

# 저장소 클론
git clone <repository-url>
cd reja2025

# 가상환경 생성 및 활성화
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 의존성 설치
pip install -r requirements.txt

2. 애플리케이션 실행

streamlit run main.py

브라우저에서 http://localhost:8501로 접속하여 대시보드를 확인할 수 있습니다.

📁 프로젝트 구조

reja2025/
├── main.py                 # 메인 애플리케이션 (모드 선택)
├── pages/                  # Streamlit 페이지들
│   ├── yearReport.py      # 연도별 비교 페이지
│   └── companyReport.py   # 업체별 비교 페이지
├── data/
│   └── data.json          # ESG 데이터 (2023-2025)
├── utils/                  # 유틸리티 함수들
│   ├── __init__.py
│   ├── data_loader.py     # 데이터 로딩 및 전처리
│   └── chart_styles.py    # 차트 스타일 설정
├── assets/                 # 정적 자산들
├── requirements.txt        # Python 의존성
└── README.md

📊 데이터 구조

ESG 지표

🛡️ 안전 지표

  • 사고율: ‰ (천분율, 근로자 1,000명당)
  • 사망자수: 건수
  • 안전감사 준수율: %
  • 산재보험금: 백만원

🌱 환경 지표

  • 탄소배출량: tCO₂e
  • 에너지사용량: kWh/㎡
  • 재생에너지비율: %
  • 건설폐기물: ton
  • 재활용률: %

🎯 사용 방법

1. 메인 페이지

  • 대시보드 접속 시 모드 선택 토글이 표시됩니다
  • 연도별 비교 모드 또는 업체별 비교 모드를 선택하세요

2. 연도별 비교 모드 (yearReport.py)

  1. 모든 업체의 최신 연도 데이터가 테이블로 표시됩니다
  2. 특정 업체를 선택하면 해당 업체의 연도별 트렌드를 확인할 수 있습니다
  3. 안전 및 환경 탭으로 구분된 시각화를 제공합니다

3. 업체별 비교 모드 (companyReport.py)

  1. 모든 업체의 최신 연도 데이터가 테이블로 표시됩니다
  2. 비교하고 싶은 여러 업체를 선택하세요
  3. 선택된 업체들의 최신 데이터를 안전 및 환경 탭에서 비교할 수 있습니다

🛠️ 기술 스택

핵심 기술

  • Frontend: Streamlit
  • 데이터 처리: Pandas, NumPy
  • 시각화: Altair
  • 데이터 저장: JSON

주요 라이브러리

streamlit>=1.28.0
pandas>=2.0.0
altair>=5.0.0
numpy>=1.24.0

🎨 주요 특징

인터랙티브 시각화

  • 툴팁: 차트 위에 마우스를 올리면 상세 정보 표시
  • 확대/축소: 차트 영역을 드래그하여 확대 가능
  • 필터링: 연도 범위 및 업체 선택을 통한 동적 필터링

성능 최적화

  • 캐싱: Streamlit의 @st.cache_data를 활용한 데이터 로딩 최적화
  • 반응형 디자인: 다양한 화면 크기에 대응
  • 메모리 효율성: 효율적인 데이터 구조 및 처리

📈 개발 현황

완료된 기능 ✅

  • 프로젝트 셋업 및 환경 구성
  • 데이터 구조 설계 및 샘플 데이터 생성
  • 메인 페이지 및 모드 선택 기능
  • 연도별 비교 페이지 구현
  • 업체별 비교 페이지 구현
  • 인터랙티브 차트 및 시각화
  • UI/UX 최적화

향후 계획 🚧

  • 모바일 환경 최적화
  • 고급 통계 분석 기능
  • 데이터 내보내기 기능 (CSV, PDF)
  • 실시간 데이터 연동 API

🤝 기여하기

  1. 이 저장소를 Fork하세요
  2. 새로운 기능 브랜치를 생성하세요 (git checkout -b feature/AmazingFeature)
  3. 변경사항을 커밋하세요 (git commit -m 'Add some AmazingFeature')
  4. 브랜치에 Push하세요 (git push origin feature/AmazingFeature)
  5. Pull Request를 생성하세요

📝 라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

📞 문의

프로젝트에 대한 질문이나 제안사항이 있으시면 이슈를 생성해 주세요.


개발 기간: 2024년 12월
버전: 1.0.0
상태: 개발 완료

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages