Sign In

샤워인증 업로드

예시:
📸 샤워 인증 사진을 업로드하세요!
파일선택
샤워 인증 현황 🔥
📆 총 인증일: 1일
🔁 연속 인증: 1일차
🚿 아직 뱃지는 없지만, 오늘도 한 걸음 전진!
✨ 오늘도 산뜻하게 씻었어요!

✅ Google Colab 전용 샤워 인증 루틴 시스템

from google.colab import files
import pandas as pd
from datetime import datetime
import os
from IPython.display import Image, display

-----------------------------

1. 사진 업로드

-----------------------------

print("📸 샤워 인증 사진을 업로드하세요!")
uploaded = files.upload()

오늘 날짜

today = datetime.today().strftime("%Y-%m-%d")

사진 저장 경로 만들기

photo_dir = "/content/shower_photos"
os.makedirs(photo_dir, exist_ok=True)
uploaded_photo_paths = []
for filename in uploaded.keys():
filepath = os.path.join(photo_dir, f"{today}_{filename}")
with open(filepath, 'wb') as f:
f.write(uploaded[filename])
uploaded_photo_paths.append(filepath)

업로드된 사진 보여주기

for path in uploaded_photo_paths:
display(Image(path))

-----------------------------

2. CSV 파일로 날짜 저장

-----------------------------

log_path = "/content/shower_log.csv"

파일 없으면 새로 생성

if not os.path.exists(log_path):
df = pd.DataFrame(columns=["date"])
df.to_csv(log_path, index=False)

기존 기록 불러오기

df = pd.read_csv(log_path)

오늘 이미 씻었는지 체크

if today not in df["date"].values:
df = pd.concat([df, pd.DataFrame({"date": [today]})], ignore_index=True)
df.to_csv(log_path, index=False)
print(f"🧼 샤워 인증 완료! {today} 기록되었습니다.")
else:
print(f"✅ 이미 {today}에 인증하셨습니다.")

-----------------------------

3. 연속 인증 계산 & 뱃지 부여

-----------------------------

df_sorted = df.sort_values(by="date", ascending=False).reset_index(drop=True)

streak 계산

streak = 1
for i in range(1, len(df_sorted)):
prev_day = datetime.strptime(df_sorted.loc[i - 1, "date"], "%Y-%m-%d")
curr_day = datetime.strptime(df_sorted.loc[i, "date"], "%Y-%m-%d")
if (prev_day - curr_day).days == 1:
streak += 1
else:
break

총 인증 일수

total_days = len(df["date"].unique())

마지막 인증 후 지난 일수

last_day = datetime.strptime(df_sorted.loc[0, "date"], "%Y-%m-%d")
days_since = (datetime.now() - last_day).days

냄새 경고

if days_since >= 3:
smell_msg = f"💩 {days_since}일째 인증 없음... 슬슬 냄새나요!"
elif days_since == 0:
smell_msg = "✨ 오늘도 산뜻하게 씻었어요!"
else:
smell_msg = f"🌿 마지막 샤워는 {days_since}일 전이에요."

뱃지 조건

if streak >= 90:
badge = "🎁 Lv.MAX 청결신! 90일 연속 인증! 쿠폰 지급 대상입니다!"
elif streak >= 30:
badge = "🌟 Lv.3 습관왕! 30일 연속 성공!"
elif streak >= 14:
badge = "💪 Lv.2 위생전사! 2주 연속 성공!"
elif streak >= 3:
badge = "🧼 Lv.1 청결왕! 3일 연속 성공!"
else:
badge = "🚿 아직 뱃지는 없지만, 오늘도 한 걸음 전진!"

-----------------------------

4. 최종 출력

-----------------------------

print("\n🔥 샤워 인증 현황 🔥")
print(f"📆 총 인증일: {total_days}일")
print(f"🔁 연속 인증: {streak}일차")
print(badge)
print(smell_msg)