FastAPI에서 모델 변경사항을 테이블에 반영하는 방법

FastAPI 프로젝트를 운영하다 보면 데이터베이스 모델을 수정해야 하는 경우가 자주 발생합니다.특히 프로젝트가 커질수록 모델 정의(models.py) 와 실제 테이블 구조(DB Schema) 간의 불일치를 방지하는 것이 중요합니다.이번 글에서는 자산 앱 프로젝트의 모델링(ERD) 구조를 예시로, Alembic 마이그레이션 도구를 사용해 일부 테이블에만 존재하던 created_at, updated_at 필드를 모델에 추가 정의하고 테이블에 반영하는 방법을 정리해보겠습니다. 💡 문제 상황: 모델은 바뀌었는데 테이블은 … 더 읽기

자산 앱 프로젝트의 모델링(ERD) 구조

소개글에서 밝힌 바와 같이 저는 자산을 관리하는 앱을 만들고 있습니다. 이번 글에서는 프로젝트에서 사용된 데이터 모델링(ERD) 구조를 바탕으로, 각 테이블의 구조, 필드 설명, 그리고 FastAPI ORM(SQLModel)이 실제 DB 테이블을 자동으로 생성하는 원리까지 자세히 다룹니다. 목차 ERD 설계 개념 본 프로젝트에서는 Python의 SQLModel을 활용하여 데이터 모델링을 구현했습니다.SQLModel은 SQLAlchemy와 Pydantic을 결합한 ORM(Object Relational Mapping) 프레임워크로,데이터 검증과 DB … 더 읽기

FastAPI에서 모델(Model)과 스키마(Schema)의 분리

유지보수성 향상, 데이터 검증 및 보안강화를 위해 FastAPI와 SQLModel을 함께 사용하면 데이터베이스 테이블 정의(모델)와 API 요청/응답 검증(스키마)을 분리할 수 있습니다.이번 포스팅에서는 FastAPI + SQLModel + PostgreSQL(Docker) 환경을 기반으로, 스키마(Schema)에서 받은 데이터를 안전하게 모델(Model)로 변환하여 저장하는 방법을 구체적인 코드 예시와 함께 살펴보겠습니다. 🧭 개발 환경 📂 프로젝트 구조 위 구조는 FastAPI 백엔드에서 모델과 스키마를 완전히 분리하는 … 더 읽기

Next.js + FastAPI로 Google 로그인 구현하기 (JWT 검증 포함)

이번 글에서는 Google Auth를 사용해 사용자 로그인 기능을 구현하고, 로그인 후 발급받은 AccessToken을 백엔드(FastAPI)에서 검증 및 사용자 인증의 흐름을 확인할 수 있습니다.소셜 로그인을 적용하면 사용자는 별도의 회원가입 없이 Google 계정만으로 간편하게 로그인할 수 있습니다. 또한 NextAuth를 이용하면 보안성과 확장성을 모두 확보할 수 있습니다. 📚 목차 📂 프로젝트 구조 ☁️ Google Cloud Console 설정 Google OAuth … 더 읽기

📁효율적인 개발을 위한 디렉토리 설계 가이드(FastAPI+Next.js)

이번 포스팅에서는 저의 로컬 환경 기준으로 구성한 프로젝트 구조를 바탕으로 각 디렉토리와 파일의 역할을 상세히 설명하겠습니다. 프로젝트 디렉토리 구조에는 정확한 정답은 없지만 올바른 설계 원칙을 이해하면 개발에 큰 도움이 됩니다. 📑 목차 🛠 프로젝트 디렉토리 구조를 나누는 이유 대규모 애플리케이션일수록 디렉토리 구조를 체계적으로 나누는 것이 필수입니다.주요 이유는 다음과 같습니다. 즉, 디렉토리 구조는 단순히 코드 정리를 … 더 읽기

🚀 FastAPI API 테스트 (pytest + pytest-cov)

