📌 [3단계] DRF(Django REST Framework) 설치 및 Docker 적용
·
프로젝트
📌 [3단계] DRF(Django REST Framework) 설치 및 Docker 적용✅ 목표Django REST Framework (DRF) 설치SimpleJWT를 통한 인증 기능 추가로컬 개발 환경과 Docker 컨테이너에 모두 적용🧩 진행 순서1️⃣ DRF, SimpleJWT 패키지 설치로컬 가상환경(venv, poetry 등)에서: pip install djangorestframework djangorestframework-simplejwt 설치 패키지 설명패키지설명djangorestframeworkDjango 전용 REST API 프레임워크djangorestframework-simplejwtJWT 인증을 위한 SimpleJWT 라이브러리 2️⃣ Django 설정 파일에 DRF 등록confi..
📮4. Django DB 연결 대기 커스텀 커맨드 제작 및 GitHub Actions 적용기
·
프로젝트
Django DB 연결 대기 커스텀 커맨드 제작 및 GitHub Actions 적용기🎯 Mission 1: DB 연결을 위한 커스텀 명령어 생성하기1️⃣ core 앱 생성python manage.py startapp core2️⃣ core 앱을 settings.py에 등록# config/settings/base.pyINSTALLED_APPS = [ # ... 'core', # ✅ core 앱 추가]3️⃣ core/management/commands/wait_for_db.py 생성mkdir -p core/management/commandstouch core/management/__init__.pytouch core/management/commands/__init__.pytouch core/m..
📮 3. Django ORM을 활용하여 Model 생성하기
·
프로젝트
📚 2. Django ORM을 활용하여 Model 생성하기 1️⃣ 프로젝트 초기 세팅🔸 프로젝트 생성django-admin startproject account-book .python manage.py startapp accountbook2️⃣ 모델 작성 (models.py)✏️ 처음 작성한 models.py처음 models.py를 작성할 때, 우리는 다음처럼 만들었어:from django.db import modelsfrom django.contrib.auth.models import AbstractBaseUser, BaseUserManager, PermissionsMixinfrom django.utils import timezonefrom .constants import ( BANK_CODE..
📮 3. ERD를 구성 Mermid 활용
·
프로젝트
1️⃣ 프로젝트 개요이번 프로젝트는 가계부(Account Book) 시스템을 구축하는 것이 목표입니다.사용자(User), 계좌(Account), 거래 내역(Transaction History)을 관리하고,추가로 수입/지출 분석(Analysis) 및 알림(Notification) 기능을 제공합니다.2️⃣ 데이터베이스 테이블 설계📖 테이블 설명테이블 이름설명users서비스 사용자 정보를 저장합니다.accounts사용자가 보유한 계좌 정보를 저장합니다.transaction_history계좌별 거래 내역을 저장합니다.analysis수입과 지출 내역을 분석하고 결과를 저장합니다.notifications사용자 알림을 관리합니다. 🔗 테이블 간 관계 (Relation)users 1:N accounts(한 사용자는..
📮2. 데이터베이스 스키마 설계
·
프로젝트
📚 [프로젝트] 데이터베이스 스키마 설계 테이블 이름설명주요 필드users서비스에 가입한 사용자 정보를 저장하는 테이블입니다.- 이메일 (로그인 시 사용)- 비밀번호- 닉네임- 이름- 전화번호- 마지막 로그인- 스태프 여부 (is_staff)- 관리자 여부 (is_admin)- 계정 활성화 여부 (is_active)accounts유저가 보유한 계좌 정보를 저장하는 테이블입니다.- 유저 정보 (FK: users.id)- 계좌번호 (Unique)- 은행 코드 (카카오뱅크, KB국민, NH농협, IBK기업 등)- 계좌 종류 (입출금 통장, 마이너스 통장 등)- 잔액 (Decimal)transaction_history사용자가 보유한 계좌의 거래 내역을 저장하는 테이블입니다.- 계좌 정보 (FK: account..
📮 1. ERD(Entity Relationship Diagram) 작성하기
·
프로젝트
📮 1. ERD(Entity Relationship Diagram) 작성하기💌**ERD(Entity Relationship Diagram)**는 데이터베이스의 구조를 시각화하여,데이터 간의 관계를 명확히 파악하고 시스템 전반의 설계를 체계적으로 진행할 수 있게 도와줍니다.이번 프로젝트에서는 **유저 스토리(User Story)**를 기반으로 ERD를 설계하고,이에 따라 Django 모델(Model)을 정의해 나갑니다.🔖mission_1: 서비스를 분석하여 유저 스토리 작성하기🧩 유저 스토리 작성1. 사용자 역할 정의서비스에서 정의할 사용자 역할은 다음과 같습니다:역할설명일반 사용자가계부 및 계좌를 생성하고 거래 내역을 관리하는 핵심 사용자.관리자모든 사용자와 거래 내역을 관리하고 수정할 수 있는 ..
📌 🚀 [GitHub Actions CI - 3단계: 로컬 환경 자동화 검사 스크립트 만들기 & Docker와 DB 호스트 이슈 해결법]
·
프로젝트
📌 로컬 환경 자동화 검사 스크립트 만들기 & Docker와 DB 호스트 이슈 해결법1️⃣ 자동화 검사 스크립트란?목적: 로컬에서 한 번에 코드 스타일 검사, 마이그레이션 체크, 테스트 실행까지 자동으로 처리해 실수를 줄이고 작업 효율을 높임도구: isort, black으로 코드 포맷 검사, Django 관리 명령어로 마이그레이션과 테스트 진행2️⃣ 간단한 자동화 스크립트 예시 (check.sh)#!/bin/bashecho "🚀 Code Quality and Test Automation Script Start 🚀"echo "1️⃣ Check code format with isort"isort . --check --diffif [ $? -ne 0 ]; then echo "❌ isort 검사 실패: ..
🚀 [GitHub Actions CI - 2단계: 워크플로우 최종 완성 및 실전 팁]
·
프로젝트
🚀 [GitHub Actions CI - 7단계: 워크플로우 최종 완성 및 실전 팁]7️⃣ 완성된 .github/workflows/checks.yml 구성name: Code Quality Checkson: push: branches: [main] pull_request:jobs: ci: runs-on: ubuntu-latest services: my-db: image: postgres:14 env: POSTGRES_USER: ${{ secrets.PG_USER }} POSTGRES_PASSWORD: ${{ secrets.PG_PASSWORD }} POSTGRES_DB: ${{ secrets.PG_NA..