Add deployment infrastructure and development guide
- db/migrations/: V001 (schema) + V002 (seed data) SQL files - deploy/: systemd service files (taxbaik.service, taxbaik-admin.service) - deploy/: Nginx location block configuration - .gitea/workflows/deploy.yml: CI/CD pipeline (build, test, deploy) - CLAUDE.md: Comprehensive development guidelines (9 sections) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
-- V001 - Initial Schema for TaxBaik
|
||||
|
||||
CREATE TABLE categories (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
slug VARCHAR(100) NOT NULL UNIQUE,
|
||||
sort_order INT NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE TABLE admin_users (
|
||||
id SERIAL PRIMARY KEY,
|
||||
username VARCHAR(100) NOT NULL UNIQUE,
|
||||
password_hash VARCHAR(500) NOT NULL,
|
||||
last_login_at TIMESTAMPTZ,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE TABLE blog_posts (
|
||||
id SERIAL PRIMARY KEY,
|
||||
title VARCHAR(300) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
slug VARCHAR(300) NOT NULL UNIQUE,
|
||||
category_id INT REFERENCES categories(id) ON DELETE SET NULL,
|
||||
tags TEXT,
|
||||
author_id INT REFERENCES admin_users(id) ON DELETE SET NULL,
|
||||
published_at TIMESTAMPTZ,
|
||||
view_count INT NOT NULL DEFAULT 0,
|
||||
seo_title VARCHAR(300),
|
||||
seo_description VARCHAR(500),
|
||||
thumbnail_url VARCHAR(500),
|
||||
is_published BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_blog_slug ON blog_posts(slug);
|
||||
CREATE INDEX idx_blog_published ON blog_posts(is_published, published_at DESC);
|
||||
CREATE INDEX idx_blog_category ON blog_posts(category_id);
|
||||
|
||||
CREATE TABLE inquiries (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
phone VARCHAR(20) NOT NULL,
|
||||
email VARCHAR(200),
|
||||
service_type VARCHAR(100) NOT NULL,
|
||||
message TEXT NOT NULL,
|
||||
status VARCHAR(50) NOT NULL DEFAULT 'new',
|
||||
ip_address VARCHAR(50),
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_inquiry_status ON inquiries(status);
|
||||
CREATE INDEX idx_inquiry_created ON inquiries(created_at DESC);
|
||||
|
||||
CREATE TABLE site_settings (
|
||||
key VARCHAR(200) PRIMARY KEY,
|
||||
value TEXT NOT NULL,
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
@@ -0,0 +1,15 @@
|
||||
-- V002 - Seed Categories and Settings
|
||||
|
||||
INSERT INTO categories (name, slug, sort_order) VALUES
|
||||
('사업자 세무', 'business-tax', 1),
|
||||
('부동산 세금', 'real-estate-tax', 2),
|
||||
('종합소득세', 'income-tax', 3),
|
||||
('부가가치세', 'vat', 4),
|
||||
('가족자산·증여', 'family-asset', 5);
|
||||
|
||||
INSERT INTO site_settings (key, value) VALUES
|
||||
('site.title', '백원숙 세무회계 | 성북구 세무사'),
|
||||
('site.description', '사업자 세무, 부동산 양도세·증여세, 종합소득세 상담. 성북구 백원숙 세무사.'),
|
||||
('kakao.channel.url', ''),
|
||||
('phone.main', ''),
|
||||
('consultation.fee.text','상담료 7만~20만 원, 계약 체결 시 일부 차감');
|
||||
Reference in New Issue
Block a user