📮 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..
🚀 [GitHub Actions로 CI 구성하기 - 단계별 완벽 정리]
·
프로젝트
🚀 [GitHub Actions로 CI 구성하기 - 단계별 완벽 정리]1️⃣ CI(지속적 통합)란?✔️ CI는 코드 변경이 있을 때마다 자동으로 빌드, 테스트, 배포 등 작업을 실행하여 품질과 안정성을 보장하는 프로세스입니다.✔️ GitHub Actions를 이용해 Docker 환경에서 CI를 구축하며, 민감 정보는 Secrets로 안전하게 관리합니다.2️⃣ 사전 준비✅ requirements.txt 작성 및 의존성 관리 (pip 기준)✅ GitHub Repository에서 Secrets 설정 (DB 계정, 비밀번호 등)✅ .github/workflows 폴더 생성 및 CI 워크플로우 YAML 파일 준비3️⃣ GitHub Secrets 등록 방법GitHub repo > Settings > Secrets..
3️⃣ 슈퍼유저 생성 및 Django Admin 접속
·
프로젝트
3️⃣ 슈퍼유저 생성 및 Django Admin 접속📌 슈퍼유저 생성 명령어로컬 개발 환경에서 아래 명령어 실행하세요:python manage.py createsuperuser --settings=config.settings.dev사용자 이름(username), 이메일, 비밀번호 순서대로 입력비밀번호는 보안 강화를 위해 충분히 복잡하게 설정 권장📌 Docker 환경에서 슈퍼유저 생성컨테이너 내부에서 아래 명령어 실행:docker compose exec -it my-django bashpython manage.py createsuperuser --settings=config.settings.prodmy-django는 Docker Compose 내 Django 서비스명운영환경 설정(prod) 기준으로 슈..