FastAPI는 Python 기반의 비동기(Asynchronous) 웹 프레임워크로, 빠른 성능과 간결한 코드 구조 덕분에 최근 많은 개발자들이 선택하고 있습니다.하지만 프로젝트가 커지고 API가 복잡해질수록 코드 변경 시 버그나 예외 상황이 발생할 가능성도 높아집니다. 이러한 문제를 예방하기 위해서는 FastAPI 테스트 코드 작성이 필수적입니다.테스트 코드는 단순한 검증 단계를 넘어, 서비스 안정성과 유지보수 효율을 높이는 핵심 요소입니다.특히 pytest를 활용하면 API 동작을 … 더 읽기

FastAPI CRUD API 구현 및 Swagger UI를 활용한 테스트

웹 애플리케이션에서 CRUD(Create, Read, Update, Delete) 기능은 백엔드 개발의 핵심입니다.이번 글에서는 FastAPI와 SQLModel을 활용해 자산(Asset) 모델을 예시로 CRUD API를 만들고, PostgreSQL 데이터베이스와 연동하며, Swagger UI에서 API를 테스트하는 방법까지 단계별로 안내합니다. 🧩 참고이번 글에서는 FastAPI를 활용한 CRUD API 구현에 초점을 맞추었기 때문에, 데이터베이스 테이블 모델링에 대한 내용은 다루지 않았습니다.모델 설계와 관계 설정 등은 추후 별도의 포스팅에서 … 더 읽기

Next.js, FastAPI, PostgreSQL(DB) 서버 구동 및 종료 방법

📘 개요 풀스택 개발 환경에서 프론트엔드(Next.js), 백엔드(FastAPI), 데이터베이스(PostgreSQL)를 각각 구동/종료하고 관리하는 것이 필요합니다.이번 포스팅에서는 Docker Compose를 사용한 DB(PostgreSQL) 서버, 백엔드(FastAPI) 서버, 프론트엔드(Next.js) 서버를 구동하고 종료하는 방법과 추가로 VS Code를 이용해 프론트엔드와 백엔드 서버를 동시에 실행하는 방법까지 알아보겠습니다. 🧩 참고: – 개발 초기 단계에서는 코드 수정 후 즉각적인 반영과 디버깅 효율을 높이기 위해, Next.js와 FastAPI를 로컬 … 더 읽기

Windows 환경에서 Next.js + FastAPI + PostgreSQL(Docker) 로컬 개발환경 구축

개발을 시작하기 전, 로컬 개발환경(Local Development Environment)을 구성하기 위한 가이드 입니다.이번 포스팅에서는 Windows 환경을 기반으로 VS Code, Git, Next.js, FastAPI, PostgreSQL을 Docker 로 연결해 완전한 로컬 개발환경을 구축하는 과정을 단계별로 안내합니다. 🧭 전체 구성 개요 이 모든 환경을 구성하면, 하나의 PC에서 프론트엔드/백엔드/DB를 독립적으로 실행하고, 효율적인 개발 및 테스트가 가능합니다. 프론트엔드와 백엔드를 Docker에 연동하지 않은 이유는 … 더 읽기

AI와 함께하는 풀스택 개발 | Next.js + FastAPI + PostgreSQL 기반의 자산 관리 앱 개발기

🧭 프로젝트 개요 안녕하세요. 이 블로그는 개발자로서 한 단계 더 성장하기 위한 저만의 기록을 담고 있습니다.이번 프로젝트는 단순한 결과물보다 과정 중심의 학습에 초점을 맞추고 있으며, AI와 함께하는 개발(Vibe Coding) 방식을 통해 스스로 성장해 나가는 여정을 기록하고자 합니다. 저는 해당 기술 스택(Next.js, FastAPI, PostgreSQL 등)에 대해 처음 배우는 단계로, ChatGPT, Github Copilot과 같은 AI 도구를 적극 … 더 읽기