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에서 더 알아보기

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

댓글 남기기

  • The Fate of Greenland hangs in the Balance: A Global Power Play

    The fate of Greenland has become a focal point of global politics, with multiple nations vying for control over the strategic island. In recent weeks, several countries have expressed interest in acquiring or partnering with Greenland to further their interests. This article will examine the situation and explore the potential implications for international relations. The…

  • **South Korea’s Ambassador to the US Returns from Absence**

    After a year-long vacancy, South Korean Ambassador to the United States Kevin Kim has returned to his post. The ambassador’s return comes as a welcome relief for the South Korean government, which had been without an ambassador to the US since Kim’s departure in 2022. The cause of Kim’s absence was not publicly disclosed, but…

  • Building a Dynamic Landing Page: Mastering HTML, CSS, & JavaScript

    Welcome to My Website This is a basic landing page example. Click Me!

  • Mastering File Input/Output in C++

    [Tutorial] · 2026-01-15 08:44 UTC Mastering File Input/Output in C++ 💡 TL;DR Learn how to read from and write to files in C++ using the ifstream and ofstream objects, along with clear explanations of key concepts. 📚 Learning Objectives This tutorial explores file input/output operations in C++, covering essential concepts, practical examples, and best practices…

  • Mastering the Fundamentals of Object-Oriented Programming in C++

    [Tutorial] · 2026-01-15 04:15 UTC Mastering the Fundamentals of Object-Oriented Programming in C++ 💡 TL;DR Learn how to structure your code with classes, define objects, encapsulate data, and leverage inheritance for efficient development. 📚 Learning Objectives This tutorial introduces object-oriented programming concepts in C++, focusing on classes, objects, encapsulation, and inheritance. You’ll gain practical skills…

← 뒤로

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

TechTinkerer's에서 더 알아보기

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

계속 읽기

TechTinkerer's에서 더 알아보기

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

계속 읽기