Python과 Streamlit으로 구현한 한자어문회 준3급(3급Ⅱ) 한자 음(音) 4지선다 퀴즈 웹 애플리케이션입니다.
| 기능 | 설명 |
|---|---|
| 로그인 | 아이디/비밀번호 입력 후 인증, st.session_state로 로그인 상태 유지 |
| 데이터 캐싱 | @st.cache_data를 적용해 CSV 파일을 최초 1회만 읽고 이후 재사용 |
| 랜덤 퀴즈 | 전체 한자 데이터에서 10문제를 매번 랜덤 추출, 4지선다 형식으로 출제 |
| 결과 시각화 | 정답률 Progress bar, st.metric(정답/오답 수), 막대 차트, st.balloons |
| 문제별 해설 | 퀴즈 제출 후 각 문제의 정답과 내 답을 한눈에 비교 |
| 로그아웃 | 퀴즈 화면 상단에서 언제든지 로그아웃 가능 |
git clone https://github.com/bborang/2026-OSS-Midterm-Project.git
cd 2026-OSS-Midterm-Projectpython -m venv .venv
source .venv/bin/activate # macOS / Linux
.venv\Scripts\activate # Windowspip install -r requirements.txtstreamlit run app.py로그인 정보 — 아이디:
admin/ 비밀번호:1234
- Python 3.x
- Streamlit — 웹 앱 프레임워크
- Pandas — CSV 데이터 로딩 및 처리
.
├── app.py # 메인 실행 파일
├── 3급Ⅱ.csv # 한자 데이터 (음·훈·부수·획수 포함)
├── requirements.txt # 의존 패키지 목록
└── .gitignore
프로젝트에 사용된 한자 데이터(3급Ⅱ.csv)는 외부 저장소(https://github.com/rycont/hanja-grade-dataset)에서 다운로드하여 과제 목적에 맞게 활용했습니다.