Skip to Content
💻 코리아IT아카데미 신촌 - 프로그래밍 학습 자료

📖 디지털 추억 앨범

📋 프로젝트 개요

Flask 웹 프레임워크를 사용해서 소중한 추억을 저장하고 공유할 수 있는 웹 애플리케이션을 만들어보세요! Unit 11에서 배운 Flask, 템플릿, 폼 처리를 활용하여 실제로 사용할 수 있는 프로그램을 만드는 프로젝트입니다.

🎯 학습 목표

  • Flask로 동적 웹 애플리케이션 만들기
  • Jinja2 템플릿으로 HTML 렌더링하기
  • 웹 폼으로 사용자 입력 처리하기
  • Bootstrap으로 반응형 디자인 구현하기
  • 추억 생성/읽기 기능 구현하기

🚀 필수 요구사항

1. 추억 앨범 기본 기능

Flask 라우트 구성

  • / - 홈페이지 (모든 추억 목록)
  • /add_memory - 새로운 추억 추가 페이지
  • /memory/<int:memory_id> - 개별 추억 상세 보기

추억 데이터 구조

  • 제목 (이모지 포함 가능)
  • 날짜 (YYYY-MM-DD 형식)
  • 사진 URL (웹 이미지 링크)
  • 추억 이야기 (텍스트)
  • ID (자동 생성)

2. 템플릿 시스템

base.html - 기본 레이아웃

  • 네비게이션 바
  • Bootstrap 5 CSS/JS (CDN)
  • 반응형 컨테이너
  • Flash 메시지 표시

home.html - 홈페이지 템플릿

  • 추억 카드 그리드 레이아웃
  • 최근 추억 우선 정렬
  • 추억 추가 버튼
  • 추억이 없을 때 안내 메시지

add_memory.html - 추억 추가 폼

  • 입력 필드 검증
  • 날짜 선택기
  • 기본 이미지 URL 제공
  • 취소/저장 버튼

view_memory.html - 추억 상세보기

  • 큰 이미지 표시
  • 전체 스토리 표시
  • 목록으로 돌아가기 버튼

3. 디자인 요구사항

시각적 요소

  • 🎨 그라데이션 배경
  • 📱 모바일 반응형
  • 🌈 카드 호버 효과
  • ✨ 부드러운 애니메이션
  • 🖼️ 이미지 자동 크기 조정

사용자 경험

  • 친근한 한글 메시지
  • 직관적인 네비게이션
  • 빠른 페이지 로딩
  • 명확한 피드백 메시지

💻 실행 예시

$ python app.py ================================================== 🎉 추억 앨범 웹사이트가 시작됩니다! 🌐 브라우저에서 http://localhost:5001 으로 접속하세요 코드를 수정하면 자동으로 재시작됩니다 🛑 서버를 종료하려면 Ctrl+C를 누르세요 ================================================== * Serving Flask app 'app' * Debug mode: on WARNING: This is a development server. Do not use it in a production deployment. * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:5001 * Running on http://192.168.108.3:5001 Press CTRL+C to quit

📝 완성 체크리스트

📖 디지털 추억 앨범 체크리스트

🎨 디자인 가이드

색상 테마

  • 메인 색상: 보라색 그라데이션 (#6c5ce7#a29bfe)
  • 카드 배경: 흰색 with 그림자
  • 호버 효과: 카드 상승 + 그림자 강화
  • 버튼: 그라데이션 + 호버 시 밝아짐

레이아웃

┌─────────────────────────────────┐ │ 📖 추억 앨범 │ <- 네비게이션 ├─────────────────────────────────┤ │ 나의 추억 앨범 │ <- 제목 │ 새로운 추억 추가하기 버튼 │ ├─────────────────────────────────┤ │ ┌──────┐ ┌──────┐ ┌──────┐ │ │ │ 추억1 │ │ 추억2 │ │ 추억3 │ │ <- 카드 그리드 │ └──────┘ └──────┘ └──────┘ │ └─────────────────────────────────┘

추억 카드 구성

  • 📸 이미지 (상단, 200px 높이)
  • 📝 제목 (굵은 글씨)
  • 📅 날짜 (회색 텍스트)
  • 💬 이야기 미리보기 (100자)
  • 🔗 자세히 보기 버튼

🔧 실행 방법

# 1. 프로젝트 클론 git clone https://github.com/jaceleedev/memory-book cd memory-book # 2. 가상환경 생성 및 활성화 python3 -m venv venv source venv/bin/activate # Mac/Linux # venv\Scripts\activate # Windows # 3. 필요한 패키지 설치 pip install -r requirements.txt # 4. Flask 앱 실행 python app.py # 5. 브라우저에서 확인 # http://localhost:5001 접속

⚠️ 주의: macOS에서는 AirPlay가 5000번 포트를 사용하므로 5001번 포트를 사용합니다.

🚀 확장 아이디어

기본 확장

  • 📝 추억 수정 기능 (/edit/<id>)
  • 🗑️ 추억 삭제 기능 (/delete/<id>)
  • 🔍 검색 기능
  • 🏷️ 카테고리/태그 추가

고급 확장

  • 👤 사용자 로그인
  • 💾 데이터베이스 연동 (SQLite)
  • 📤 이미지 업로드
  • 💌 추억 공유 기능
  • 📊 월별/연도별 통계
  • 🎵 배경음악 추가

🎉 완성 후

완성된 추억 앨범에 가족과 친구들의 소중한 순간들을 담아보세요! 생일, 여행, 모임 등 특별한 순간들을 기록하고 언제든 다시 볼 수 있는 나만의 디지털 앨범이 완성되었습니다.

📚 참고 자료

Last updated on