TOP
본문 바로가기
📚 목차
[파이썬 Projects]/<파이썬 웹개발>

[파이썬] AI 활용 웹 서비스 개발 기록 : 1 - 서비스 화면 및 기능 소개

by 기록자_Recordian 2025. 6. 26.
728x90
반응형

프로젝트 소개

- 프로젝트 주제: AI 활용 동화 생성 웹 서비스

- 프로젝트 내용: 아이를 위한 맞춤형 동화를 생성해주는 AI 기반 웹 애플리케이션

- 프로젝트 기간: 2025년 5월 17일 ~ 2025년 6월 12일

- 프로젝트 주요 기능

기능 구분 상세 내용
👶 회원 & 아이 관리 - 회원가입/로그인/탈퇴
- 아이 등록 및 생년월일 기반 출생일 계산
📘 동화 생성 - 테마를 선택하면 AI가 동화 생성
- GPT-4o-mini 사용
🔊 TTS 음성 읽기 - OpenAI TTS 사용
- 다양한 목소리 선택 (10종 이상)
- 재생 속도 조절 기능
🎨 이미지 생성 & 변환 - Stability AI 기반 이미지 생성
- 흑백 변환을 통한 컬러링북 스타일 제공
🖼 갤러리 - 사용자별 이미지 및 동화 확인
- 다운로드 및 공유 가능
🎵 자장가 찾기 - 테마별 무료 자장가 음원 추천
📺 유튜브 영상 추천 - 테마 관련 유튜브 영상 5개 자동 검색 및 제공

 

◆ 사용 기술 스택

영역 기술 스택
Frontend Streamlit
Backend FastAPI
Database PostgreSQL
AI 모델 OpenAI GPT-4o-mini, TTS API
이미지 생성 Stability AI (DALL·E 3 → 교체됨)
음악 API Jamendo API
영상 추천 Google YouTube API
이미지 처리 OpenCV
기타 기능 이메일 발송, 임시 비밀번호, 비밀번호 변경, 회원 탈퇴, 컨텐츠 삭제 등

ERD(Entity-Relationship Diagram)

사용자(User) 테이블을 기준으로,

Article(게시판), Baby(아이), Story(동화) 테이블이 있으며,

향후 확장성을 고려하여 Role(권한), Like(좋아요) 테이블까지 총 6개의 테이블 생성

 

테이블 간 관계 (사용자 테이블 기준)

  • 사용자와 동화 간 관계 (일대다) : 하나의 사용자 여러 개 동화
  • 사용자와 게시물 간의 관계 (일대다): 하나의 사용자 여러 개 게시글
  • 사용자와 아기 간의 관계 (일대다): 하나의 사용자 여러 명 아기
  • 사용자와 좋아요 간의 관계 (일대다): 하나의 사용자 여러 개의 좋아요
  • 사용자와 역할 간의 관계 (다대일): 여러 사용자, 각 사용자당 하나의 역할


최종 화면 - 앱 실행 시(로그인 전)

◆ 메인 화면


◆ 로그인 화면


◆ 회원가입 화면


◆ 계정 설정 화면

- 아이디 찾기

 

- 임시 비밀번호 발급

 

- 비밀번호 변경


최종 화면 - 앱 실행 시(로그인 후)

◆ 메인 화면


◆ 메뉴

  • : 로그인 후 기본으로 보여지는 페이지
  • 동화 만들기: 인공 지능으로 동화(텍스트) 생성, 생성된 텍스트 음성 변환, 해당 텍스트로 이미지 생성, 생성된 이미지를 컬러링용 이미지로 변환하는 기능 제공
  • 갤러리: 생성된 이미지 (컬러, 흑백) 조회 및 삭제
  • 자장가 음악: 테마에 맞는 자장가 음악 추천
  • 자장가 유튜브: 테마에 맞는 자장가 유튜브 영상 출력
  • 프로필: 아이 추가 등록, 아이 삭제, 회원 탈퇴
  • 로그아웃: 로그아웃을 하게 되면 메인 화면으로 이동하도록 구현

◆ 동화 만들기

- 동화 생성 옵션

  • 아이: 사용자가 등록한 아이 이름 자동으로 선택
  • 속도: 0부터 2 사이의 숫자 (기본값 1)
  • 테마: 자연, 도전, 가족, 사랑, 우정, 용기
  • 목소리: OpenAI TTS에서 제공하는 목소리

- 동화 생성 및 음성 파일

  • 사용자가 설정한 아이 이름이 주인공이 되도록 동화 생성 (OpenAI gpt-4o-mini 사용)
  • 생성된 동화 텍스트를 앞서 선택한 속도와 목소리에 따라 음성으로 변환

 

- 동화 이미지 생성

  • 생성된 동화 텍스트를 기반으로 아이 친화적인 이미지 생성 (Stable Diffusion 사용)

- 흑백 이미지 변환

  • 앞서 생성된 컬러 이미지를 컬러링용 흑백 이미지로 변환 (openCV 사용)


◆ 이미지 갤러리

사용자가 생성한 이미지 (컬러 / 흑백)가 보여지는 게시판

  • 생성된 모든 이미지를 한 번에 다운로드 할 수 있도록 구현
  • 보기 모드 제공: 그리드 / 목록

<보기 모드: 그리드>

 

<보기모드: 목록>

 

 

이미지를 다운로드 하거나, 외부 공유 가능 (공유 기능의 경우 서비스 배포 후 가능)

 

이미지 삭제 선택 시 [삭제 실행] 버튼 나타나며 삭제 가능


◆ 자장가 음악 메뉴

테마를 선택하면 해당 테마에 맞는 자장가 리스트를 불러옴

  • 제공되는 테마: 잔잔한 피아노, 기타 멜로디, 자연의 소리, 달빛, 하늘, 클래식


◆ 자장가 유튜브

테마를 선택하면 유튜브에서 자장가 영상을 찾아 띄워줌

  • 제공되는 테마: 잔잔한 피아노, 기타 멜로디, 자연의 소리, 달빛, 하늘, 클래식

 


◆ 프로필

- 아이 추가

부모는 여러 아이를 가질 수 있으므로, 아이가 추가될 수 있도록 설정

- 등록된 아이 삭제하기

등록된 아이를 삭제할 수 있도록 구현

 

- 회원 탈퇴하기


다음내용

 

[파이썬] AI 활용 웹 서비스 개발 기록 : 2 controllers 설명

이전 내용 [파이썬] AI 활용 웹 서비스 개발 기록 : 1 - 서비스 화면 및 기능 소개프로젝트 소개- 프로젝트 주제: AI 활용 동화 생성 웹 서비스- 프로젝트 내용: 아이를 위한 맞춤형 동화를 생성해주

puppy-foot-it.tistory.com

728x90
반응형