Skip to content

Chillgorithm/esgextract-fe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages