Flask 백엔드 환경 설정 & 첫 번째 API 만들기

개발 환경 준비

아이디어 스냅 앱의 백엔드는 Flask(Python) 기반으로 구현합니다.
간단하고 가벼운 구조라서 Flutter 앱과 연동하기에 적합합니다.

1. 가상환경 만들기

# 프로젝트 폴더 생성
mkdir ideasnap-backend
cd ideasnap-backend

# 가상환경 생성
python -m venv venv

# 가상환경 실행 (Windows)
venv\Scripts\activate

# 가상환경 실행 (Mac/Linux)
source venv/bin/activate

2. 필요한 라이브러리 설치

pip install flask pillow google-generativeai

Flask 기본 서버 만들기

app.py 파일을 생성하고 아래 코드를 작성합니다.

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def home():
    return jsonify({"message": "IdeaSnap Backend is running!"})

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)

실행

python app.py

브라우저에서 http://127.0.0.1:5000 접속하면 {"message": "IdeaSnap Backend is running!"} 이 출력됩니다.

프로젝트 구조 (현재까지)

ideasnap-backend/
 ├─ venv/                 # 가상환경
 ├─ app.py                # Flask 서버 메인 파일
 └─ requirements.txt       # (추후 pip freeze로 저장)

다음 단계

Part 3에서는,

  • 이미지 업로드 API (/api/upload-image) 구현
  • 업로드된 파일을 서버에 임시 저장하는 과정

까지 진행합니다.


TechTinkerer's에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.

댓글 남기기

  • Mastering CSS Grid and Flexbox for Responsive Web Design

    [Tutorial] · 2026-05-06 02:31 UTC Mastering CSS Grid and Flexbox for Responsive Web Design 💡 TL;DR Understand the fundamentals of CSS Grid and Flexbox, including layout models and responsive design, to build robust and adaptable web applications. 📚 Learning Objectives This tutorial introduces the basics of CSS Grid and Flexbox, covering layout models, box sizing,…

  • Complete Guide to HTML5 Forms and Validation

    [Tutorial] · 2026-05-06 01:29 UTC Complete Guide to HTML5 Forms and Validation 💡 TL;DR Master HTML5 forms and validation to build accessible and functional web applications. 📚 Learning Objectives This tutorial covers the basics of HTML5 forms, including validation, semantic attributes, and accessibility features. Learn how to create robust and user-friendly forms that meet modern…

  • Building a Simple Web Application with React

    [Tutorial] · 2026-05-06 00:27 UTC Building a Simple Web Application with React 💡 TL;DR Learn how to build a basic web application with React using components, state management, and routing. 📚 Learning Objectives This tutorial covers the basics of creating a simple web application with React, including components, state management, and routing. Learners will gain…

  • C++ Template Metaprogramming for Beginners

    [Tutorial] · 2026-05-05 23:24 UTC C++ Template Metaprogramming for Beginners 💡 TL;DR Master C++ template metaprogramming to perform compile-time calculations and optimize your code. 📚 Learning Objectives Learn how to master C++ template metaprogramming, a powerful technique for performing compile-time calculations. This guide covers its benefits, key concepts, and practical examples to help you get…

  • Understanding Pointers and Memory Management in C++

    [Tutorial] · 2026-04-30 05:10 UTC Understanding Pointers and Memory Management in C++ 💡 TL;DR Mastering pointers in C++ is crucial for efficient memory management and writing effective code. 📚 Learning Objectives This tutorial covers the fundamentals of pointers in C++, including declaration, initialization, and memory management. Students will learn how to effectively use pointers to…

← 뒤로

응답해 주셔서 감사합니다. ✨

TechTinkerer's에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기

TechTinkerer's에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기