Skip to content
/ Pick Public

๐Ÿ™ ๊ณ ์„ฑ์—ฐ ๐Ÿชจ ๊น€์„ํฌ ๐ŸŠ ์ด์ฒญ๋ฏผ ๐Ÿฆ ์žฅ์‹œ์› ๐Ÿฆญ ์ •๋ฏผ์„  ๐Ÿง ์ตœํ˜œ๋ฏผ

Notifications You must be signed in to change notification settings

BE14-NoB/Pick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ—๏ธ Pick



๐Ÿ‘จโ€๐Ÿ’ป DEVELOPERS

๊ณ ์„ฑ์—ฐ ๊น€์„ํฌ ์ด์ฒญ๋ฏผ ์žฅ์‹œ์› ์ •๋ฏผ์„  ์ตœํ˜œ๋ฏผ

๐Ÿ”– ๋ชฉ์ฐจ


๐Ÿ’ก Tech Stack

๐ŸŒฟ Backend

๐Ÿ—‚๏ธ DB

MariaDB

๐Ÿ›œ Server

๐Ÿ”ง Tools

IntelliJ IDEA


๐Ÿ“ข ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

1. ํ”„๋กœ์ ํŠธ ์ฃผ์ œ

ํ‰์ƒ ๊ณต๋ถ€ํ•ด์•ผ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ๋งค์นญ & ๊ด€๋ฆฌ ํ”Œ๋žซํผ

2. ํ”„๋กœ์ ํŠธ ํ•„์š”์„ฑ

์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ž€?
๊ทœ๋ชจ์™€ ์ˆ˜์ต์„ฑ๊ณผ๋Š” ์ƒ๊ด€์—†์ด ์Šค์Šค๋กœ ์›ํ•ด์„œ ๊ฐœ๋ฐœํ•ด ๋ณด๊ณ  ์‹ถ์€ ์„œ๋น„์Šค, ์ ์šฉํ•ด ๋ณด๊ณ  ์‹ถ์€ ๊ธฐ์ˆ  ์Šคํƒ ๋“ฑ์„
์ˆ˜๋ จํ•˜๋ฉฐ ์Šค์Šค๋กœ ์ž๊ธฐ ๊ณ„๋ฐœ์„ ํ•˜๋Š” ๊ธฐํšŒ๋ฅผ ๋งˆ๋ จํ•˜๋Š” ๋‚˜๋งŒ์˜ ํ”„๋กœ์ ํŠธ

์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ๋Š” ํŒ€์› ๊ฐ„์˜ ํ˜‘์—…๊ณผ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ, ๋ชจ์ง‘๋ถ€ํ„ฐ ์‹ค์ œ ์‹คํ–‰, ์™„์„ฑ๊นŒ์ง€ ๊ฝค ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด์— ์‚ฌ์šฉ๋˜๋˜ ํŒ€์› ๋งค์นญ ํ”Œ๋žซํผ์ธ ๋น„์‚ฌ์ด๋“œ๋Š” ํŒ€ ๊ตฌ์„ฑ์— ์šฉ์ดํ•˜์ง€๋งŒ, ์ดํ›„์˜ ํ˜‘์—…๊ณผ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Jira๋Š” ์ฒด๊ณ„์ ์ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ๋„์™€์ฃผ์ง€๋งŒ, ํŒ€์› ๋ชจ์ง‘์ด๋‚˜ ๋งค์นญ ๊ธฐ๋Šฅ์€ ์ „ํ˜€ ์ œ๊ณตํ•˜์ง€ ์•Š์•„ ์ดˆ๊ธฐ ํŒ€ ๊ตฌ์„ฑ์— ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋‘ ํ”Œ๋žซํผ์˜ ์•„์‰ฌ์šด ์ ์„ ๋ณด์™„ํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์žฅ์ ๋งŒ์„ ์‚ด๋ ค ํŒ€์› ๋งค์นญ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๊นŒ์ง€ ํ•œ ๋ฒˆ์— ๊ฐ€๋Šฅํ•œ ์˜ฌ์ธ์› ํ”Œ๋žซํผ, Pick์ด ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Pick์€ ํšจ์œจ์ ์ธ ํŒ€ ๊ตฌ์„ฑ๊ณผ ์œ ์—ฐํ•œ ํ˜‘์—…, ์ฒด๊ณ„์ ์ธ ์ง„ํ–‰ ๊ด€๋ฆฌ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜์—ฌ, ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ์™„์„ฑ๊นŒ์ง€ ๋ชจ๋“  ๊ณผ์ •์„ ๋” ์‰ฝ๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.


๐Ÿ› ๏ธ ์ฃผ์š” ๊ธฐ๋Šฅ


๋งค์นญ์„ ํฌ๋งํ•˜๋Š” ํšŒ์›์ด ๋งค์นญ์„ ์‹ ์ฒญํ•˜๋ฉด, ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋œ ๋ฐฉ์˜ ๋ ˆ๋ฒจ๊ณผ ๋น„๊ตํ•˜์—ฌ ๋ ˆ๋ฒจ ๋ฒ”์œ„์— ๋งž๋Š” ๋ฐฉ์— ์‹ ์ฒญ์ž ๋งค์นญ


ํ”„๋กœ์ ํŠธ ๋ฐฉ์ด ์ƒ์„ฑ๋˜๋ฉด, ์ฐธ๊ฐ€์ž์—๊ฒŒ ๋ฌธ์„œํ™”์™€ ์ผ์ • ๊ด€๋ฆฌ ์„œ๋น„์Šค ์ œ๊ณต.
ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚˜๋ฉด ๊ฐ ํŒ€์›์€ ํ”„๋กœ์ ํŠธ์™€ ์„œ๋กœ์— ๋Œ€ํ•œ ํ›„๊ธฐ ์ž‘์„ฑ -> ํฌํŠธํด๋ฆฌ์˜ค & ํ”ผ๋“œ๋ฐฑ์ด ๋จ


๋งค์ผ๋งค์ผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ๊ธฐ ๋ชฉํ‘œ ๋ถ€์—ฌ -> ์ผ์ • ํšŸ์ˆ˜ ๋ฐ˜๋ณต ์‹œ ๋„์ „ ๊ณผ์ œ ๋‹ฌ์„ฑ -> ์—…์  ๋ฑƒ์ง€ ์ œ๊ณต
๊ฒฝ๋ ฅ, ์ „๊ณต, ์ž๊ฒฉ์ฆ ๋“ฑ ์ŠคํŽ™ ์ฆ๋ช… ์‹œ ์ŠคํŽ™ ๋ฑƒ์ง€ ์ œ๊ณต

๐Ÿ“… WBS

๐Ÿ”— WBS ์ž์„ธํžˆ ๋ณด๊ธฐ



๐Ÿ™†โ€โ™€๏ธ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ

๐Ÿ”— ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ ์ž์„ธํžˆ ๋ณด๊ธฐ




๐Ÿ’ญ DDD ์„ค๊ณ„

1. Domain event storming



์„ค๊ณ„ ๊ณผ์ •
  • ์ด๋ฒคํŠธ ์ถ”์ถœ

  • 1์ฐจ ์„ค๊ณ„

  • 2์ฐจ ์„ค๊ณ„


2. Context Map



๐Ÿ—ƒ๏ธ DB ๋ชจ๋ธ๋ง

1. ๋…ผ๋ฆฌ ๋ชจ๋ธ๋ง


2. ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง


3. ํ…Œ์ด๋ธ” ์ƒ์„ฑ

DDL
-- ----------------- ๊ธฐ์กด ํ…Œ์ด๋ธ” ์‚ญ์ œ ----------------- --
-- ์™ธ๋ž˜ ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด์„ ๋ฌด์‹œํ•˜์—ฌ ํ…Œ์ด๋ธ” ์‚ญ์ œ
SET FOREIGN_KEY_CHECKS = 0;

-- member
DROP TABLE IF EXISTS MEMBER CASCADE;
DROP TABLE IF EXISTS MEMBER_PROFILE_PAGE CASCADE;
DROP TABLE IF EXISTS MEMBER_PROGRAMMING_LANGUAGE CASCADE;
DROP TABLE IF EXISTS PROGRAMMING_LANGUAGE CASCADE;

-- challenge
DROP TABLE IF EXISTS MEMBER_BADGE CASCADE;
DROP TABLE IF EXISTS MEMBER_DAILY_MISSION CASCADE;
DROP TABLE IF EXISTS MEMBER_ACHIEVEMENT CASCADE;
DROP TABLE IF EXISTS BADGE CASCADE;
DROP TABLE IF EXISTS DAILY_MISSION CASCADE;
DROP TABLE IF EXISTS ACHIEVEMENT CASCADE;
DROP TABLE IF EXISTS CHALLENGE CASCADE;

-- matching
DROP TABLE IF EXISTS MATCHING_ENTRY CASCADE;
DROP TABLE IF EXISTS MATCHING CASCADE;
DROP TABLE IF EXISTS TECHNOLOGY_CATEGORY CASCADE;

-- post
DROP TABLE IF EXISTS POST_IMAGE CASCADE;
DROP TABLE IF EXISTS COMMENT CASCADE;
DROP TABLE IF EXISTS POST CASCADE;

-- project
DROP TABLE IF EXISTS PROJECT_MEETING_IMAGE CASCADE; -- ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ก ์‚ฌ์ง„
DROP TABLE IF EXISTS PROJECT_MEETING CASCADE; -- ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ก
DROP TABLE IF EXISTS PROJECT_REVIEW CASCADE; -- ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ
DROP TABLE IF EXISTS MEMBER_REVIEW CASCADE; -- ํšŒ์› ํ›„๊ธฐ
DROP TABLE IF EXISTS PARTICIPANT CASCADE; -- ํ”„๋กœ์ ํŠธ ํŒ€์›
DROP TABLE IF EXISTS PROJECT_ROOM CASCADE; -- ํ”„๋กœ์ ํŠธ ๋ฐฉ

-- report
DROP TABLE IF EXISTS REPORT CASCADE;
DROP TABLE IF EXISTS REPORT_REASON CASCADE;
DROP TABLE IF EXISTS REGULATION CASCADE;

SET FOREIGN_KEY_CHECKS = 1;

-- ----------------- ํ…Œ์ด๋ธ” ์ƒˆ๋กœ ์ƒ์„ฑ ----------------- --
CREATE TABLE IF NOT EXISTS MEMBER
(
    id             INTEGER      NOT NULL AUTO_INCREMENT
    ,   name           VARCHAR(255) NOT NULL
    ,   age            INTEGER      NOT NULL
    ,   ihidnum        VARCHAR(255) NOT NULL UNIQUE
    ,   phone_number   VARCHAR(255) NOT NULL UNIQUE
    ,   email          VARCHAR(255) NOT NULL UNIQUE
    ,   password       VARCHAR(255) NOT NULL
    ,   nickname       VARCHAR(255) NOT NULL UNIQUE
    ,   status         TINYINT      NOT NULL COMMENT 'ํ™œ์„ฑํ™”, ๋น„ํ™œ์„ฑํ™”(์ •์ง€), ํƒˆํ‡ด ํ•œ๋ฒˆ์— ๊ด€๋ฆฌ (Enum)'
    ,   regulated_count INTEGER      NOT NULL COMMENT '์กฐํšŒ ๋œํ•˜๊ธฐ ์œ„ํ•ด ํšŒ์› ํ…Œ์ด๋ธ” ์†์„ฑ ์ถ”๊ฐ€'
    ,   user_grant     TINYINT      NOT NULL COMMENT 'ADMIN, MEMBER'
    ,   CONSTRAINT pk_member_id PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS MEMBER_PROFILE_PAGE
(
    id               INTEGER      NOT NULL AUTO_INCREMENT
    ,   exp              INTEGER      NOT NULL
    ,   level            INTEGER      NOT NULL
    ,   introduce        TEXT         NULL
    ,   preferred_area   VARCHAR(255) NULL
    ,   git_address      VARCHAR(255) NULL UNIQUE
    ,   score            INTEGER      NULL
    ,   image_path       VARCHAR(255) NULL UNIQUE
    ,   member_id        INTEGER      NOT NULL
    ,   CONSTRAINT pk_member_profile_page_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_member_profile_page_member_id FOREIGN KEY (member_id) REFERENCES MEMBER (id)
);

CREATE TABLE IF NOT EXISTS PROGRAMMING_LANGUAGE
(
    id         INTEGER      NOT NULL AUTO_INCREMENT
    ,   language   VARCHAR(255) NOT NULL UNIQUE
    ,   is_deleted VARCHAR(4)   NOT NULL DEFAULT 'N'
    ,   CONSTRAINT pk_programming_language_id PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS MEMBER_PROGRAMMING_LANGUAGE
(
    id                      INTEGER NOT NULL AUTO_INCREMENT
    ,   programming_language_id INTEGER NOT NULL
    ,   member_profile_page_id  INTEGER NOT NULL
    ,   CONSTRAINT pk_member_programming_language_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_member_programming_language_programming_language_id FOREIGN KEY (programming_language_id) REFERENCES PROGRAMMING_LANGUAGE (id)
    ,   CONSTRAINT fk_member_programming_member_profile_page_id FOREIGN KEY (member_profile_page_id) REFERENCES MEMBER_PROFILE_PAGE (id)
);


-- ์ฑŒ๋ฆฐ์ง€ ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS CHALLENGE
(
    id   INTEGER      NOT NULL AUTO_INCREMENT
    ,   name VARCHAR(255) NOT NULL
    ,   CONSTRAINT pk_challenge_id PRIMARY KEY (id)
    ,   CONSTRAINT uni_challenge_name UNIQUE (name)
);

-- ๋„์ „ ๊ณผ์ œ ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS ACHIEVEMENT
(
    id           INTEGER    NOT NULL AUTO_INCREMENT
    ,   requirement  INTEGER    NOT NULL
    ,   exp          INTEGER    NOT NULL
    ,   is_deleted   VARCHAR(4) NOT NULL DEFAULT 'N'
    ,   challenge_id INTEGER    NOT NULL
    ,   CONSTRAINT pk_achievement_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_achievement_challenge_id FOREIGN KEY (challenge_id) REFERENCES challenge(id)
);

-- ์ผ์ผ ๋ฏธ์…˜ ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS DAILY_MISSION
(
    id           INTEGER      NOT NULL AUTO_INCREMENT
    ,   content      TEXT         NOT NULL
    ,   exp_point    INTEGER      NOT NULL
    ,   is_deleted   VARCHAR(4)   NOT NULL DEFAULT 'N'
    ,   challenge_id INTEGER      NOT NULL
    ,   CONSTRAINT pk_daily_mission_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_daily_mission_challenge_id FOREIGN KEY (challenge_id) REFERENCES challenge(id)
);

-- ๋ฑƒ์ง€ ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS BADGE
(
    id           INTEGER    NOT NULL AUTO_INCREMENT
    ,   requirement  INTEGER
    ,   advantage    INTEGER    NOT NULL
    ,   description  TEXT       NOT NULL
    ,   is_deleted   VARCHAR(4) NOT NULL DEFAULT 'N'
    ,   challenge_id INTEGER    NOT NULL
    ,   CONSTRAINT pk_badge_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_badge_challenge_id FOREIGN KEY (challenge_id) REFERENCES challenge(id)
);

-- ํšŒ์›๋ณ„ ๋„์ „ ๊ณผ์ œ ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS MEMBER_ACHIEVEMENT
(
    id             INTEGER       NOT NULL AUTO_INCREMENT
    ,   achieved_date  VARCHAR(255)
    ,   progress       INTEGER
    ,   achieved_time  INTEGER
    ,   achievement_id INTEGER       NOT NULL
    ,   member_id      INTEGER       NOT NULL
    ,   CONSTRAINT pk_member_achievement_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_member_achievement_achievement_id FOREIGN KEY (achievement_id) REFERENCES achievement(id)
    ,   CONSTRAINT fk_member_achievement_member_id FOREIGN KEY (member_id) REFERENCES member(id)
    ,   CONSTRAINT uni_member_achievement UNIQUE (member_id, achievement_id)
);

-- ํšŒ์›๋ณ„ ์ผ์ผ ๋ฏธ์…˜ ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS MEMBER_DAILY_MISSION
(
    id               INTEGER       NOT NULL AUTO_INCREMENT
    ,   is_completed     VARCHAR(4)    NOT NULL DEFAULT 'N'
    ,   accepted_date   VARCHAR(255)
    ,   daily_mission_id INTEGER       NOT NULL
    ,   member_id        INTEGER       NOT NULL
    ,   CONSTRAINT pk_member_daily_mission_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_member_daily_mission_daily_mission_id FOREIGN KEY (daily_mission_id) REFERENCES daily_mission(id)
    ,   CONSTRAINT fk_member_daily_mission_member_id FOREIGN KEY (member_id) REFERENCES member(id)
);

-- ํšŒ์›๋ณ„ ๋ฑƒ์ง€ ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS MEMBER_BADGE
(
    id            INTEGER      NOT NULL AUTO_INCREMENT
    ,   acquired_date VARCHAR(255) NOT NULL
    ,   level         INTEGER      NOT NULL
    ,   badge_id      INTEGER      NOT NULL
    ,   member_id     INTEGER      NOT NULL
    ,   CONSTRAINT pk_member_badge_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_member_badge_badge_id FOREIGN KEY (badge_id) REFERENCES badge(id)
    ,   CONSTRAINT fk_member_badge_member_id FOREIGN KEY (member_id) REFERENCES member(id)
    ,   CONSTRAINT uni_member_badge UNIQUE (member_id, badge_id)
);


CREATE TABLE IF NOT EXISTS TECHNOLOGY_CATEGORY
(
    id                         INTEGER      NOT NULL AUTO_INCREMENT
    , name                       VARCHAR(255) NOT NULL
    , is_deleted                 VARCHAR(4)   NOT NULL DEFAULT 'N'
    , ref_technology_category_id INTEGER      NULL
    , CONSTRAINT pk_id PRIMARY KEY (id)
    , CONSTRAINT fk_ref_technology_category_id FOREIGN KEY (ref_technology_category_id) REFERENCES TECHNOLOGY_CATEGORY (id) ON DELETE CASCADE
);

CREATE TABLE IF NOT EXISTS MATCHING
(
  id                     INTEGER      NOT NULL AUTO_INCREMENT
, created_date_at        VARCHAR(255) NOT NULL
, is_completed           VARCHAR(4)   NOT NULL DEFAULT 'N'
, is_deleted               VARCHAR(4) NOT NULL DEFAULT 'N'
, maximum_participant INTEGER NOT NULL DEFAULT 5
, current_participant INTEGER NOT NULL DEFAULT 1
, duration_time          INTEGER      NOT NULL DEFAULT 3
, level_range            INTEGER      NOT NULL DEFAULT 5
, member_id              INTEGER      NOT NULL
, technology_category_id INTEGER      NOT NULL
, CONSTRAINT pk_id PRIMARY KEY (id)
, CONSTRAINT fk_matching_member_id FOREIGN KEY (member_id) REFERENCES MEMBER (id)
, CONSTRAINT fk_matching_technology_category_id FOREIGN KEY (technology_category_id) REFERENCES TECHNOLOGY_CATEGORY (id)
);

CREATE TABLE IF NOT EXISTS MATCHING_ENTRY
(
    id           INTEGER      NOT NULL AUTO_INCREMENT
    , applied_date_at VARCHAR(255) NOT NULL
    , is_canceled   VARCHAR(4)   NOT NULL DEFAULT 'N'
    , is_accepted VARCHAR(4) NOT NULL DEFAULT 'N'
    , member_id    INTEGER      NOT NULL
    , matching_id  INTEGER      NOT NULL
    , CONSTRAINT pk_id PRIMARY KEY (id)
    , CONSTRAINT fk_matching_entry_member_id FOREIGN KEY (member_id) REFERENCES MEMBER(id)
    , CONSTRAINT fk_matching_entry_matching_id FOREIGN KEY (matching_id) REFERENCES MATCHING(id)
);


CREATE TABLE IF NOT EXISTS POST
(
    id        INT          NOT NULL AUTO_INCREMENT COMMENT '๊ฒŒ์‹œ๊ธ€ ๋ฒˆํ˜ธ'
    ,   title     VARCHAR(255) NOT NULL COMMENT '๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ'
    ,   content   TEXT         NOT NULL COMMENT '๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ'
    ,   category  INT          NOT NULL COMMENT '๊ฒŒ์‹œ๊ธ€ ์นดํ…Œ๊ณ ๋ฆฌ ๋ฒˆํ˜ธ'
    ,   upload_at VARCHAR(255) NOT NULL COMMENT '์ž‘์„ฑ ์‹œ๊ฐ'
    ,   update_at VARCHAR(255) NULL COMMENT '์ˆ˜์ • ์‹œ๊ฐ'
    ,   status    TINYINT      NOT NULL COMMENT 'ํ™œ์„ฑํ™” ์—ฌ๋ถ€ ๊ธฐ๋ณธ: 0, ์‚ญ์ œ: 1, ๊ทœ์ œ: 2'
    ,   member_id INT          NOT NULL COMMENT '๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ์ž'
    ,   CONSTRAINT pk_id PRIMARY KEY (id)
# ,   CONSTRAINT fk_post_member_id FOREIGN KEY (member_id) REFERENCES MEMBER (id)
) ENGINE = INNODB
  AUTO_INCREMENT = 1 COMMENT ='๊ฒŒ์‹œ๊ธ€'
  DEFAULT CHARSET UTF8;

CREATE TABLE IF NOT EXISTS POST_IMAGE
(
    id           INT          NOT NULL AUTO_INCREMENT COMMENT '๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๋ฒˆํ˜ธ'
    ,   image_path   VARCHAR(255) NOT NULL UNIQUE COMMENT 'ํŒŒ์ผ ๊ฒฝ๋กœ'
    ,   renamed_name VARCHAR(255) NOT NULL UNIQUE COMMENT '์ €์žฅ ์ด๋ฆ„'
    ,   is_thumbnail VARCHAR(4)   NOT NULL DEFAULT 'N' COMMENT '์ธ๋„ค์ผ ์—ฌ๋ถ€'
    ,   post_id      INT          NOT NULL COMMENT '๊ฒŒ์‹œ๊ธ€ ๋ฒˆํ˜ธ'
    ,   CONSTRAINT pk_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_post_image_post_id FOREIGN KEY (post_id) REFERENCES POST (id)
) ENGINE = INNODB
  AUTO_INCREMENT = 1 COMMENT ='๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„'
  DEFAULT CHARSET UTF8;

CREATE TABLE IF NOT EXISTS COMMENT
(
    id              INT          NOT NULL AUTO_INCREMENT COMMENT '๋Œ“๊ธ€ ๋ฒˆํ˜ธ'
    ,   is_adopted      VARCHAR(4)   NULL COMMENT '์ฑ„ํƒ ์—ฌ๋ถ€'
    ,   upload_at       VARCHAR(255) NOT NULL COMMENT '์ž‘์„ฑ ์‹œ๊ฐ'
    ,   update_at       VARCHAR(255) NULL COMMENT '์ˆ˜์ • ์‹œ๊ฐ'
    ,   content         TEXT         NOT NULL COMMENT '๋Œ“๊ธ€ ๋‚ด์šฉ'
    ,   status          TINYINT      NOT NULL COMMENT 'ํ™œ์„ฑํ™” ์—ฌ๋ถ€ ๊ธฐ๋ณธ: 0, ์‚ญ์ œ: 1, ๊ทœ์ œ: 2'
    ,   post_id         INT          NOT NULL COMMENT '๊ฒŒ์‹œ๊ธ€ ๋ฒˆํ˜ธ'
    ,   root_comment_id INT          NULL COMMENT '๋ถ€๋ชจ ๋Œ“๊ธ€ ๋ฒˆํ˜ธ'
    ,   member_id       INT          NOT NULL COMMENT '๋Œ“๊ธ€ ์ž‘์„ฑ์ž'
    ,   CONSTRAINT pk_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_comment_post_id FOREIGN KEY (post_id) REFERENCES POST (id)
    ,   CONSTRAINT fk_comment_root_comment_id FOREIGN KEY (root_comment_id) REFERENCES COMMENT (id)
# ,   CONSTRAINT fk_comment_member_id FOREIGN KEY (member_id) REFERENCES MEMBER (id)
) ENGINE = INNODB
  AUTO_INCREMENT = 1 COMMENT ='๋Œ“๊ธ€'
  DEFAULT CHARSET UTF8;


-- ํ”„๋กœ์ ํŠธ ๋ฐฉ ํ…Œ์ด๋ธ”
CREATE TABLE if NOT EXISTS project_room
(
    id                       INTEGER NOT NULL AUTO_INCREMENT     COMMENT 'ํ”„๋กœ์ ํŠธ ๋ฐฉ ๋ฒˆํ˜ธ'
    , name                      VARCHAR(255) NOT NULL             COMMENT 'ํ”„๋กœ์ ํŠธ ์ด๋ฆ„'
    , content TEXT               NOT NULL                     COMMENT 'ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ'
    , is_finished               VARCHAR(4) NOT NULL DEFAULT 'N'       COMMENT 'ํ”„๋กœ์ ํŠธ ์™„๋ฃŒ ์—ฌ๋ถ€'
    , is_deleted                VARCHAR(4) NOT NULL DEFAULT 'N'     COMMENT 'ํ”„๋กœ์ ํŠธ ์‚ญ์ œ ์—ฌ๋ถ€'
    , duration_time             VARCHAR(100) NOT NULL             COMMENT 'ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„'
    , maximum_participant       INTEGER NOT NULL                COMMENT 'ํ”„๋กœ์ ํŠธ ์ตœ๋Œ€ ์ธ์›'
    , session_code              INTEGER NULL UNIQUE               COMMENT '(์ž์œจ๋งค์นญ)ํ”„๋กœ์ ํŠธ ์ž…์žฅ ์ฝ”๋“œ'
    , start_date                VARCHAR(255) NOT NULL             COMMENT 'ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ผ'
    , end_date                  VARCHAR(255) NOT NULL             COMMENT 'ํ”„๋กœ์ ํŠธ ์ข…๋ฃŒ์ผ'
    , technology_category_id    INTEGER NOT NULL                  COMMENT 'ํ”„๋กœ์ ํŠธ ๊ธฐ์ˆ  ๋ถ„๋ฅ˜'
    , thumbnail_image           VARCHAR(255) UNIQUE                 COMMENT 'ํ”„๋กœ์ ํŠธ ์ธ๋„ค์ผ ์ด๋ฏธ์ง€'
    , introduction              TEXT                                COMMENT 'ํ”„๋กœ์ ํŠธ ํ•œ์ค„ ์†Œ๊ฐœ'
    , project_url               VARCHAR(255) UNIQUE                 COMMENT 'ํ”„๋กœ์ ํŠธ ๋งํฌ'
    , CONSTRAINT pk_id PRIMARY KEY (id)
    , CONSTRAINT fk_project_technology_category_id FOREIGN KEY (technology_category_id) REFERENCES TECHNOLOGY_CATEGORY (id)
    , CHECK (maximum_participant > 0)
) ENGINE=INNODB COMMENT 'ํ”„๋กœ์ ํŠธ ๋ฐฉ';


-- ํŒ€์› ํ…Œ์ด๋ธ”
CREATE TABLE if NOT EXISTS PARTICIPANT
(
    id                INTEGER NOT NULL AUTO_INCREMENT     COMMENT 'ํŒ€์› ๋ฒˆํ˜ธ'
    , is_manager        VARCHAR(4) NOT NULL DEFAULT 'N'     COMMENT '๋ฐฉ์žฅ ์—ฌ๋ถ€'
    , project_room_id   INTEGER NOT NULL               COMMENT 'ํ”„๋กœ์ ํŠธ ๋ฐฉ ๋ฒˆํ˜ธ'
    , member_id         INTEGER NOT NULL               COMMENT 'ํšŒ์› ๋ฒˆํ˜ธ'
    , CONSTRAINT pk_id PRIMARY KEY (id)
    , CONSTRAINT fk_participant_project_room_id FOREIGN KEY (project_room_id) REFERENCES PROJECT_ROOM (id)
    , CONSTRAINT fk_participant_member_id FOREIGN KEY (member_id) REFERENCES MEMBER (id)
    , UNIQUE (project_room_id, member_id)
);


-- ํŒ€์› ํ›„๊ธฐ ํ…Œ์ด๋ธ”
CREATE TABLE if NOT EXISTS MEMBER_REVIEW
(
    id           INTEGER NOT NULL AUTO_INCREMENT                   COMMENT 'ํŒ€์› ํ›„๊ธฐ ๋ฒˆํ˜ธ'
    , rate          INTEGER NOT NULL                                    COMMENT 'ํŒ€์› ํ›„๊ธฐ ํ‰์ (1~5)'
    , content       TEXT                                        COMMENT 'ํŒ€์› ํ›„๊ธฐ ๋‚ด์šฉ'
    , reviewer_id   INTEGER NOT NULL                             COMMENT 'ํ›„๊ธฐ ์ž‘์„ฑ์ž'
    , reviewee_id   INTEGER NOT NULL                             COMMENT 'ํ›„๊ธฐ ๋Œ€์ƒ์ž'
    , CONSTRAINT pk_id PRIMARY KEY (id)
    , CONSTRAINT fk_member_review_reviewer_id FOREIGN KEY (reviewer_id) REFERENCES PARTICIPANT (id)
    , CONSTRAINT fk_member_review_reviewee_id FOREIGN KEY (reviewee_id) REFERENCES PARTICIPANT (id)
    , CONSTRAINT chk_range_of_rate CHECK (rate >= 1 AND rate <= 5)
);



-- ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ ํ…Œ์ด๋ธ”
CREATE TABLE if NOT EXISTS PROJECT_REVIEW
(
    id               INTEGER NOT NULL AUTO_INCREMENT         COMMENT 'ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ ๋ฒˆํ˜ธ'
    , reviewer_id       INTEGER NOT NULL                  COMMENT 'ํ›„๊ธฐ ์ž‘์„ฑ์ž'
    , content TEXT       NOT NULL                        COMMENT 'ํ›„๊ธฐ ๋‚ด์šฉ'
    , project_room_id   INTEGER NOT NULL
    , CONSTRAINT pk_id PRIMARY KEY (id)
    , CONSTRAINT fk_project_review_project_room_id  FOREIGN KEY (project_room_id) REFERENCES PROJECT_ROOM (id)
    , CONSTRAINT fk_preojct_review_reviewer_id  FOREIGN KEY (reviewer_id) REFERENCES PARTICIPANT (id)
);


-- ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ก
CREATE TABLE if NOT EXISTS PROJECT_MEETING
(
    id                INTEGER NOT NULL AUTO_INCREMENT     COMMENT 'ํšŒ์˜๋ก ๋ฒˆํ˜ธ'
    , project_room_id   INTEGER NOT NULL               COMMENT 'ํ”„๋กœ์ ํŠธ ๋ฐฉ ๋ฒˆํ˜ธ'
    , title             VARCHAR(255) NOT NULL            COMMENT 'ํšŒ์˜๋ก ์ œ๋ชฉ'
    , content TEXT       NOT NULL                     COMMENT 'ํšŒ์˜๋ก ๋‚ด์šฉ'
    , author_id           INTEGER NOT NULL                COMMENT 'ํšŒ์˜๋ก ์ž‘์„ฑ์ž'
    , upload_time       VARCHAR(255) NOT NULL            COMMENT '์ž‘์„ฑ์ผ'
    , update_time       VARCHAR(255)                     COMMENT '์ˆ˜์ •์ผ'
    , CONSTRAINT pk_id PRIMARY KEY (id)
    , CONSTRAINT fk_project_meeting_member FOREIGN KEY(author_id) REFERENCES MEMBER(id)
    , CONSTRAINT fk_proejct_meeting_project_room_id FOREIGN KEY (project_room_id) REFERENCES PROJECT_ROOM (id)
);


-- ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ก ์‚ฌ์ง„
CREATE TABLE if NOT EXISTS project_meeting_image
(
    id                INTEGER NOT NULL AUTO_INCREMENT     COMMENT 'ํšŒ์˜๋ก ์‚ฌ์ง„ ๋ฒˆํ˜ธ'
    , image_path        VARCHAR(255) NOT NULL             COMMENT '์‚ฌ์ง„ ๊ฒฝ๋กœ'
    , image_name        VARCHAR(255) NOT NULL            COMMENT '์žฌ์ •์˜ ์‚ฌ์ง„๋ช…'
    , is_thumbnail      VARCHAR(4) NOT NULL DEFAULT 'N'     COMMENT '์ธ๋„ค์ผ ์—ฌ๋ถ€'
    , meeting_id        INTEGER NOT NULL               COMMENT 'ํšŒ์˜๋ก ๋ฒˆํ˜ธ'
    , CONSTRAINT pk_id PRIMARY KEY (id)
    , CONSTRAINT fk_project_meeting_image_meeting_id FOREIGN KEY (meeting_id) REFERENCES PROJECT_MEETING (id)
);


DESC PROJECT_MEETING_IMAGE;    -- ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ก ์‚ฌ์ง„
DESC PROJECT_MEETING;        -- ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ก
DESC PROJECT_REVIEW;        -- ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ
DESC PROJECT_MEETING;        -- ํ”„๋กœ์ ํŠธ ํšŒ์˜๋ก
DESC MEMBER_REVIEW;            -- ํšŒ์› ํ›„๊ธฐ
DESC PARTICIPANT;            -- ํ”„๋กœ์ ํŠธ ํŒ€์›
DESC PROJECT_ROOM;            -- ํ”„๋กœ์ ํŠธ ๋ฐฉ

-- REPORT_REASON ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS REPORT_REASON
(
    id          INT  AUTO_INCREMENT         COMMENT '์‹ ๊ณ  ์‚ฌ์œ  ๋ฒˆํ˜ธ'
    ,   reason      TEXT NOT NULL UNIQUE        COMMENT '์‹ ๊ณ  ์‚ฌ์œ ๋ช…'
    ,   CONSTRAINT pk_id PRIMARY KEY (id)
);

-- REPORT ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS REPORT
(
    id                  INT AUTO_INCREMENT                      COMMENT '์‹ ๊ณ  ๋ฒˆํ˜ธ'
    ,   reported_at         VARCHAR(255) NOT NULL                   COMMENT '์‹ ๊ณ  ์‹ ์ฒญ์ผ์‹œ'
    ,   status              TINYINT NOT NULL DEFAULT 0              COMMENT '์ฒ˜๋ฆฌ ์ƒํƒœ (ENUM("์ฒ˜๋ฆฌ์ค‘", "๋ณด๋ฅ˜", "์Šน์ธ"))'
    ,   category            TINYINT NOT NULL                        COMMENT '์‹ ๊ณ  ์œ ํ˜• (ENUM("ํšŒ์›", "๊ฒŒ์‹œ๊ธ€", "๋Œ“๊ธ€"))'
    ,   reported_id         INTEGER NOT NULL                        COMMENT '์‹ ๊ณ  ๋Œ€์ƒ id'
    ,   is_deleted          VARCHAR(4) NOT NULL DEFAULT 'N'         COMMENT '์‹ ๊ณ  ์‚ญ์ œ ์—ฌ๋ถ€'
    ,   report_reason_id    INTEGER NOT NULL                        COMMENT '์‹ ๊ณ  ์‚ฌ์œ  ๋ฒˆํ˜ธ'
    ,   member_id           INTEGER NOT NULL                        COMMENT '์‹ ๊ณ  ์‹ ์ฒญ์ž'
    ,   CONSTRAINT pk_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_report_report_reason_id FOREIGN KEY (report_reason_id) REFERENCES REPORT_REASON (id)
    ,   CONSTRAINT fk_report_member_id FOREIGN KEY (member_id) REFERENCES MEMBER (id)
);

-- REGULATION ํ…Œ์ด๋ธ”
CREATE TABLE IF NOT EXISTS REGULATION
(
    id              INT AUTO_INCREMENT                      COMMENT '๊ทœ์ œ ๋ฒˆํ˜ธ'
    ,   start_date      VARCHAR(255) NOT NULL                   COMMENT '์‹œ์ž‘ ๋‚ ์งœ'
    ,   end_date        VARCHAR(255) NOT NULL                   COMMENT '์ข…๋ฃŒ ๋‚ ์งœ'
    ,   is_deleted      VARCHAR(4) NOT NULL DEFAULT 'N'         COMMENT '์‹ ๊ณ  ์‚ญ์ œ ์—ฌ๋ถ€'
    ,   member_id       INTEGER NOT NULL                        COMMENT '๊ทœ์ œ ๋Œ€์ƒ ํšŒ์›'
    ,   CONSTRAINT pk_id PRIMARY KEY (id)
    ,   CONSTRAINT fk_regulation_member_id FOREIGN KEY (member_id) REFERENCES MEMBER (id)
);
DML
INSERT INTO MEMBER (name, age, ihidnum, phone_number, email, password, nickname, status, regulated_count, user_grant)
VALUES ('๊น€๋ฏผ์ˆ˜', 25, '950101-1234567', '010-1234-5678', 'minsu1@naver.com', 'Pass1234', '๋ฏผ์ˆ˜ํ‚น', 0, 1, 0),
       ('์ด์˜ํฌ', 30, '930215-2345678', '010-2345-6789', 'younghee2@gmail.com', 'Young567', '์˜ํฌ์งฑ', 1, 0, 0),
       ('๋ฐ•์ง€ํ›ˆ', 28, '970430-3456789', '010-3456-7890', 'jihoon3@daum.net', 'Jihoon89', 'ํ›ˆ์ด', 0, 2, 0),
       ('์ตœ์ˆ˜์ง„', 22, '990812-4567890', '010-4567-8901', 'sujin4@yahoo.com', 'Sujin101', '์ˆ˜์ง„์ด', 2, 0, 1),
       ('๊ฐ•ํƒœ์šฐ', 35, '880527-5678901', '010-5678-9012', 'taewoo5@kakao.com', 'Tae12345', 'ํƒœ์šฐ๋‹˜', 0, 3, 0),
       ('์œค์„œ์—ฐ', 27, '960615-1234567', '010-6789-0123', 'seoyeon6@naver.com', 'Seo1234', '์„œ์—ฐ', 0, 1, 0),
       ('์ •ํ•˜๋Š˜', 33, '910309-2345678', '010-7890-1234', 'haneul7@gmail.com', 'Haneul56', 'ํ•˜๋Š˜๋‹˜', 1, 2, 0),
       ('ํ•œ์ง€๋ฏผ', 24, '980722-3456789', '010-8901-2345', 'jimin8@daum.net', 'Jimin78', '์ง€๋ฏผ์ด', 0, 0, 0),
       ('์˜ค์ค€์˜', 29, '940115-4567890', '010-9012-3456', 'junyoung9@yahoo.com', 'Jun123', '์ค€์˜', 2, 1, 0),
       ('์‹ ๋™ํ˜„', 31, '920831-5678901', '010-0123-4567', 'donghyun10@kakao.com', 'Dong567', '๋™ํ˜„', 0, 3, 1),
       ('๊น€์ง€์˜', 26, '950207-1234567', '010-1111-2222', 'jiyoung11@naver.com', 'Ji12345', '์ง€์˜์ด', 0, 0, 0),
       ('์ด์ˆ˜ํ˜„', 32, '910514-2345678', '010-2222-3333', 'suhyun12@gmail.com', 'Su5678', '์ˆ˜ํ˜„๋‹˜', 1, 2, 0),
       ('๋ฐ•๋ฏผ์žฌ', 23, '980928-3456789', '010-3333-4444', 'minjae13@daum.net', 'Min901', '๋ฏผ์žฌ', 0, 1, 0),
       ('์ตœ์œค์•„', 28, '960312-4567890', '010-4444-5555', 'yuna14@yahoo.com', 'Yuna123', '์œค์•„์งฑ', 2, 0, 0),
       ('๊ฐ•๋„ํ›ˆ', 34, '890619-5678901', '010-5555-6666', 'dohoon15@kakao.com', 'Do5678', '๋„ํ›ˆ', 0, 3, 1),
       ('์œค์ง€์šฐ', 21, '000101-1234567', '010-6666-7777', 'jiwoo16@naver.com', 'Jiwoo12', '์ง€์šฐ', 0, 1, 0),
       ('์ •์†Œ์—ฐ', 29, '940225-2345678', '010-7777-8888', 'soyeon17@gmail.com', 'Soy123', '์†Œ์—ฐ์ด', 1, 0, 0),
       ('ํ•œํƒœํฌ', 27, '970808-3456789', '010-8888-9999', 'taehee18@daum.net', 'Tae567', 'ํƒœํฌ', 0, 2, 0),
       ('์˜ค์„ธ์ง„', 33, '910915-4567890', '010-9999-0000', 'sejin19@yahoo.com', 'Sej123', '์„ธ์ง„๋‹˜', 2, 1, 0),
       ('์‹ ํ•˜์˜', 25, '960502-5678901', '010-0000-1111', 'hayoung20@kakao.com', 'Hay567', 'ํ•˜์˜', 0, 0, 0),
       ('๊น€์˜์ˆ˜', 30, '930710-1234567', '010-1212-3434', 'youngsoo21@naver.com', 'Young12', '์˜์ˆ˜ํ‚น', 0, 3, 1),
       ('์ด์žฌํ›ˆ', 28, '950824-2345678', '010-2323-4545', 'jaehoon22@gmail.com', 'Jae567', '์žฌํ›ˆ', 1, 2, 0),
       ('๋ฐ•์†Œ์˜', 24, '990106-3456789', '010-3434-5656', 'soyoung23@daum.net', 'Soy123', '์†Œ์˜์ด', 0, 0, 0),
       ('์ตœ๋ฏผํ˜ธ', 31, '920413-4567890', '010-4545-6767', 'minho24@yahoo.com', 'Min567', '๋ฏผํ˜ธ', 2, 1, 0),
       ('๊ฐ•์ง€ํ˜„', 26, '950527-5678901', '010-5656-7878', 'jihyeon25@kakao.com', 'Ji1234', '์ง€ํ˜„๋‹˜', 0, 2, 0),
       ('์œคํƒœ์˜', 32, '910701-1234567', '010-6767-8989', 'taeyoung26@naver.com', 'Tae567', 'ํƒœ์˜', 1, 0, 0),
       ('์ •๋ฏผ์ˆ˜', 23, '980814-2345678', '010-7878-9090', 'minsu27@gmail.com', 'Min123', '๋ฏผ์ˆ˜', 0, 3, 1),
       ('ํ•œ์„œ์ง„', 29, '940927-3456789', '010-8989-0101', 'seojin28@daum.net', 'Seo567', '์„œ์ง„์ด', 2, 1, 0),
       ('์˜ค์ง€ํ›ˆ', 35, '890210-4567890', '010-9090-1212', 'jihoon29@yahoo.com', 'Ji1234', '์ง€ํ›ˆ๋‹˜', 0, 0, 0),
       ('์‹ ์œค์„œ', 27, '960323-5678901', '010-0101-2323', 'yoonseo30@kakao.com', 'Yoon567', '์œค์„œ', 0, 2, 0);
INSERT INTO MEMBER_PROFILE_PAGE (exp, level, introduce, preferred_area, git_address, score, image_path, member_id)
VALUES (1500, 3, '์•ˆ๋…•ํ•˜์„ธ์š”, ๊น€๋ฏผ์ˆ˜์ž…๋‹ˆ๋‹ค.', '์„œ์šธ', 'https://github.com/minsu1', 85, '/images/minsu1.jpg', 1),
       (2000, 4, '์ฝ”๋”ฉ ์ข‹์•„ํ•˜๋Š” ์ด์˜ํฌ์˜ˆ์š”.', '๋ถ€์‚ฐ', 'https://github.com/younghee2', 90, '/images/younghee2.png', 2),
       (800, 2, NULL, '๋Œ€๊ตฌ', 'https://github.com/jihoon3', 70, '/images/jihoon3.jpg', 3),
       (500, 1, '์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ตœ์ˆ˜์ง„์ž…๋‹ˆ๋‹ค.', NULL, 'https://github.com/sujin4', NULL, NULL, 4),
       (3000, 5, '๊ฐ•ํƒœ์šฐ, 10๋…„์ฐจ ๊ฐœ๋ฐœ์ž.', '์ธ์ฒœ', 'https://github.com/taewoo5', 95, '/images/taewoo5.jpeg', 5),
       (1200, 3, '์œค์„œ์—ฐ์ด์—์š”!', '๊ด‘์ฃผ', 'https://github.com/seoyeon6', 80, '/images/seoyeon6.jpg', 6),
       (1800, 4, '์ •ํ•˜๋Š˜์ž…๋‹ˆ๋‹ค.', '๋Œ€์ „', 'https://github.com/haneul7', 88, '/images/haneul7.png', 7),
       (600, 2, NULL, '์šธ์‚ฐ', 'https://github.com/jimin8', 65, '/images/jimin8.jpg', 8),
       (900, 2, '์˜ค์ค€์˜, ์—ด์ •์ ์ธ ๊ฐœ๋ฐœ์ž.', '์ œ์ฃผ', 'https://github.com/junyoung9', 75, '/images/junyoung9.jpeg', 9),
       (2500, 5, '์‹ ๋™ํ˜„์ž…๋‹ˆ๋‹ค.', '์„œ์šธ', 'https://github.com/donghyun10', 92, '/images/donghyun10.png', 10),
       (1400, 3, '๊น€์ง€์˜์ด์—์š”.', '๋ถ€์‚ฐ', 'https://github.com/jiyoung11', 82, '/images/jiyoung11.jpg', 11),
       (1700, 4, NULL, '๋Œ€๊ตฌ', 'https://github.com/suhyun12', 87, '/images/suhyun12.png', 12),
       (700, 2, '๋ฐ•๋ฏผ์žฌ์ž…๋‹ˆ๋‹ค.', '์ธ์ฒœ', 'https://github.com/minjae13', 68, '/images/minjae13.jpg', 13),
       (1100, 3, '์ตœ์œค์•„, ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด.', NULL, 'https://github.com/yuna14', 78, '/images/yuna14.jpeg', 14),
       (2800, 5, '๊ฐ•๋„ํ›ˆ์ด์—์š”.', '์„œ์šธ', 'https://github.com/dohoon15', 94, '/images/dohoon15.png', 15),
       (400, 1, '์œค์ง€์šฐ, ์‹ ์ž…์ด์—์š”.', '๋ถ€์‚ฐ', 'https://github.com/jiwoo16', NULL, NULL, 16),
       (1300, 3, NULL, '๋Œ€์ „', 'https://github.com/soyeon17', 83, '/images/soyeon17.jpg', 17),
       (1000, 2, 'ํ•œํƒœํฌ์ž…๋‹ˆ๋‹ค.', '๊ด‘์ฃผ', 'https://github.com/taehee18', 77, '/images/taehee18.png', 18),
       (1600, 4, '์˜ค์„ธ์ง„์ด์—์š”.', '์šธ์‚ฐ', 'https://github.com/sejin19', 86, '/images/sejin19.jpeg', 19),
       (2200, 4, '์‹ ํ•˜์˜, ์—ด์‹ฌํžˆ ์ฝ”๋”ฉ์ค‘!', '์ œ์ฃผ', 'https://github.com/hayoung20', 89, '/images/hayoung20.jpg', 20),
       (1900, 4, '๊น€์˜์ˆ˜์ž…๋‹ˆ๋‹ค.', '์„œ์šธ', 'https://github.com/youngsoo21', 91, '/images/youngsoo21.png', 21),
       (300, 1, NULL, '๋ถ€์‚ฐ', 'https://github.com/jaehoon22', NULL, NULL, 22),
       (850, 2, '๋ฐ•์†Œ์˜์ด์—์š”.', '๋Œ€๊ตฌ', 'https://github.com/soyoung23', 72, '/images/soyoung23.jpg', 23),
       (1450, 3, '์ตœ๋ฏผํ˜ธ์ž…๋‹ˆ๋‹ค.', '์ธ์ฒœ', 'https://github.com/minho24', 84, '/images/minho24.jpeg', 24),
       (2700, 5, '๊ฐ•์ง€ํ˜„, ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.', '์„œ์šธ', 'https://github.com/jihyeon25', 93, '/images/jihyeon25.png', 25),
       (950, 2, NULL, '๊ด‘์ฃผ', 'https://github.com/taeyoung26', 76, '/images/taeyoung26.jpg', 26),
       (1750, 4, '์ •๋ฏผ์ˆ˜์˜ˆ์š”.', '๋Œ€์ „', 'https://github.com/minsu27', 88, '/images/minsu27.png', 27),
       (650, 2, 'ํ•œ์„œ์ง„์ž…๋‹ˆ๋‹ค.', '์šธ์‚ฐ', 'https://github.com/seojin28', 69, '/images/seojin28.jpeg', 28),
       (2000, 4, '์˜ค์ง€ํ›ˆ์ด์—์š”.', '์ œ์ฃผ', 'https://github.com/jihoon29', 90, '/images/jihoon29.jpg', 29),
       (1250, 3, '์‹ ์œค์„œ, ์ฝ”๋”ฉ ์ข‹์•„ํ•ด์š”.', '์„œ์šธ', 'https://github.com/yoonseo30', 81, '/images/yoonseo30.png', 30);

INSERT INTO PROGRAMMING_LANGUAGE (language, is_deleted)
VALUES ('Java', 'N'),
       ('Python', 'N'),
       ('JavaScript', 'N'),
       ('C++', 'N'),
       ('Ruby', 'N'),
       ('Go', 'N'),
       ('Kotlin', 'N'),
       ('Swift', 'N'),
       ('PHP', 'N'),
       ('Rust', 'N'),
       ('TypeScript', 'N'),
       ('C#', 'N'),
       ('Scala', 'N'),
       ('Perl', 'N'),
       ('Haskell', 'N'),
       ('R', 'N'),
       ('Dart', 'N'),
       ('Lua', 'N'),
       ('MATLAB', 'N'),
       ('SQL', 'N'),
       ('Groovy', 'N'),
       ('Elixir', 'N'),
       ('Clojure', 'N'),
       ('F#', 'N'),
       ('VB.NET', 'N'),
       ('Assembly', 'N'),
       ('Objective-C', 'N'),
       ('Pascal', 'N'),
       ('Fortran', 'N'),
       ('COBOL', 'Y');


INSERT INTO MEMBER_PROGRAMMING_LANGUAGE (programming_language_id, member_profile_page_id)
VALUES (1, 1),   -- ๊น€๋ฏผ์ˆ˜: Java
       (2, 1),   -- ๊น€๋ฏผ์ˆ˜: Python
       (3, 2),   -- ์ด์˜ํฌ: JavaScript
       (4, 3),   -- ๋ฐ•์ง€ํ›ˆ: C++
       (2, 5),   -- ๊ฐ•ํƒœ์šฐ: Python
       (6, 6),   -- ์œค์„œ์—ฐ: Go
       (7, 7),   -- ์ •ํ•˜๋Š˜: Kotlin
       (8, 8),   -- ํ•œ์ง€๋ฏผ: Swift
       (9, 9),   -- ์˜ค์ค€์˜: PHP
       (10, 10), -- ์‹ ๋™ํ˜„: Rust
       (11, 11), -- ๊น€์ง€์˜: TypeScript
       (12, 12), -- ์ด์ˆ˜ํ˜„: C#
       (13, 13), -- ๋ฐ•๋ฏผ์žฌ: Scala
       (14, 14), -- ์ตœ์œค์•„: Perl
       (15, 15), -- ๊ฐ•๋„ํ›ˆ: Haskell
       (16, 16), -- ์œค์ง€์šฐ: R
       (17, 17), -- ์ •์†Œ์—ฐ: Dart
       (18, 18), -- ํ•œํƒœํฌ: Lua
       (19, 19), -- ์˜ค์„ธ์ง„: MATLAB
       (20, 20), -- ์‹ ํ•˜์˜: SQL
       (1, 21),  -- ๊น€์˜์ˆ˜: Java
       (3, 22),  -- ์ด์žฌํ›ˆ: JavaScript
       (4, 23),  -- ๋ฐ•์†Œ์˜: C++
       (2, 24),  -- ์ตœ๋ฏผํ˜ธ: Python
       (6, 25),  -- ๊ฐ•์ง€ํ˜„: Go
       (7, 26),  -- ์œคํƒœ์˜: Kotlin
       (8, 27),  -- ์ •๋ฏผ์ˆ˜: Swift
       (9, 28),  -- ํ•œ์„œ์ง„: PHP
       (10, 29), -- ์˜ค์ง€ํ›ˆ: Rust
       (11, 30); -- ์‹ ์œค์„œ: TypeScript


-- CHALLENGE ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ
INSERT INTO CHALLENGE (name)
VALUES
    ('๋กœ๊ทธ์ธ'),
    ('๊ฒŒ์‹œ๊ธ€'),
    ('๋Œ“๊ธ€'),
    ('Q&A ์ฑ„ํƒ'),
    ('์ปค๋ฐ‹'),
    ('์ด์Šˆ ์ƒ์„ฑ'),
    ('PR ๋ฆฌ๋ทฐ'),
    ('PR ์ƒ์„ฑ'),
    ('ํŒ€ ์ปค๋ฐ‹'),
    ('ํ”„๋กœ์ ํŠธ ์™„๋ฃŒ'),
    ('ํšŒ์˜๋ก'),   # ์—ฌ๊ธฐ๊นŒ์ง€ ๊ณผ์ œ ๋ฐ ๋ฏธ์…˜ ์นดํ…Œ๊ณ ๋ฆฌ
    ('ํ˜„์—…'),
    ('์ž๊ฒฉ์ฆ'),
    ('ํ•™๋ ฅ'),
    ('Git');

-- ACHIEVEMENT ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ
INSERT INTO ACHIEVEMENT (requirement, exp, is_deleted, challenge_id)
VALUES
    (10, 100, 'N', 1),
    (5, 50, 'N', 2),
    (15, 40, 'N', 3),
    (10, 40, 'N', 4),
    (10, 50, 'N', 5),
    (10, 60, 'N', 6),
    (10, 50, 'N', 7),
    (5, 80, 'N', 8),
    (0, 100, 'N', 9),
    (1, 150, 'N', 10),
    (3, 70, 'N', 11);

-- DAILY_MISSION ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ
INSERT INTO DAILY_MISSION (content, exp_point, is_deleted, challenge_id)
VALUES
    ('๋กœ๊ทธ์ธ ํ•˜๊ธฐ', 10, 'N', 1),
    ('๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑํ•˜๊ธฐ', 20, 'N', 2),
    ('๋Œ“๊ธ€ ์ž‘์„ฑํ•˜๊ธฐ', 15, 'N', 3),
    ('Q&A ์ฑ„ํƒ๋ฐ›๊ธฐ', 30, 'N', 4),
    ('์ผ์ผ ์ปค๋ฐ‹ํ•˜๊ธฐ', 20, 'N', 5),
    ('์ด์Šˆ ์ƒ์„ฑํ•˜๊ธฐ', 20, 'N', 6),
    ('PR ๋ฆฌ๋ทฐํ•˜๊ธฐ', 25, 'N', 7),
    ('PR ์ƒ์„ฑํ•˜๊ธฐ', 70, 'N', 8),
    ('ํšŒ์˜๋ก ์ž‘์„ฑํ•˜๊ธฐ', 90, 'N', 11);

-- BADGE ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ
INSERT INTO BADGE (requirement, advantage, description, is_deleted, challenge_id)
VALUES
    (30, 0, '๋ˆ„์  ์ถœ์„', 'N', 1),
    (20, 0, '๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑํ•˜๊ธฐ', 'N', 2),
    (30, 0, '๋Œ“๊ธ€ ์ž‘์„ฑํ•˜๊ธฐ', 'N', 3),
    (30, 0, 'Q&A ์ฑ„ํƒ๋˜๊ธฐ', 'N', 4),
    (20, 0, '์ปค๋ฐ‹ํ•˜๊ธฐ', 'N', 5),
    (20, 0, '์ด์Šˆ ์ƒ์„ฑํ•˜๊ธฐ', 'N', 6),
    (20, 0, 'PR ๋ฆฌ๋ทฐํ•˜๊ธฐ', 'N', 7),
    (10, 0, 'PR ์ƒ์„ฑํ•˜๊ธฐ', 'N', 8),
    (1, 0, 'ํŒ€ ์ „์ฒด ์ปค๋ฐ‹', 'N', 9),
    (3, 0, 'ํ”„๋กœ์ ํŠธ ์™„๋ฃŒ', 'N', 10),
    (9, 0, 'ํšŒ์˜๋ก ์ž‘์„ฑ', 'N', 11),
    (3, 5, '๊ฒฝ๋ ฅ 3๋…„', 'N',12),  #์—ฌ๊ธฐ๋ถ€ํ„ฐ ์‹ค๋ ฅ ๋ฑƒ์ง€
    (0,3,'์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ', 'N', 13),
    (0,3,'SQLD', 'N', 13),
    (0,3,'SQLP', 'N', 13),
    (0,3,'์ •๋ณด๋ณด์•ˆ๊ธฐ์‚ฌ', 'N', 13),
    (0,3,'๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ', 'N', 13),
    (0,3,'๋„คํŠธ์›Œํฌ๊ด€๋ฆฌ์‚ฌ', 'N', 13),
    (0,3,'OCJP', 'N', 13),
    (0,3,'ERP ์ •๋ณด๊ด€๋ฆฌ์‚ฌ', 'N', 13),
    (0,3,'๋น…๋ฐ์ดํ„ฐ ๋ถ„์„๊ธฐ์‚ฌ', 'N', 13),
    (0,3,'AWS', 'N', 13),
    (0,3,'Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ „๋ฌธ๊ฐ€', 'N', 13),
    (0,3,'์ „๋ฌธํ•™์‚ฌ', 'N', 14),
    (0,3,'ํ•™์‚ฌ', 'N', 14),
    (0,3,'์„์‚ฌ', 'N', 14),
    (0,3,'๋ฐ•์‚ฌ', 'N', 14),
    (50, 50, 'Git ์ž”๋”” ๊ฐœ์ˆ˜', 'N', 15);

-- MEMBER_ACHIEVEMENT ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ
INSERT INTO MEMBER_ACHIEVEMENT (achieved_date, progress, achieved_time, achievement_id, member_id)
VALUES
    ('2025-03-01', 30, 3, 1, 1),
    ('2025-03-02', 20, 4, 2, 2),
    ('2025-03-03', 30, 2, 3, 3),
    ('2025-03-04', 20, 2, 4, 4),
    ('2025-03-05', 20, 2, 5, 5),
    ('2025-03-06', 20, 2, 6, 1),
    ('2025-03-07', 20, 2, 7, 2),
    ('2025-03-08', 10, 2, 8, 3),
    ('2025-03-09', 1, 1, 9, 4),
    ('2025-03-10', 3, 3, 10, 5),
    ('2025-03-10', 9, 3, 11, 5);

-- MEMBER_DAILY_MISSION ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ
INSERT INTO MEMBER_DAILY_MISSION (is_completed, accepted_date, daily_mission_id, member_id)
VALUES
    ('Y', '2025-03-01', 1, 1),
    ('Y', '2025-03-02', 2, 2),
    ('Y', '2025-03-03', 3, 3),
    ('Y', '2025-03-04', 4, 4),
    ('Y', '2025-03-05', 5, 5),
    ('N', '2025-03-06', 6, 1),
    ('N', '2025-03-07', 7, 2),
    ('Y', '2025-03-08', 8, 3),
    ('N', '2025-03-09', 9, 4),
    ('Y', '2025-03-10', 9, 5);

-- MEMBER_BADGE ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ
INSERT INTO MEMBER_BADGE (acquired_date, level, badge_id, member_id)
VALUES
    ('2025-03-01', 1, 1, 1),
    ('2025-03-02', 1, 2, 2),
    ('2025-03-03', 1, 3, 3),
    ('2025-03-04', 1, 4, 4),
    ('2025-03-05', 1, 5, 5),
    ('2025-03-06', 1, 6, 1),
    ('2025-03-07', 1, 7, 2),
    ('2025-03-08', 1, 8, 3),
    ('2025-03-09', 1, 9, 4),
    ('2025-03-10', 1, 10, 5),
    ('2025-03-10', 1, 11, 5),
    ('2024-12-15', 1, 12, 1),
    ('2024-12-15', 1, 13, 2),
    ('2024-12-15', 1, 15, 3),
    ('2024-12-15', 1, 14, 4),
    ('2024-12-15', 1, 14, 5);


INSERT INTO TECHNOLOGY_CATEGORY
(
  name
, is_deleted
, ref_technology_category_id
)
VALUES
('์›น', 'N', NULL),
('๊ฒŒ์ž„', 'N', NULL),
('๋ณด์•ˆ', 'N', NULL),
('AI / ML', 'N', NULL),
('๋ชจ๋ฐ”์ผ', 'N', NULL),
('DevOps', 'N', NULL),
('๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง', 'N', NULL),
('๋กœ๋ณดํ‹ฑ์Šค', 'N', NULL),
('์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ', 'N', NULL),
('๊ธฐํƒ€', 'N', NULL),
('ํ”„๋ก ํŠธ์—”๋“œ', 'N', 1),
('๋ฐฑ์—”๋“œ', 'N', 1),
('ํ’€์Šคํƒ', 'N', 1),
('Unity', 'N', 2),
('Unreal Engine', 'N', 2),
('์•ˆ๋“œ๋กœ์ด๋“œ', 'N', 2),
('iOS', 'N', 2),
('์›น ๊ธฐ๋ฐ˜', 'N', 2),
('๋„คํŠธ์›Œํฌ ๋ณด์•ˆ', 'N', 3),
('์›น ๋ณด์•ˆ', 'N', 3),
('๋ชจ๋ฐ”์ผ ๋ณด์•ˆ', 'N', 3),
('๋ธ”๋ก์ฒด์ธ', 'N', 3),
('์ธ์ฆ ๋ฐ ์•”ํ˜ธํ™”', 'N', 3),
('๋ฐ์ดํ„ฐ ๋ถ„์„', 'N', 4),
('๋จธ์‹ ๋Ÿฌ๋‹', 'N', 4),
('์ž์—ฐ์–ด ์ฒ˜๋ฆฌ', 'N', 4),
('๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹', 'N', 4),
('๊ฒŒ์ž„ AI ๊ฐœ๋ฐœ', 'N', 4),
('์•ˆ๋“œ๋กœ์ด๋“œ', 'N', 5),
('iOS', 'N', 5),
('ํฌ๋กœ์Šคํ”Œ๋žซํผ', 'N', 5),
('CI/CD ํŒŒ์ดํ”„๋ผ์ธ', 'N', 6),
('ํด๋ผ์šฐ๋“œ', 'N', 6),
('์„œ๋ฒ„๋ฆฌ์Šค', 'N', 6),
('์ปจํ…Œ์ด๋„ˆ', 'N', 6),
('๋น…๋ฐ์ดํ„ฐ', 'N', 7),
('๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค', 'N', 7),
('๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง', 'N', 7),
('์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ', 'N', 7),
('๋กœ๋ด‡ ์†Œํ”„ํŠธ์›จ์–ด', 'N', 8),
('์ž์œจ ์ฃผํ–‰ ๊ธฐ์ˆ ', 'N', 8),
('๋กœ๋ด‡ ๋น„์ „ ๋ฐ ์ œ์–ด', 'N', 8),
('์šด์˜์ฒด์ œ', 'N', 9),
('ํŒŒ์ผ ์‹œ์Šคํ…œ', 'N', 9),
('๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ', 'N', 9),
('์–ด์…ˆ๋ธ”๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ', 'N', 9),
('VR/AR', 'N', 10),
('3D ๋ชจ๋ธ๋ง', 'N', 10),
('์• ๋‹ˆ๋ฉ”์ด์…˜', 'N', 10),
('์‚ฌ์šด๋“œ ํ”„๋กœ์„ธ์‹ฑ', 'N', 10),
('๊ธฐํƒ€', 'N', 10),
('์•”ํ˜ธํ™”ํ', 'N', 10),
('NFT', 'N', 10);

INSERT INTO MATCHING 
(
  created_date_at
, is_completed
, is_deleted
, maximum_participant
, current_participant
, duration_time
, level_range
, member_id
, technology_category_id
) 
VALUES
('2024-03-01 10:30:00', 'N', 'N', 5, 3, 3, 3, 1, 7),
('2024-03-02 12:45:00', 'N', 'N', 7, 1, 4, 5, 6, 6),
('2024-03-03 15:00:00', 'N', 'N', 4, 3, 6, 2, 18, 6),
('2024-03-04 09:20:00', 'N', 'N', 4, 3, 3, 10, 14, 5),
('2024-03-05 14:10:00', 'Y', 'N', 5, 5, 6, 7, 10, 4),
('2024-03-06 17:30:00', 'N', 'N', 6, 4, 12, 6, 2, 9),
('2024-03-07 11:00:00', 'N', 'Y', 6, 4, 9, 5, 5, 8),
('2024-03-08 16:40:00', 'N', 'N', 5, 2, 2, 5, 3, 4),
('2024-03-09 08:55:00', 'Y', 'N', 4, 4, 6, 11, 15, 9),
('2024-03-10 13:25:00', 'N', 'N', 8, 5, 5, 12, 18, 2);

INSERT INTO MATCHING_ENTRY
(
  applied_date_at
, is_canceled
, is_accepted
, member_id
, matching_id
)
VALUES
    ('2024-03-01 11:00:00', 'N', 'N', 4, 1),
    ('2024-03-02 13:00:00', 'N', 'Y', 11, 2),
    ('2024-03-03 15:30:00', 'Y', 'N', 6, 3),
    ('2024-03-04 10:10:00', 'N', 'Y', 2, 4),
    ('2024-03-05 14:40:00', 'N', 'Y', 14, 5),
    ('2024-03-06 18:20:00', 'N', 'N', 10, 3),
    ('2024-03-07 12:30:00', 'Y', 'N', 8, 5),
    ('2024-03-08 17:50:00', 'N', 'N', 9, 2),
    ('2024-03-09 09:15:00', 'N', 'N', 13, 5),
    ('2024-03-10 14:00:00', 'N', 'N', 18, 4);


-- PROJECT_ROOM ํ”„๋กœ์ ํŠธ ๋ฐฉ ํ…Œ์ด๋ธ”
INSERT INTO PROJECT_ROOM
(
    name,
    content,
    is_finished,
    duration_time,
    maximum_participant,
    session_code,
    start_date,
    end_date,
    technology_category_id
)
VALUES
    ('AI ํ”„๋กœ์ ํŠธ',            'AI ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.',                'N', '3๊ฐœ์›”',  5, 1001, '2024-03-01', '2024-06-01', 4),
    ('์›น์•ฑ ๊ฐœ๋ฐœ',              '๋ชจ๋ฐ”์ผ ์›น์•ฑ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.',       'N', '2๊ฐœ์›”',  4, 1002, '2024-04-01', '2024-06-01', 2),
    ('๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ',        '๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๊ตฌ์ถ• ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.',       'N', '4๊ฐœ์›”',  6, 1003, '2024-01-15', '2024-05-15', 1),
    ('ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ',    'ํ”„๋ก ํŠธ์—”๋“œ ๋””์ž์ธ๊ณผ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.','N', '2๊ฐœ์›”',  3, 1004, '2024-02-01', '2024-04-01', 2),
    ('ํ’€์Šคํƒ ํ”„๋กœ์ ํŠธ',        'ํ’€์Šคํƒ ๊ฐœ๋ฐœํŒ€ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.',          'N', '5๊ฐœ์›”',  7, 1005, '2024-03-10', '2024-08-10', 3);


--  PARTICIPANT ํŒ€์› ํ…Œ์ด๋ธ”

INSERT INTO PARTICIPANT
(
  is_manager
, project_room_id
, member_id
)
VALUES
    ('Y', 1, 1),
    ('N', 1, 2),
    ('N', 1, 3),
    ('N', 1, 4),
    ('N', 1, 5),
    ('Y', 2, 6),
    ('N', 2, 7),
    ('N', 2, 8),
    ('N', 2, 9),
    ('Y', 3, 10),
    ('N', 3, 11),
    ('N', 3, 12),
    ('N', 3, 13),
    ('N', 3, 14),
    ('N', 3, 15),
    ('Y', 4, 16),
    ('N', 4, 17),
    ('N', 4, 18),
    ('Y', 5, 19),
    ('N', 5, 20),
    ('N', 5, 1),
    ('N', 5, 2),
    ('N', 5, 3),
    ('N', 5, 4),
    ('N', 5, 5);


-- MEMBER_REVIEW ํŒ€์› ํ›„๊ธฐ ํ…Œ์ด๋ธ”
INSERT INTO MEMBER_REVIEW
(
    rate,
    content,
    reviewer_id,
    reviewee_id
)
VALUES
    (5, '๋งค์šฐ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค.',        1,  2),
    (4, '์„ฑ์‹คํ•œ ํŒ€์›์ด์—์š”.',      2,  3),
    (5, '์˜์‚ฌ์†Œํ†ต์ด ์›ํ™œํ•ด์š”.',    6,  7),
    (3, '์กฐ๊ธˆ ๋Šฆ๊ธด ํ–ˆ์ง€๋งŒ ์ž˜ํ–ˆ์–ด์š”.', 10, 11),
    (5, '๋งค์šฐ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.',        16, 17),
    (4, '์—ด์‹ฌํžˆ ์ฐธ์—ฌํ–ˆ์–ด์š”.',      19, 20),
    (3, '์ถ”๊ฐ€์ ์ธ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.', 1, 3),
    (5, '๊ธฐ์—ฌ๋„๊ฐ€ ๋†’์•„์š”.',        6, 8),
    (4, '์ฑ…์ž„๊ฐ์ด ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค.',      10, 12),
    (5, 'ํŒ€์›Œํฌ๊ฐ€ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค.',    16, 18);



-- PROJECT_MEETING ํšŒ์˜๋ก ํ…Œ์ด๋ธ”
INSERT INTO PROJECT_MEETING
(
    project_room_id,
    title,
    content,
    author_id,           -- member_id๋กœ ์ฐธ์กฐ๋จ
    upload_time,
    update_time
)
VALUES
    (1, 'AI ํ”„๋กœ์ ํŠธ ํ‚ฅ์˜คํ”„',        'AI ํ”„๋กœ์ ํŠธ ์ฒซ ํšŒ์˜์ž…๋‹ˆ๋‹ค.',        1,  '2024-03-01 10:00:00', '2024-03-01 11:00:00'),
    (2, '์›น์•ฑ ๋””์ž์ธ ํšŒ์˜',          'UI/UX ๋…ผ์˜ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.',            6,  '2024-04-02 10:00:00', '2024-04-02 11:00:00'),
    (3, '๋ฐฑ์—”๋“œ ๊ตฌ์กฐ ํšŒ์˜',          '์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜ ๋…ผ์˜์ž…๋‹ˆ๋‹ค.',         10, '2024-01-20 14:00:00', '2024-01-20 15:00:00'),
    (4, 'ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ ๋…ผ์˜', 'React vs Vue ๋…ผ์Ÿ.',              16, '2024-02-05 13:00:00', '2024-02-05 14:00:00'),
    (5, 'ํ’€์Šคํƒ ์ผ์ • ์กฐ์œจ',          '์ „์ฒด ์ผ์ • ์กฐ์œจ ํšŒ์˜์ž…๋‹ˆ๋‹ค.',        19, '2024-03-15 15:00:00', '2024-03-15 16:00:00');

-- PROJECT_MEETING_IMAGE ํšŒ์˜๋ก ์ด๋ฏธ์ง€ ํ…Œ์ด๋ธ”
INSERT INTO PROJECT_MEETING_IMAGE
(
    image_path,
    image_name,
    is_thumbnail,
    meeting_id
)
VALUES
    ('/images/ai_kickoff.png',          'ai_kickoff_renamed.png',          'Y', 1),
    ('/images/webapp_design.png',       'webapp_design_renamed.png',       'N', 2),
    ('/images/backend_structure.png',   'backend_structure_renamed.png',   'Y', 3),
    ('/images/frontend_framework.png',  'frontend_framework_renamed.png',  'N', 4),
    ('/images/fullstack_schedule.png',  'fullstack_schedule_renamed.png',  'Y', 5);



-- PROJECT_REVIEW ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ ํ…Œ์ด๋ธ”
INSERT INTO PROJECT_REVIEW
(
    reviewer_id,
    content,
    project_room_id
)
VALUES
    (1,  '์ข‹์€ ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค.',            1),
    (6,  '์ •๋ง ์œ ์ตํ–ˆ์–ด์š”.',                  2),
    (10, '๋ฐฑ์—”๋“œ ๊ฒฝํ—˜์„ ๋งŽ์ด ์Œ“์•˜์–ด์š”.',      3),
    (16, 'ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', 4),
    (19, 'ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ด ์ฒ˜์Œ์ด์—ˆ๋Š”๋ฐ ํฅ๋ฏธ๋กœ์› ์–ด์š”.', 5);

-- -------------- REPORT_REASON ๋”๋ฏธ ๋ฐ์ดํ„ฐ -------------- --

INSERT INTO REPORT_REASON (reason)
VALUES ('์š•์„ค ๋ฐ ๋น„๋ฐฉ')
     , ('์ŠคํŒธ ๋ฐ ๊ด‘๊ณ ')
     , ('์Œ๋ž€๋ฌผ ๊ฒŒ์‹œ')
     , ('ํ—ˆ์œ„ ์ •๋ณด ์œ ํฌ')
     , ('๊ฐœ์ธ์ •๋ณด ์œ ์ถœ')
     , ('๋„๋ฐฐ ๋ฐ ์ค‘๋ณต ๊ฒŒ์‹œ')
     , ('์‚ฌ๊ธฐ ๋ฐ ์‚ฌ์นญ')
     , ('์ €์ž‘๊ถŒ ์นจํ•ด')
     , ('๋ถˆ๋ฒ• ํ–‰์œ„ ์œ ๋„')
     , ('๊ธฐํƒ€');


-- -------------- REPORT ๋”๋ฏธ ๋ฐ์ดํ„ฐ -------------- --

INSERT INTO REPORT (reported_at, status, category, reported_id, report_reason_id, member_id)
VALUES ('2025-03-01', 0, 1, 1, 1, 1)
     , ('2025-03-02', 2, 0, 1, 2, 1)   -- ํšŒ์› 1
     , ('2025-03-03', 2, 0, 1, 3, 2)   -- ํšŒ์› 1
     , ('2025-03-04', 0, 1, 2, 4, 2)
     , ('2025-03-05', 1, 2, 2, 5, 2)
     , ('2025-03-06', 2, 1, 1, 6, 3)   -- ํšŒ์› 1
     , ('2025-03-07', 2, 1, 2, 7, 3)   -- ํšŒ์› 1
     , ('2025-03-08', 2, 2, 1, 8, 4)   -- ํšŒ์› 1
     , ('2025-03-09', 1, 0, 3, 9, 4)
     , ('2025-03-10', 1, 1, 4, 10, 5)
     , ('2025-03-11', 2, 0, 2, 1, 6)   -- ํšŒ์› 2
     , ('2025-03-12', 2, 1, 4, 2, 4)   -- ํšŒ์› 2
     , ('2025-03-13', 1, 1, 5, 3, 9)
     , ('2025-03-14', 1, 2, 5, 4, 5)
     , ('2025-03-15', 2, 1, 3, 5, 2)   -- ํšŒ์› 2
     , ('2025-03-16', 0, 1, 6, 6, 1)
     , ('2025-03-17', 1, 2, 6, 7, 1)
     , ('2025-03-18', 2, 2, 2, 8, 2)   -- ํšŒ์› 2
     , ('2025-03-19', 0, 1, 7, 9, 10)
     , ('2025-03-20', 2, 2, 7, 10, 8);


-- -------------- REGULATION ๋”๋ฏธ ๋ฐ์ดํ„ฐ -------------- --

-- status๊ฐ€ 2์ธ ๊ฒฝ์šฐ์—์„œ
-- ํšŒ์› 1๋ฒˆ์ด ๊ฒŒ์‹œ๊ธ€(category : 1) 1,2๋ฅผ ์“ฐ๊ณ  ๋Œ“๊ธ€(category : 2) 1์„ ์“ด ๊ฒฝ์šฐ
-- ํšŒ์› 2๋ฒˆ์ด ๊ฒŒ์‹œ๊ธ€ 3,4๋ฅผ ์“ฐ๊ณ  ๋Œ“๊ธ€ 2๋ฅผ ์“ด ๊ฒฝ์šฐ
INSERT INTO REGULATION (start_date, end_date, member_id)
VALUES ('2025-03-09', '2025-03-22', 1)  -- ํšŒ์› 1์ด ์‹ ๊ณ  3๋ฒˆ ๋‹นํ•ด ๊ทœ์ œ 1๋ฒˆ : ์ •์ง€ 14์ผ
     , ('2025-04-01', '2025-04-30', 1)  -- ํšŒ์› 1์ด ์‹ ๊ณ  4๋ฒˆ ๋‹นํ•ด ๊ทœ์ œ 2๋ฒˆ : ์ •์ง€ 30์ผ
     , ('2025-05-14', '2999-05-15', 1)  -- ํšŒ์› 1์ด ์‹ ๊ณ  5๋ฒˆ ๋‹นํ•ด ๊ทœ์ œ 3๋ฒˆ : ์˜๊ตฌ ์ •์ง€
     , ('2025-03-16', '2025-03-19', 2)  -- ํšŒ์› 2๊ฐ€ ์‹ ๊ณ  3๋ฒˆ ๋‹นํ•ด ๊ทœ์ œ 1๋ฒˆ : ์ •์ง€ 14์ผ
     , ('2025-05-01', '2025-05-30', 2); -- ํšŒ์› 2๊ฐ€ ์‹ ๊ณ  4๋ฒˆ ๋‹นํ•ด ๊ทœ์ œ 2๋ฒˆ : ์ •์ง€ 30์ผ


-- ๊ฒŒ์‹œ๊ธ€ ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ

INSERT INTO POST (title, content, category, upload_at, status, member_id)
VALUES ('1๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:11', 0, 1)
     , ('2๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '2๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:12', 1, 2)
     , ('3๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '3๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:13', 2, 3)
     , ('4๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '4๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:14', 1, 4)
     , ('5๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '5๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:15', 0, 5)
     , ('6๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '6๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:16', 1, 6)
     , ('7๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '7๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:17', 2, 7)
     , ('8๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '8๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:18', 0, 8)
     , ('9๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '9๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:19', 0, 9)
     , ('10๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '10๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:20', 0, 10)
     , ('11๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '11๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:21', 0, 11)
     , ('12๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '12๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:22', 0, 12)
     , ('13๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '13๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:23', 0, 13)
     , ('14๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '14๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:24', 0, 14)
     , ('15๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '15๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:25', 0, 15)
     , ('16๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '16๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:26', 0, 16)
     , ('17๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '17๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:27', 0, 17)
     , ('18๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '18๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:28', 0, 18)
     , ('19๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '19๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:29', 0, 19)
     , ('20๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '20๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:30', 0, 20)
     , ('21๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '21๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:31', 0, 21)
     , ('22๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '22๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:32', 0, 22)
     , ('23๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '23๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:33', 0, 23)
     , ('24๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '24๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:34', 0, 24)
     , ('25๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '25๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:35', 0, 25)
     , ('26๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '26๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:36', 0, 26)
     , ('27๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '27๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:37', 0, 27)
     , ('28๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '28๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:38', 0, 28)
     , ('29๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '29๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:39', 0, 29)
     , ('30๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '30๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 2, '2025-03-17 01:11:40', 0, 30)
     , ('1๋ฒˆ ํšŒ์› 1๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 1๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 01:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 2๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 2๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 02:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 3๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 3๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 03:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 4๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 4๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 04:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 5๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 5๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 05:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 6๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 6๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 06:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 7๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 7๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 07:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 8๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 8๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 08:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 9๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 9๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 09:11:41', 0, 1)
     , ('1๋ฒˆ ํšŒ์› 10๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '1๋ฒˆ ํšŒ์› 10๋ฒˆ์งธ ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', 1, '2025-03-17 10:11:41', 0, 1);

-- ๋Œ“๊ธ€ ํ…Œ์ด๋ธ” ๋”๋ฏธ ๋ฐ์ดํ„ฐ

INSERT INTO COMMENT (is_adopted, upload_at, content, status, post_id, root_comment_id, member_id)
VALUES (NULL, '2025-03-17 01:11:11', '1๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:12', '2๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, 1, 2)
     , (NULL, '2025-03-17 01:11:13', '3๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, 2, 3)
     , (NULL, '2025-03-17 01:11:14', '4๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 2, NULL, 4)
     , (NULL, '2025-03-17 01:11:15', '5๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 2, 4, 5)
     , (NULL, '2025-03-17 01:11:16', '6๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 2, 4, 6)
     , (NULL, '2025-03-17 01:11:17', '7๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 3, NULL, 7)
     , (NULL, '2025-03-17 01:11:18', '8๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 3, 7, 8)
     , (NULL, '2025-03-17 01:11:19', '9๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 3, NULL, 9)
     , (NULL, '2025-03-17 01:11:20', '10๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 4, NULL, 10)
     , (NULL, '2025-03-17 01:11:21', '11๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 4, NULL, 11)
     , (NULL, '2025-03-17 01:11:22', '12๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 4, NULL, 12)
     , (NULL, '2025-03-17 01:11:23', '13๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 5, NULL, 13)
     , (NULL, '2025-03-17 01:11:24', '14๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 5, NULL, 14)
     , (NULL, '2025-03-17 01:11:25', '15๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 5, NULL, 15)
     , (NULL, '2025-03-17 01:11:26', '16๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 6, NULL, 16)
     , (NULL, '2025-03-17 01:11:27', '17๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 6, NULL, 17)
     , ('N', '2025-03-17 01:11:28', '18๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 7, NULL, 18)
     , ('N', '2025-03-17 01:11:29', '19๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 7, 18, 19)
     , ('N', '2025-03-17 01:11:30', '20๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 8, NULL, 20)
     , ('N', '2025-03-17 01:11:31', '21๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 9, NULL, 21)
     , ('N', '2025-03-17 01:11:32', '22๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 10, NULL, 22)
     , ('N', '2025-03-17 01:11:33', '23๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 10, NULL, 23)
     , ('N', '2025-03-17 01:11:34', '24๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 11, NULL, 24)
     , ('N', '2025-03-17 01:11:35', '25๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 11, NULL, 25)
     , ('Y', '2025-03-17 01:11:36', '26๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 7, NULL, 26)
     , ('Y', '2025-03-17 01:11:37', '27๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 8, NULL, 27)
     , ('Y', '2025-03-17 01:11:38', '28๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 9, NULL, 28)
     , ('Y', '2025-03-17 01:11:39', '29๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 10, 23, 29)
     , ('Y', '2025-03-17 01:11:40', '30๋ฒˆ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 11, NULL, 30)
     , (NULL, '2025-03-17 01:11:41', '1๋ฒˆ ํšŒ์› 1๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:42', '1๋ฒˆ ํšŒ์› 2๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:43', '1๋ฒˆ ํšŒ์› 3๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:44', '1๋ฒˆ ํšŒ์› 4๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:45', '1๋ฒˆ ํšŒ์› 5๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:46', '1๋ฒˆ ํšŒ์› 6๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:47', '1๋ฒˆ ํšŒ์› 7๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:48', '1๋ฒˆ ํšŒ์› 8๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:49', '1๋ฒˆ ํšŒ์› 9๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1)
     , (NULL, '2025-03-17 01:11:50', '1๋ฒˆ ํšŒ์› 10๋ฒˆ์งธ ๋Œ“๊ธ€ ๋‚ด์šฉ', 0, 1, NULL, 1);

-- ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๋”๋ฏธ ๋ฐ์ดํ„ฐ

INSERT INTO POST_IMAGE (image_path, renamed_name, is_thumbnail, post_id)
VALUES ('1๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '1๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 1)
     , ('2๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '2๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 1)
     , ('3๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '3๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 1)
     , ('4๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '4๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 2)
     , ('5๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '5๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 2)
     , ('6๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '6๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 2)
     , ('7๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '7๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 3)
     , ('8๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '8๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 3)
     , ('9๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '9๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 3)
     , ('10๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '10๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 4)
     , ('11๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '11๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 4)
     , ('12๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '12๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 4)
     , ('13๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '13๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 5)
     , ('14๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '14๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 5)
     , ('15๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '15๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 5)
     , ('16๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '16๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 6)
     , ('17๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '17๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 6)
     , ('18๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '18๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 6)
     , ('19๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '19๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 7)
     , ('20๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '20๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 7)
     , ('21๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '21๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 7)
     , ('22๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '22๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 8)
     , ('23๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '23๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 8)
     , ('24๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '24๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 8)
     , ('25๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '25๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 9)
     , ('26๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '26๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 9)
     , ('27๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '27๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 9)
     , ('28๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '28๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 10)
     , ('29๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '29๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'Y', 10)
     , ('30๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ๊ฒฝ๋กœ', '30๋ฒˆ ๊ฒŒ์‹œ๊ธ€ ์‚ฌ์ง„ ์ด๋ฆ„', 'N', 10);

๐Ÿช„ MSA ์•„ํ‚คํ…์ฒ˜



๐Ÿ›œ Server

1. Eureka ์„œ๋ฒ„ + Config ์„œ๋ฒ„ + GateWay

2. Actuator


๐Ÿšฉ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

- Member Service


- Matching Service


- Core

Mission, Matching, Post, ProjectRoom, Report


๐Ÿ“ฑ API ํ…Œ์ŠคํŠธ

๐Ÿ‘ค ํšŒ์›

ํšŒ์›
ํšŒ์› ๊ฐ€์ž…
์„ฑ๊ณต

์‹คํŒจ 400 ์ด๋ฉ”์ผ ์ค‘๋ณต

๋กœ๊ทธ์ธ(์„ฑ๊ณต ์‹œ ํ† ํฐ ๋ฐ˜ํ™˜)

๋กœ๊ทธ์•„์›ƒ(ํ† ํฐ ์ œ๊ฑฐ)

ํšŒ์› ์ •๋ณด ์ˆ˜์ •
์ˆ˜์ •1

์ˆ˜์ •2

๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ

์ด๋ฉ”์ผ ์ฐพ๊ธฐ

ํšŒ์› ์ „์ฒด ์กฐํšŒ

ID๋กœ ํšŒ์› ์กฐํšŒ

์ด๋ฉ”์ผ ์ค‘๋ณต ์ฒดํฌ
์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ด๋ฉ”์ผ

์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ ์ด๋ฉ”์ผ

์ „ํ™”๋ฒˆํ˜ธ ์ค‘๋ณต ์ฒดํฌ
์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ „ํ™”๋ฒˆํ˜ธ

์‚ฌ์šฉ ๋ถˆ๊ฐ€ ์ „ํ™”๋ฒˆํ˜ธ

ํšŒ์› ์ƒํƒœ ์กฐํšŒ

ํšŒ์› ๊ถŒํ•œ ์กฐํšŒ

ํ”„๋กœํ•„
ํšŒ์› ํ”„๋กœํ•„ ์กฐํšŒ

ํšŒ์› ํ”„๋กœํ•„ ์ •๋ณด ์ˆ˜์ •

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์กฐํšŒ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ถ”๊ฐ€
์„ฑ๊ณต(๊ถŒํ•œ ์žˆ์Œ)

์‹คํŒจ(๊ถŒํ•œ ์—†์Œ)

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์‚ญ์ œ

ํšŒ์›๋ณ„ ์‚ฌ์šฉ ์–ธ์–ด ์กฐํšŒ

๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์˜ˆ์ •

ํšŒ์›๋ณ„ ์‚ฌ์šฉ์–ธ์–ด ์ถ”๊ฐ€

๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์˜ˆ์ •

ํšŒ์›๋ณ„ ์‚ฌ์šฉ์–ธ์–ด ์ˆ˜์ •

๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์˜ˆ์ •

๐Ÿ”” ๋ฏธ์…˜

๋„์ „๊ณผ์ œ
๋„์ „๊ณผ์ œ ๋ชฉ๋ก ์ „์ฒด ์กฐํšŒ

๋„์ „๊ณผ์ œ ์ถ”๊ฐ€

๋„์ „๊ณผ์ œ ์ˆ˜์ •

๋„์ „๊ณผ์ œ ์‚ญ์ œ

๋„์ „๊ณผ์ œ ์ง„ํ–‰๋„ ์ฆ๊ฐ€

ํšŒ์›๋ณ„ ๋„์ „๊ณผ์ œ ๋ชฉ๋ก ์กฐํšŒ

ํšŒ์›์ด ๋‹ฌ์„ฑํ•œ ๋„์ „๊ณผ์ œ ์กฐํšŒ

ํšŒ์›์ด ๋‹ฌ์„ฑํ•˜์ง€ ๋ชปํ•œ ๋„์ „๊ณผ์ œ ์กฐํšŒ

๋ฑƒ์ง€
๋ฑƒ์ง€ ๋ชฉ๋ก ์ „์ฒด ์กฐํšŒ

๋ฑƒ์ง€ ์ถ”๊ฐ€

๋ฑƒ์ง€ ์ˆ˜์ •

๋ฑƒ์ง€ ์‚ญ์ œ

๋ฑƒ์ง€ ๋ถ€์—ฌ ๋ฐ ๋ ˆ๋ฒจ ์ฆ๊ฐ€

์ฑŒ๋ฆฐ์ง€๋ณ„ ๋ฑƒ์ง€ ์กฐํšŒ

ํšŒ์›์ด ํš๋“ํ•œ ๋ฑƒ์ง€ ์กฐํšŒ

์ผ์ผ๋ฏธ์…˜
์ผ์ผ๋ฏธ์…˜ ๋ชฉ๋ก ์ „์ฒด ์กฐํšŒ

์ผ์ผ๋ฏธ์…˜ ์ถ”๊ฐ€

์ผ์ผ๋ฏธ์…˜ ์ˆ˜์ •

์ผ์ผ๋ฏธ์…˜ ์‚ญ์ œ

ํšŒ์›์—๊ฒŒ ์ผ์ผ๋ฏธ์…˜ ๋ถ€์—ฌ

ํšŒ์›๋ณ„ ์ผ์ผ๋ฏธ์…˜ ๋ชฉ๋ก ์กฐํšŒ

ํšŒ์›์ด ์ˆ˜ํ–‰ํ•œ ์ผ์ผ๋ฏธ์…˜ ์กฐํšŒ

ํšŒ์›์ด ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ•œ ์ผ์ผ๋ฏธ์…˜ ์กฐํšŒ

๐Ÿ“œ ๊ฒŒ์‹œ๊ธ€

๊ฒŒ์‹œํŒ
๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ

๋‹จ์ผ ๊ธ€, ๋Œ“๊ธ€ ์‚ฌ์ง„ ์กฐํšŒ

์ œ๋ชฉ์œผ๋กœ ๊ฒ€์ƒ‰

์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ์กฐํšŒ

๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก

๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ
๊ทœ์ œ์— ์˜ํ•œ ์‚ญ์ œ

์‚ญ์ œ ์„ฑ๊ณต

์—†๋Š” ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ์‹œ๋„

์ด๋ฏธ ์‚ญ์ œ๋œ ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ์‹œ๋„

๐Ÿคผ ๋งค์นญ

๋งค์นญ
์ „์ฒด ๋งค์นญ๋ฐฉ ๋ชฉ๋ก ์กฐํšŒ

๋งค์นญ๋ฐฉ id๋กœ ๋งค์นญ๋ฐฉ ์กฐํšŒ

๊ธฐ์ˆ  ์นดํ…Œ๊ณ ๋ฆฌ id๋กœ ๋งค์นญ๋ฐฉ ์กฐํšŒ

๋งค์นญ๋ฐฉ ๋“ฑ๋ก

๋งค์นญ๋ฐฉ ์ˆ˜์ •

๋งค์นญ๋ฐฉ ์‚ญ์ œ

์กฐ๊ฑด์— ๋งž์€ ๋งค์นญ๋ฐฉ ์กฐํšŒ

๋งค์นญ๋ฐฉ ์‹ ์ฒญ

๋งค์นญ๋ฐฉ ์‹ ์ฒญ ์ทจ์†Œ

์‹ ์ฒญ์ž ์ˆ˜๋ฝ

์ˆ˜๋ฝํ•œ ์‹ ์ฒญ์ž๋งŒ ์กฐํšŒ

๊ธฐ์ˆ  ์นดํ…Œ๊ณ ๋ฆฌ
๊ธฐ์ˆ  ์นดํ…Œ๊ณ ๋ฆฌ ์ „์ฒด ์กฐํšŒ

๊ธฐ์ˆ  ์นดํ…Œ๊ณ ๋ฆฌ id๋กœ ์กฐํšŒ

์ƒ์œ„ ์นดํ…Œ๊ณ ๋ฆฌ๋งŒ ์กฐํšŒ

๊ธฐ์ˆ  ์นดํ…Œ๊ณ ๋ฆฌ id๋กœ ํ•˜์œ„ ์นดํ…Œ๊ณ ๋ฆฌ ์กฐํšŒ

๊ธฐ์ˆ  ์นดํ…Œ๊ณ ๋ฆฌ ๋“ฑ๋ก

๊ธฐ์ˆ  ์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •

๊ธฐ์ˆ  ์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œ

๐Ÿ—‚๏ธ ํ”„๋กœ์ ํŠธ

ํ”„๋กœ์ ํŠธ
์ „์ฒด ํ”„๋กœ์ ํŠธ ๋ชฉ๋ก ์กฐํšŒ

์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ ๋ชฉ๋ก ์กฐํšŒ

๋งค์นญ ์ค‘์ธ ํ”„๋กœ์ ํŠธ ๋ชฉ๋ก ์กฐํšŒ

ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰

ํ”„๋กœ์ ํŠธ ๊ธฐ์ˆ  ๋ถ„๋ฅ˜ ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰

ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ & ๊ธฐ์ˆ  ๋ถ„๋ฅ˜ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰

ํ”„๋กœ์ ํŠธ ์ƒ์„ธ ์กฐํšŒ

์ฐธ์—ฌ ์ค‘์ธ ํ”„๋กœ์ ํŠธ ์ •๋ณด ์กฐํšŒ (ํ”„๋กœ์ ํŠธ ๋ฐฉ ์ž…์žฅ)

ํ”„๋กœ์ ํŠธ ๋ฐฉ ์ƒ์„ฑ

ํšŒ์˜๋ก
ํ”„๋กœ์ ํŠธ๋ณ„ ํšŒ์˜๋ก ๋ชฉ๋ก ์กฐํšŒ

ํŒ€์›์ด ์•„๋‹ ๊ฒฝ์šฐ

ํšŒ์˜๋ก ์ž‘์„ฑ

๐Ÿšจ ์‹ ๊ณ 

์‹ ๊ณ 
๋ชจ๋“  ์‹ ๊ณ  ๋ชฉ๋ก ์กฐํšŒ
ํŠน์ • ํšŒ์› ์‹ ๊ณ  ๋ชฉ๋ก ์กฐํšŒ
์ƒํƒœ๋ณ„ ์‹ ๊ณ  ๋ชฉ๋ก ์กฐํšŒ
์‚ญ์ œ ์—ฌ๋ถ€์— ๋”ฐ๋ฅธ ์‹ ๊ณ  ๋ชฉ๋ก ์กฐํšŒ
์‹ ๊ณ  ์‚ฌ์œ  ๋“ฑ๋ก
์‹ ๊ณ  ๋“ฑ๋ก
์‹ ๊ณ  ๋‚ด์—ญ ์‚ญ์ œ(soft delete)
์‹ ๊ณ  ์ฒ˜๋ฆฌ ์ƒํƒœ ์ˆ˜์ •
๊ทœ์ œ
๋ชจ๋“  ๊ทœ์ œ ๋ชฉ๋ก ์กฐํšŒ
ํŠน์ • ํšŒ์› ๊ทœ์ œ ๋ชฉ๋ก ์กฐํšŒ
์‚ญ์ œ ์—ฌ๋ถ€์— ๋”ฐ๋ฅธ ๊ทœ์ œ ๋ชฉ๋ก ์กฐํšŒ
๊ทœ์ œ ๋“ฑ๋ก
๊ทœ์ œ ์‚ญ์ œ(soft delete)

๐Ÿ“‘ API ๋ช…์„ธ์„œ

API ๋ช…์„ธ์„œ

๐Ÿ”œ ํ–ฅํ›„ ํ™•์žฅ ๊ณ„ํš

#Github API + Webhook #ํšŒ์˜๋ก ํ…œํ”Œ๋ฆฟ #์ฑ—๋ด‡ #ํ˜‘์—… ํˆด ์ œ๊ณต #์Šคํ”„๋ง ์Šค์ผ€์ค„๋Ÿฌ


๐Ÿช ๋™๋ฃŒ ํ‰๊ฐ€

๐Ÿ™ ๊ณ ์„ฑ์—ฐ

ํ‰๊ฐ€์ž ๋‚ด์šฉ
๊น€์„ํฌ ํšŒ์› ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์…”์„œ ์ •๋ง ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜์…จ๋Š”๋ฐ, ์‹ซ์€ ์†Œ๋ฆฌ ํ•˜๋‚˜ ์—†์ด ๋ฌต๋ฌตํ•˜๊ฒŒ ๋งก์€ ์ผ์„ ์ˆ˜ํ–‰ํ•ด์ฃผ์…จ๋‹ค. ์–ด๋ ค์šด ๋ฌธ์ œ๋กœ ๋™๋™๋Œ€๊ณ  ์žˆ์œผ๋ฉด ํ•ด๊ฒฐ์ฑ…์„ ๊ฐ™์ด ์ฐพ์•„์ฃผ์‹œ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜์…จ๋‹ค. ๋˜, ๋‹จ์ˆœํžˆ ๊ธฐ๋Šฅ ๊ตฌํ˜„๋งŒ์œผ๋กœ ๋๋‚˜์ง€ ์•Š๊ณ  ๋ฆฌํŒฉํ† ๋ง์ด๋‚˜ ์ปจ๋ฒค์…˜ ๊ฐ™์€ ์‚ฌํ•ญ๋“ค๋„ ๊ผผ๊ผผํžˆ ์ฑ™๊ฒจ์ฃผ์…”์„œ ํ˜‘์—…๋‹ค์šด ํ˜‘์—…์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ์ด๋Œ์–ด์ฃผ์…จ๋‹ค.
์ด์ฒญ๋ฏผ ์ €๋ฒˆ ํ”„๋กœ์ ํŠธ์— ์ด์–ด ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋„ ํ•จ๊ป˜ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์—๋„ ์–ด๋ ค์šด ํŒŒํŠธ๋ฅผ ๋งก์•„ ํ›Œ๋ฅญํ•œ ์„ฑ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ์…จ๋‹ค. ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„๊นŒ์ง€ ์„ธ์„ธํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•ด์ฃผ์…”์„œ ์งง์€ ๊ธฐ๊ฐ„์ž„์—๋„ ํ€„๋ฆฌํ‹ฐ ๋†’์€ ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์˜จ ๊ฒƒ ๊ฐ™๋‹ค.
์žฅ์‹œ์› ์–ด๋ ค์šด ํŒŒํŠธ๋ฅผ ๋งก์•„ ๋ฐค์ƒˆ ์ฝ”๋“œ์™€ ์‹ธ์›€์„ ํ•˜์—ฌ ๊ฒฐ๊ตญ์—๋Š” ์Šน๋ฆฌํ•˜๋Š” ์ง‘๋…์„ ๋ณด์—ฌ์ฃผ์…จ๋‹ค. ๋งก์€ ๋ถ€๋ถ„์ด ์™„์„ฑ๋˜์ง€ ์•Š์œผ๋ฉด ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์•„ ๋ถ€๋‹ด์Šค๋Ÿฌ์› ์„ํ…๋ฐ๋„ ๊ธฐ๊ฐ„ ๋‚ด์— ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•ด์ฃผ์…จ๋‹ค. ๊ตฌํ˜„ ๊ทธ ์ž์ฒด์—๋งŒ ์ดˆ์ ์„ ๋‘์ง€ ์•Š๊ณ  ํ•ญ์ƒ ์ดํ›„์— ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด ๋‚˜๊ฐˆ ์ง€๊นŒ์ง€ ๊ณ ๋ฏผํ•˜๋Š” ๋ชจ์Šต์ด ์ข‹์•˜๋‹ค. ์„œ๋กœ ์˜๊ฒฌ์„ ๋‚˜๋ˆ„๋Š” ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋” ์ข‹์€ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
์ •๋ฏผ์„  ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ค‘ ๊ฐ€์žฅ ๊นŒ๋‹ค๋กœ์šด ๋ถ€๋ถ„์„ ๋งก์•„์ฃผ์…จ๋Š”๋ฐ ๊ธฐ๊ฐ„ ์•ˆ์— ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•ด์ฃผ์…”์„œ ์„œ๋น„์Šค๋‹ค์šด ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. 1์ฐจ์ ์ธ ๋ถ€๋ถ„์—์„œ ๊ทธ์น˜์ง€ ์•Š๊ณ  ํ•ญ์ƒ ๊ณ ๋„ํ™” ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•˜์…”์„œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๋•Œ ๋ฐœ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ ๊ณ ๋ คํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. ๋„์›€์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ๋จผ์ € ๋‚˜์„œ์„œ ๋งก์•„์ฃผ์…”์„œ ์งง์€ ๊ธฐ๊ฐ„ ์•ˆ์— ๊ณ„ํšํ–ˆ๋˜ ๋ถ€๋ถ„๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
์ตœํ˜œ๋ฏผ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ๋งŽ์€ ๊ธฐ์—ฌ๋ฅผ ํ•ด์ฃผ์…จ๋‹ค. ์ œ์ผ ์ค‘์š”ํ•˜๊ณ  ์‰ฝ์ง€ ์•Š์€ ํšŒ์› ๊ธฐ๋Šฅ์„ ์„ฑ์—ฐ๋‹˜์ด ๋งก์œผ์…จ๋Š”๋ฐ ์„ฑ์—ฐ๋‹˜์ด๋ผ ๊ฑฑ์ •์ด ๋˜์ง€๋Š” ์•Š์•˜๋‹ค. ์—ญ์‹œ๋‚˜ ์„ฑ์—ฐ๋‹˜์€ ์–ด๋ ค์šด ๊ธฐ๋Šฅ๋“ค๋„ ํ„ฑํ„ฑ ํ•ด๋‚ด์…จ๊ณ , ๋ณธ์ธ ํŒŒํŠธ๋ฅผ ๋นจ๋ฆฌ ๋๋‚ด์‹œ๊ณ  ๋‹ค๋ฅธ ์ผ์ •๋“ค๋„ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•ด์ฃผ์…จ๋‹ค. ๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„์ด ์ƒ๊ธฐ๋ฉด ์„ฑ์—ฐ๋‹˜ํ•œํ…Œ ์งˆ๋ฌธ์„ ๋งŽ์ด ํ–ˆ๋Š”๋ฐ ๊ทธ๋Ÿด ๋•Œ๋งˆ๋‹ค ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋Œ€๋‹ต์„ ์ž˜ ํ•ด์ฃผ์…จ๊ณ , ์–ด๋–ป๊ฒŒ๋“  ํ•ด๊ฒฐํ•ด์ฃผ์…”์„œ ๋„ˆ๋ฌด ๊ฐ์‚ฌํ–ˆ๋‹ค. ์ •๋ง ๋˜‘๋˜‘ํ•œ ์‚ฌ๋žŒ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋‚˜๋„ ๋„์›€์„ ๋“œ๋ฆฌ๊ณ  ์‹ถ์ง€๋งŒ ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์—†์–ด ์•„์‰ฌ์› ๋‹ค.

๐Ÿชจ ๊น€์„ํฌ

ํ‰๊ฐ€์ž ๋‚ด์šฉ
๊ณ ์„ฑ์—ฐ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ ๋•Œ ์„ํฌ๋‹˜์ด ์—†์—ˆ์œผ๋ฉด ๋งŽ์ด ํœ˜์ฒญ๊ฑฐ๋ฆฌ์ง€ ์•Š์•˜์„๊นŒ ์‹ถ์„ ์ •๋„๋กœ ๋งŽ์€ ์ „๋ฐ˜์ ์ธ ๋ถ€๋ถ„์—์„œ ๋ฐฉํ–ฅ์„ ์žก์•„์ฃผ๊ณ , ํŠนํžˆ ๋ฌธ์„œํ™”๋ฅผ ํ†ตํ•ด ๊ฐ๊ฐ์˜ ๋ชฉํ‘œ์™€ ํ•ด์•ผ ํ• ์ผ ๋ฐฉํ–ฅ ์ผ์ • ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๋ฉด์„œ ํŒ€์›๋“ค์ด ๊ฐœ๋ฐœ์—๋งŒ ์˜จ์ „ํžˆ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งก์€ ์ผ์— ๋Œ€ํ•ด์„œ ์ง‘์ค‘ํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ๋๋‚ด๊ณ , ์–ด๋ ค์šด ํŒŒํŠธ์— ๋Œ€ํ•ด์„œ๋„ ์ง์ ‘ ๊ณต๋ถ€ํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ๋๋‚ด๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์‰ฝ๊ฒŒ ์ ์šฉ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒŒ ์นœ์ ˆํ•œ ๊ฐ€์ด๋“œ๊นŒ์ง€ ์ œ๊ณตํ•ด์ฃผ์‹ ๋‹ค. ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ํ˜ผ์ž ๋‹ค ๋งก๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ์–‘์ธ ๊ฒƒ ๊ฐ™์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํž˜๋“  ๊ธฐ์ƒ‰ ์—†์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งก์•„์ฃผ์…จ๋‹ค.
์ด์ฒญ๋ฏผ ์ •๋ฆฌ์˜ ์‹ . ์Ÿ์•„์ง€๋Š” ๊ณต์ง€์‚ฌํ•ญ๊ณผ ์ •๋ณด๋“ค์„ ์ฆ‰๊ฐ ๋ฌธ์„œํ™”ํ•˜์—ฌ ์–ธ์ œ๋“ ์ง€ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ํ•ด์ฃผ์…จ๊ณ , ์ผ์ผ ํšŒ์˜๋ก ์ž‘์„ฑ ๋“ฑ ํŒ€์˜ ์„œ๊ธฐ๋ฅผ ๋งก์•„์ฃผ์…จ๋‹ค. ๋˜, ์ค‘๊ฐ„์ค‘๊ฐ„ ์‚ฐ์œผ๋กœ ๊ฐ€๋Š” ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ฐ”๋กœ์žก์•„ ์ฃผ์…”์„œ, ํ”„๋กœ์ ํŠธ๊ฐ€ ์›ํ™œํ•˜๊ฒŒ ์ง„ํ–‰๋˜๋Š”๋ฐ ํฐ ์—ญํ• ์„ ํ•˜์…จ๋‹ค.
์žฅ์‹œ์› ์Ÿ์•„์ง€๋Š” ์˜๊ฒฌ์— ์‚ฐ์œผ๋กœ ๊ฐ€์ง€ ์•Š๋„๋ก ๋ฐฉํ–ฅ์„ ์ž˜ ์žก์•„์ฃผ๊ณ  ๊ฐ€์ง€๋ฅผ ์ณ์ฃผ์‹œ๋ฉฐ, ์˜๊ฒฌ์„ ์ž˜ ์กฐ์œจํ•˜๊ณ  ์ด๋Œ์–ด ๋‚˜๊ฐ€์ฃผ์…จ๋‹ค. ํŠนํžˆ ๋ฌธ์„œํ™”๋ฅผ ํ†ตํ•ด ๊ฐ๊ฐ์˜ ๊ฐœ๋ฐœ ํ˜„ํ™ฉ์„ ์ ๊ฒ€ํ•˜๊ณ  ์ผ์ •์„ ์กฐ์œจํ•˜๋ฉฐ ์˜จ์ „ํžˆ ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋งก์€ ์ผ์„ ๋น ๋ฅด๊ฒŒ ๋๋‚ด๊ณ , ๊ฐ๊ฐ ๋งก์€ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋ง‰ํ˜€์žˆ๋Š” ๋™์•ˆ ์–ด๋ ค์šด ๋ถ€๋ถ„์„ ์ถ”๊ฐ€๋กœ ๋งก์•„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ธํŒ…์„ ํ•ด์ฃผ์…จ๋‹ค. ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๋ถ€๋ถ„๋„ ํ™•์ธํ•˜๊ณ  ์ˆ˜์ •ํ•ด์ฃผ์–ด ๊ฐœ๋ฐœ์ด ๋Šฆ์€ ์ž…์žฅ์—์„œ ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ข‹์•˜๋‹ค.
์ •๋ฏผ์„  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์˜ ํ‹€์„ ์žก์•„์ฃผ์…จ๋‹ค. ํšŒ์˜๋ฅผ ๋ฆฌ๋“œํ•ด์ฃผ์‹œ๋ฉด์„œ ๋™์‹œ์— ๊ฐ์ข… ๋ฌธ์„œํ™” ์ž‘์—…์„ ์™„๋ฒฝํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ด์ฃผ์…”์„œ ๊ฐœ๋ฐœ์— ์˜จ์ „ํžˆ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋งก์€ ๋ถ€๋ถ„์„ ๋น ๋ฅด๊ฒŒ ๋๋‚ด์‹œ๊ณ  ๋„์›€์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ํ•ด๊ฒฐํ•ด์ฃผ์…”์„œ ๊ณ„ํšํ–ˆ๋˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๊ธฐํ•œ ์•ˆ์— ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•ญ์ƒ ๋ฐ์€ ์—๋„ˆ์ง€๋กœ ์•„์ด๋””์–ด๋ฅผ ์ด๋Œ์–ด๋‚ด ์ฃผ์…”์„œ ๋งŽ์€ ์ ์„ ๋ฐฐ์› ๋‹ค.
์ตœํ˜œ๋ฏผ ์šฐ๋ฆฌ ํŒ€์—์„œ ์—†์–ด์„œ๋Š” ์•ˆ๋  ์กด์žฌ.. ์–ด๋ ต๊ณ  ๋ณต์žกํ•œ ๊ธฐ๋Šฅ๋„ ๋จผ์ € ๋‚˜์„œ์„œ ํ•ด๊ฒฐํ•ด์ฃผ์…จ๋‹ค. ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๋งก๊ฒŒ ๋˜์–ด ๋ถ€๋‹ด์ด ์ปธ์„ ํ…๋ฐ ์‹ซ์€ ์†Œ๋ฆฌ ์—†์ด ๋ฌต๋ฌตํžˆ ํ•ด์ฃผ์…จ๋‹ค. ์ €๋ฒˆ ํ”„๋กœ์ ํŠธ์— ์ด์–ด์„œ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋„ ํ•จ๊ป˜ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์—๋„ ์˜์ง€๋ฅผ ๋งŽ์ด ํ•˜๊ณ  ์žˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋‚  ๋•Œ๋งˆ๋‹ค ์„ํฌ๋‹˜๋ถ€ํ„ฐ ์ฐพ๊ฒŒ ๋˜๋Š”๋ฐ ํ•ญ์ƒ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•„์ฃผ์‹ ๋‹ค. ๋ฌธ์„œ ์ •๋ฆฌ๋„ ๊น”๋”ํ•˜๊ฒŒ ํ•ด์ฃผ์‹œ๊ณ  ์ปจ๋ฒค์…˜๋„ ๋ฏธ๋ฆฌ ๋‹ค ์„ค์ •์„ ํ•ด์ฃผ์…”์„œ ํŒ€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆ˜์›”ํ•˜๊ฒŒ ์ง„ํ–‰๋  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๐ŸŠ ์ด์ฒญ๋ฏผ

ํ‰๊ฐ€์ž ๋‚ด์šฉ
๊ณ ์„ฑ์—ฐ ์ด๋ฒˆ์— ๋ฐœํ‘œ๊นŒ์ง€ ๋งก์•„์ฃผ์‹œ๋ฉด์„œ ์–ด๋ ค์šด ์ผ์ž„์—๋„ ํ›Œ๋ฃกํ•˜๊ฒŒ ์ž˜ ํ•ด์ฃผ์…จ๋‹ค. ๋˜ํ•œ ๋ณธ์ธ์ด ๋งก์€ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด์„œ ๋น ๋ฅด๊ฒŒ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ณ  ๋งก์€ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์˜ค๋ฅ˜ ์—†์ด ๋งŒ๋“ค์–ด์ฃผ์…”์„œ ํ•ญ์ƒ ๋ฏฟ์Œ์ง์Šค๋Ÿฝ๋‹ค. ๋ฒŒ์จ ๋‘ ๋ฒˆ์งธ ๊ฐ™์€ ํŒ€์œผ๋กœ์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์ธ๋ฐ ์˜๊ฒฌ์ด ๊ฐˆ๋ฆฌ๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ๋ณธ์ธ์ด ์•Œ๊ณ  ์žˆ๋Š” ์ง€์‹๊ณผ ๊ฒฌํ•ด๋ฅผ ํ†ตํ•ด ๋ฐฉํ–ฅ์„ ์ž˜ ์žก์•„์ฃผ์‹ ๋‹ค. ํ•˜๊ณ  ์‹ถ์€ ๊ฑด ๋งŽ์•„์„œ ์ผ์„ ๋ฒŒ๋ ค ๋†“๋Š” ์Šคํƒ€์ผ์ธ๋ฐ ํ•ด์•ผ ํ•  ๊ฒƒ๊ณผ ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ๊ณ„์„ ์„ ์žก์•„์ฃผ์–ด ์ผ์„ ์ „๋ฐ˜์ ์œผ๋กœ ๊ธฐ๊ฐ„ ์•ˆ์— ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด ์ฃผ์—ˆ๋‹ค.
๊น€์„ํฌ ํ•ญ์ƒ PR์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋ฅผ ๊ผผ๊ผผํ•˜๊ฒŒ ํ•ด์ฃผ์…”์„œ ๋†“์นœ ๊ธฐ๋Šฅ๋“ค์ด๋‚˜ ์ž˜๋ชป ๊ธฐ์ž…๋œ ์ฝ”๋“œ๋“ค์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋‚ด๊ฐ€ ์ž˜๋ชป ์•Œ๊ณ  ์žˆ๋Š” ๊ฐœ๋…๋“ค์„ ํ•ญ์ƒ ์นœ์ ˆํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ์žˆ๋‹ค. ํšŒ์˜ ๋•Œ๋Š” ๋ฌต๋ฌตํžˆ ๋“ค์–ด์ฃผ์‹œ๋‹ค๊ฐ€๋„ ์ค‘์š”ํ•œ ์ˆœ๊ฐ„์— ์ข‹์€ ์•„์ด๋””์–ด๋ฅผ ์ฃผ์…”์„œ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋” ์ข‹์€ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰๋  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
์žฅ์‹œ์› ์ด‰๋ฐ•ํ•œ ์ผ์ •์—์„œ ๋ฐœํ‘œ๊นŒ์ง€ ๋งก์•„์ฃผ์‹œ๋ฉฐ ๊ธด์žฅ์ด ๋˜์—ˆ์„ ํ…๋ฐ๋„ ์ž˜ ํ•ด์ฃผ์…จ๋‹ค. ํ•ญ์ƒ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์„ธ์„ธํ•˜๊ฒŒ ๋ด์ฃผ์…”์„œ ๋†“์ณค๋˜ ๋ถ€๋ถ„๋“ค์„ ์ž˜ ์ฐพ์•„์ฃผ์‹ ๋‹ค. ํ•ญ์ƒ ์ฐจ๋ถ„ํ•˜๊ฒŒ ์˜๊ฒฌ์„ ์ œ์‹œํ•˜๊ณ  ์„ค๋ช…์„ ํ•ด์ฃผ์…”์„œ ์˜๊ฒฌ ๊ตํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ๋„ ๋ฌด์•ˆํ•˜์ง€ ์•Š๊ฒŒ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์กฐ์šฉํ•˜์ง€๋งŒ ๋งก์€ ๋ถ€๋ถ„์„ ๊ณง๋ฐ”๋กœ ๋ง‰ํž˜์—†์ด ๋งŒ๋“ค๊ณ  ๋ฌผ์–ด๋ณด๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•ด ์ž˜ ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ณ  ๋„์™€์ฃผ์…”์„œ ๊ฐ์‚ฌํ–ˆ๋‹ค.
์ •๋ฏผ์„  PR ๊ณผ์ •์—์„œ ๋†“์นœ ๋ถ€๋ถ„์„ ์˜ˆ๋ฆฌํ•˜๊ฒŒ ์ฐพ์•„ ์ฃผ์‹œ๊ณ  ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„์„ ์กฐ์–ธํ•ด์ฃผ์…จ๋‹ค. ์•„์ด๋””์–ด๋ฅผ ๊ณต์œ ํ•  ๋•Œ๋„ ๊ตฌ์ฒด์ ์ธ ๋ถ€๋ถ„์„ ๊ณ ๋ คํ•ด์„œ ์„ค๊ณ„ํ•ด์ฃผ์…”์„œ ๋‹ค์Œ ๊ณผ์ •์„ ์ดํ•ดํ•˜๊ฑฐ๋‚˜ ๊ตฌ์ƒํ•  ๋•Œ ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ๋‹ค. ๊ฐœ๋ฐœ๊ณผ ๋ฐœํ‘œ๋ฅผ ๋™์‹œ์— ์ค€๋น„ํ•˜์…”์•ผ ํ•ด์„œ ๋ถ€๋‹ด์ด ๋งŽ์œผ์…จ์„ ํ…๋ฐ ์ฐจ๋ถ„ํ•˜๊ฒŒ ์ž˜ ๋งˆ๋ฌด๋ฆฌํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ–ˆ๋‹ค.
์ตœํ˜œ๋ฏผ ์ด๋ฒˆ์— PPT๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜์–ด์„œ ๋ฐœํ‘œ ๋‹ด๋‹น์ธ ์ฒญ๋ฏผ๋‹˜์—๊ฒŒ ๋ฐœํ‘œ ์ž๋ฃŒ๋ฅผ ๋นจ๋ฆฌ ๋„˜๊ฒจ๋“œ๋ ค์•ผ ํ–ˆ๋Š”๋ฐ ๋ฐœํ‘œ ์ง์ „๊นŒ์ง€๋„ ์ˆ˜์ •์„ ํ•˜๊ฒŒ ๋˜์–ด ๋„ˆ๋ฌด ์ฃ„์†กํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฒญ๋ฏผ๋‹˜์ด ๋ฐœํ‘œ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ–ˆ๋‹ค. ์ด๋ฒˆ์— ๊ฐ™์€ ํŒ€์ด ๋˜๋ฉด์„œ ์ฒ˜์Œ ๋Œ€ํ™”๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋งŽ์ด ์นœํ•ด์ง„ ๊ฒƒ ๊ฐ™๋‹ค! ํ‰์†Œ์—๋Š” ๋ฌต๋ฌตํžˆ ๊ณ„์‹œ์ง€๋งŒ ์˜๊ฒฌ์ด ํ•„์š”ํ•  ๋•Œ๋‚˜ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ์ƒ๊ฒจ ์งˆ๋ฌธ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๋Œ€๋‹ต์„ ๋˜๊ฒŒ ์ž˜ํ•ด์ฃผ์‹œ๊ณ  ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ์—†์œผ์‹œ๋‹ค. ํ•ญ์ƒ ๋งŽ์ด ๋ฐฐ์šฐ๊ณ  ์žˆ๋‹ค.

๐Ÿฆ ์žฅ์‹œ์›

ํ‰๊ฐ€์ž ๋‚ด์šฉ
๊ณ ์„ฑ์—ฐ ์„ํฌ๋‹˜๊ณผ ๋”๋ถˆ์–ด ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ๊ธฐ๊ฐ„ ๋‚ด ๊ฐ€์žฅ ๋งŽ์ด ์ปค๋ฐ‹์„ ๋‚ ๋ ค์ฃผ์‹œ๊ณ , ์„œ๋น„์Šค์˜ ๋ฐฉํ–ฅ์— ๋Œ€ํ•ด ๋งŽ์€ ์˜๊ฒฌ์„ ์ œ์‹œํ•ด์ฃผ๊ณ  ์ž˜๋ชป ์ƒ๊ฐํ•˜๋Š” ๋ถ€๋ถ„์— ์žˆ์–ด ์ •์ •์„ ์ž˜ ํ•ด์ฃผ์…จ๋‹ค. ๋˜ํ•œ ๋งก์€ ์˜์—ญ์˜ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ๊ณผ ๋”๋ถˆ์–ด ๋‹ค๋ฅธ ๋„๋ฉ”์ธ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ถ€๋ถ„๊นŒ์ง€ ์ฒดํฌํ•˜์—ฌ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ์ง€์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ํ•˜์—ฌ ์ถ”ํ›„์— ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋งค์šฐ ์ข‹์•˜๋‹ค. ์–ด๋ ค์šด ๋ถ€๋ถ„์„ ๋งก์•˜์Œ์—๋„ ๊ธฐ๊ฐ„ ์•ˆ์— ์˜ค๋ฅ˜ ์—†์ด ๋งŒ๋“ค์–ด ์ฃผ์‹œ๊ณ  ๋ฏฟ์Œ์ด ๊ฐ”๋‹ค. ์„œ๋กœ์˜ ์˜๊ฒฌ ๊ตํ™˜์„ ํ†ตํ•ด ์ข€ ๋” ์ข‹์€ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๋Š” ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
๊น€์„ํฌ ํ”„๋กœ์ ํŠธ์— ์ ๊ทน์ ์œผ๋กœ ์ž„ํ•˜๋Š” ์ž์„ธ๊ฐ€ ์ •๋ง ๋ฉ‹์žˆ๋Š” ๋ถ„์ด๋‹ค. ๋‹ค๋ฅธ ๋„๋ฉ”์ธ๊ณผ ์—ฎ์—ฌ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋งŽ์•„์„œ ์–ด๋ ค์šด ์ƒํ™ฉ์ด ๋งŽ์œผ์…จ์„ํ…๋ฐ ํž˜๋“  ๋‚ด์ƒ‰ ํ•˜๋‚˜ ์—†์ด ๋งก์€ ๋ฐ”๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•ด์ฃผ์…จ๋‹ค. ํ”„๋กœ์ ํŠธ ์™„์„ฑ์—๋งŒ ์ดˆ์ ์„ ๋‘์ง€ ์•Š๊ณ  ๊ธฐ์ˆ ์  ๋ฐœ์ „์ด๋‚˜ ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ๋„ ๊ฐ™์ด ์ƒ๊ฐํ•ด์ฃผ์…”์„œ ๊ฐœ๋ฐœ์— ๋งŽ์€ ๋„์›€์„ ์ฃผ์…จ๋‹ค. ๋˜ํ•œ, Context map์„ ์™„์„ฑํ•ด์ฃผ์…”์„œ ๊ธฐ๋Šฅ์„ ์ข€ ๋” ์ˆ˜์›”ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
์ด์ฒญ๋ฏผ ๋‹ค๋ฅธ ์กฐ์›๋“ค์ด ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง์„ ํ•˜๋Š” ์‚ฌ์ด ํ˜ผ์ž ์ปจํ…์ŠคํŠธ ๋งต์„ ํ€„๋ฆฌํ‹ฐ ๋†’๊ฒŒ ์™„์„ฑํ•ด์ฃผ์…”์„œ ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ์— ํฐ ๋„์›€์ด ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋ ค์šด ๋งค์นญ ๋„๋ฉ”์ธ์„ ๋งก์•˜์Œ์—๋„ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•˜์…จ๋‹ค. ๋” ๋‚˜์•„๊ฐ€, ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์— ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋„ ์ œ์‹œํ•ด์ฃผ์…”์„œ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ์— ํฐ ๊ธฐ์—ฌ๋ฅผ ํ•˜์…จ๋‹ค.
์ •๋ฏผ์„  ์•„์ด๋””์–ด๋ฅผ ๊ณต์œ ํ•  ๋•Œ ๋‹ค์–‘ํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ ๋ คํ•ด์ฃผ์…”์„œ ๋†“์ณค๋˜ ๋ถ€๋ถ„์„ ๋Œ€๋น„ํ•˜๊ณ  ๊ตฌ์ฒดํ™”ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. Context Map ์„ ๋งก์•„์„œ ์ •๋ฆฌํ•ด์ฃผ์…จ๋Š”๋ฐ, ๋„๋ฉ”์ธ ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ž˜ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์„œ๋น„์Šค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ถฉ๋ถ„ํ•œ ๊ทผ๊ฑฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ ๊ทน์ ์œผ๋กœ ์˜๊ฒฌ์„ ์ œ์‹œํ•˜๋Š” ๋ชจ์Šต์„ ๋ณด๋ฉฐ ๋งŽ์ด ๋ฐฐ์› ๋‹ค.
์ตœํ˜œ๋ฏผ ํšŒ์˜๋ฅผ ํ•  ๋•Œ๋ฉด ์ ๊ทน์ ์œผ๋กœ ์•„์ด๋””์–ด๊ฐ€ ๋งŽ์ด ๋‚ด์ฃผ์…”์„œ ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ฐœ๋ฐœ ์ผ์ •์ด ์‹œ์ž‘๋˜์—ˆ์„ ๋•Œ ๋‹จ์ˆœํ•˜๊ฒŒ ์ž…๋ ฅ๋œ ๊ธฐ๋Šฅ๋งŒ ๋”ฑ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๋” ๋‚˜์•„๊ฐ€ ์ƒ๊ฐ์„ ํ•˜์…”์„œ ๊ตฌํ˜„์„ ํ•˜์‹œ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋‚˜๋Š” ์ •ํ•ด์ง„ ๊ฒƒ๋งŒ ๋”ฑ ํ•˜๊ณ  ๋งˆ๋Š”๋ฐ ์‹œ์›๋‹˜์„ ๋ณด๋ฉด์„œ ๋งŽ์ด ๋ฐฐ์› ๋‹ค. ๋ณธ์ธ ํŒŒํŠธ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํŒŒํŠธ์—์„œ๋„ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ƒ๊ฐํ•˜๊ณ  ์ „๋‹ฌํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ–ˆ๋‹ค.

๐Ÿฆญ ์ •๋ฏผ์„ 

ํ‰๊ฐ€์ž ๋‚ด์šฉ
๊ณ ์„ฑ์—ฐ ์ฒญ๋ฏผ๋‹˜๊ณผ ๋น„์Šทํ•œ ๋ถ„์œ„๊ธฐ์˜ ์ฐจ๋ถ„ํ•˜์‹  ๋А๋‚Œ์ด์—ˆ๋Š”๋ฐ, ๋ณธ์ธ์ด ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๋‚จ๋“ค์ด ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ถ€๋ถ„๊นŒ์ง€๋„ ์ž˜ ์•Œ๊ณ  ๊ณ„์‹œ๊ณ , ์กฐ์šฉํžˆ ๋ณธ์ธ์ด ๋งก์€ ํŒŒํŠธ์— ๋Œ€ํ•ด์„œ ๋น ๋ฅด๊ฒŒ ์™„๋ฃŒํ•˜๊ณ  ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ์ผ๊นŒ์ง€ ๋„์™€์ฃผ๋ฉฐ ์ƒ๋‹นํžˆ ๋งŽ์€ ๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ•˜์…จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ด๋‹น ๋„๋ฉ”์ธ์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋ฌผ์–ด๋ณผ ์ผ๋“ค์ด ๋งŽ์•˜๋Š”๋ฐ, ํ•ญ์ƒ ์ •ํ™•ํ•˜๊ฒŒ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์„ ์•Œ๋ ค์ฃผ์…จ๊ณ , ์ด์Šˆ ๊ด€๋ฆฌ์™€ pr์„ ๊พธ์ค€ํžˆ ํ•ด์ฃผ์…”์„œ ์ง€๊ธˆ ์–ด๋””๊นŒ์ง€ ์ง„ํ–‰๋˜์—ˆ๋Š”์ง€, ํ˜„์žฌ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ธ์ง€ ํ•œ๋ฒˆ์— ํ™•์ธ์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค.
๊น€์„ํฌ ํšŒ์˜๋‚˜ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ๋†“์ณค๋˜ ๋ถ€๋ถ„๋“ค์„ ํ•ญ์ƒ ๊ผผ๊ผผํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์ฃผ์‹œ๊ณ  ๋ฌธ์„œํ™”ํ•ด์ฃผ์…จ๋‹ค. ๋งก์€ ๋„๋ฉ”์ธ์˜ ์–‘์ด ๊ต‰์žฅํžˆ ๋งŽ์œผ์…จ์–ด์„œ ์–ด๋ ค์›€๋„ ๋งŽ์•˜์„ํ…๋ฐ ๋งˆ๊ฐ ๊ธฐํ•œ์„ ํ•œ๋ฒˆ๋„ ๋„˜๊ธด ์  ์—†์ด ์™„๋ฒฝํ•˜๊ฒŒ ์™„์„ฑํ•ด์ฃผ์…จ๋‹ค. ๋˜ํ•œ, ๋ฏผ์„ ๋‹˜ ์ฝ”๋“œ์—๋Š” ํ•ญ์ƒ ์ฃผ์„์ด ์ƒ์„ธํ•˜๊ฒŒ ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด์„œ ๋ฆฌ๋ทฐํ•˜๊ธฐ๊ฐ€ ๊ต‰์žฅํžˆ ํŽธํ–ˆ๋‹ค. ํ‰์†Œ์—” ๋ฌต๋ฌตํžˆ ํšŒ์˜์— ์ง‘์ค‘ํ•˜์‹œ๋‹ค๊ฐ€๋„ ์ค‘์š”ํ•  ๋• ์ ๊ทน์ ์œผ๋กœ ์˜๊ฒฌ์„ ์ œ์‹œํ•ด์ฃผ์…”์„œ ๋” ๋‚˜์€ ํ”„๋กœ์ ํŠธ๋กœ ์™„์„ฑ๋  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
์ด์ฒญ๋ฏผ ๋‚จ๋“ค์ด ๋†“์น˜๊ธฐ ์‰ฌ์šด ๋ถ€๋ถ„์„ ๊ณ ๋ คํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์™„์„ฑ๋„๋ฅผ ๋†’์ด๋Š”๋ฐ ํฐ ๊ธฐ์—ฌ๋ฅผ ํ–ˆ๋‹ค. ์กฐ์šฉํžˆ ์—„์ฒญ๋‚œ ์–‘์˜ ์ž‘์—…์„ ์†Œํ™”ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ–ˆ๋‹ค. ํŠนํžˆ, ํ˜œ๋ฏผ๋‹˜๊ณผ ํ•จ๊ป˜ ๋ฐœํ‘œ์— ์‚ฌ์šฉํ•  ppt๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์…”์„œ ๋ฐœํ‘œ ์ค€๋น„ํ•˜๋Š”๋ฐ ํฐ ๋„์›€์ด ๋๋‹ค.
์žฅ์‹œ์› ์ €๋ฒˆ ํ”„๋กœ์ ํŠธ ๋•Œ๋„ ๋А๊ผˆ์ง€๋งŒ ํ•ญ์ƒ ๊ผผ๊ผผํ•˜๊ฒŒ ๋ณด๋ฉด์„œ ๋‚จ๋“ค์ด ๋†“์น˜๊ธฐ ์‰ฌ์šด ๊ฒฝ์šฐ๊นŒ์ง€ ๊ณ ๋ คํ•˜์—ฌ ์ฃผ์–ด ํ”„๋กœ์ ํŠธ์˜ ์™„์„ฑ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋‹ด๋‹น ๋„๋ฉ”์ธ ๋ถ€๋ถ„๊ณผ ์š”์ฒญ์ด ํ•„์š”ํ•œ ์ผ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๋‚ด ํŒŒํŠธ์—์„œ ๋„˜์–ด์˜ฌ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๊นŒ์ง€ ๊ณ ๋ คํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ํ•ด์ฃผ์…”์„œ ๋ฏผ์„ ๋‹˜์ด ๊ฐœ๋ฐœํ•œ ๋„๋ฉ”์ธ์˜ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ˜œ๋ฏผ๋‹˜๊ณผ ํ•จ๊ป˜ ๊ฐœ๋ฐœ ๋ฟ ์•„๋‹ˆ๋ผ ppt๋‚˜ WBS ๋“ฑ ๋ฌธ์„œํ™”์—์„œ๋„ ์—„์ฒญ๋‚œ ํ€„๋ฆฌํ‹ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ ์—„์ฒญ๋‚˜๊ฒŒ ๋น ๋ฅด๊ฒŒ ์‹ฌ์ง€์–ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜์„ ํ•ด์ฃผ์‹ ๋‹ค. ์ฃผ์„๋„ ๊ผผ๊ผผํ•˜๊ฒŒ ์ ์–ด์ฃผ๊ณ  ๊ตฌ์กฐ๋“ค์„ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ์–ด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ํŽธํ–ˆ๋‹ค. ์–ธ์ œ๋‚˜ ๋ฌต๋ฌตํ•˜๊ฒŒ ๋งก์€ ๋ถ€๋ถ„ ์ด์ƒ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ๊ฐ€์ ธ์˜ค์…”์„œ ๋ฏฟ์Œ์ง์Šค๋Ÿฝ๋‹ค.
์ตœํ˜œ๋ฏผ ์˜†์ž๋ฆฌ์—์„œ ๋‚ด ์งˆ๋ฌธ ํญํƒ„์„ ๋ฐ›์•„์ฃผ์‹œ๋А๋ผ ๊ณ ์ƒ ์ค‘์ด์‹œ๋‹ค. ์ •์ž‘ ๋‚˜๋Š” ๋ฏผ์„ ๋‹˜ ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•ด๋“œ๋ฆฌ์ง€ ๋ชปํ•ด์„œ ์ฃ„์†กํ•œ ๋งˆ์Œ์ด๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์•ˆ๋˜๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•˜๋Š”๋ฐ ๊ทธ๋Ÿด ๋•Œ๋งˆ๋‹ค ๋ฏผ์„ ๋‹˜ํ•œํ…Œ ํˆฌ์ •์„ ๋งŽ์ด ๋ถ€๋ ธ๋‹ค. ๋‚ด ๋ฌธ์ œ๋ฅผ ๊ฐ™์ด ๊ณ ๋ฏผํ•ด์ฃผ์‹œ๊ณ  ํ•ด๊ฒฐ๊นŒ์ง€ ํ•ด์ฃผ์…”์„œ ๋„ˆ๋ฌด ๊ฐ์‚ฌํ–ˆ๋‹ค. ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋А๋‚€ ๊ฑด๋ฐ ๋ฏผ์„ ๋‹˜์˜ ์ผ์ฒ˜๋ฆฌ๊ฐ€ ๊ผผ๊ผผํ•˜๊ณ  ๋น ๋ฅด๋‹ค. ๊ผผ๊ผผํ•˜๋ฉด์„œ ๋น ๋ฅด๊ธฐ๊ฐ€ ์‰ฝ์ง€์•Š์€๋ฐ.. ํ•ด์•ผํ•˜๋Š” ์ผ์ด ์ƒ๊ฒจ์„œ ์ด๊ฑฐ ์ด์ œ ํ•ด์•ผ ๋ผ์š”! ํ•˜๋ฉด ์ด๋ฏธ ์˜†์—์„œ ํ•˜๊ณ  ๊ณ„์‹ ๋‹ค. ์˜†์—์„œ ๋ณด๋ฉด์„œ ๋งŽ์ด ๋ฐฐ์šฐ๋Š” ์ค‘์ด๋‹ค.

๐Ÿง ์ตœํ˜œ๋ฏผ

ํ‰๊ฐ€์ž ๋‚ด์šฉ
๊ณ ์„ฑ์—ฐ ๋ณธ์ธ ์ฃผ์žฅ์œผ๋กœ๋Š” ์ž˜ ๋ชจ๋ฅธ๋‹ค๊ณ  ํ•˜์‹œ์ง€๋งŒ ํ•ญ์ƒ ๋ณธ์ธ์—๊ฒŒ ํ• ๋‹น๋œ ์ผ์€ ์ž ์„ ๋œ ์ž๋ฉด์„œ ๊นŒ์ง€ ์ผ์ •๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์™„์„ฑํ•ด์ฃผ์‹ ๋‹ค. ํ•ญ์ƒ ํŒ€์˜ ๋ถ„์œ„๊ธฐ๊ฐ€ ์ข‹์€ ์ด์œ  ์ค‘์— ๊ฐ€์žฅ ํฐ ๊ธฐ์—ฌ๋ฅผ ํ•˜์‹ ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋ธ๋ง์ด๋‚˜ ppt๋“ฑ ๊ฐœ๋ฐœ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฌธ์„œํ™” ๋“ฑ์—์„œ๋„ ์—„์ฒญ๋‚œ ํ€„๋ฆฌํ‹ฐ๋ฅผ ์ œ๊ณตํ•ด์ฃผ์‹ ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์˜๊ฒฌ์ด ์• ๋งคํ•˜๊ฒŒ ๋Œ€๋ฆฝ๋ ๋•Œ ์„œ๋กœ ์–‘์ธก์ด ๋‚ฉ๋“ํ• ๋งŒํ•œ ์–˜๊ธฐ๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•จ์— ์žˆ์–ด์„œ ์‹ธ์šฐ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ํ˜œ๋ฏผ๋‹˜์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•  ๋•Œ๋งˆ๋‹ค ํ•œ๋ˆˆ์— ์•Œ์•„๋ณด๊ธฐ ์ข‹์€ ์ฝ”๋“œ๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•ด์ฃผ์…จ๋‹ค.
๊น€์„ํฌ ํ•ญ์ƒ ๋งก์€ ์ผ์„ ๋น ๋ฅด๊ณ  ์™„๋ฒฝํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•ด์ฃผ์‹ ๋‹ค. ํ”„๋กœ์ ํŠธ ๋ง‰๋ฐ”์ง€๊ฐ€ ๋˜๋ฉด ํ•ด์•ผํ•  ์ผ์ด ์ •๋ง ๋งŽ์ด ์Ÿ์•„์ ธ์„œ ์ •์‹ ์ด ํ•˜๋‚˜๋„ ์—†๋Š”๋ฐ, ํ˜œ๋ฏผ๋‹˜์ด ์žˆ์œผ๋ฉด ์ผ์ฒ˜๋ฆฌ๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰๋ผ์„œ ๊ฑฑ์ •์ด ๋ณ„๋กœ ์—†๋‹ค. ์ €๋ฒˆ ํ”„๋กœ์ ํŠธ๋ถ€ํ„ฐ ๋ฒŒ์จ ๋‘๋ฒˆ์งธ ํ˜‘์—…์ธ๋ฐ, ๋งค๋ฒˆ ๊ผผ๊ผผํ•˜๊ณ  ํ™•์‹คํ•˜๊ฒŒ ๋งก์€ ๋ฐ”๋ฅผ ๋๋‚ด์ฃผ์‹ค๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹ ๊ฒฝ์“ฐ๊ธฐ ํž˜๋“  ์ผ๋„ ๋„๋งก์•„ํ•ด์ฃผ์…”์„œ ํ•ญ์ƒ ๊ฐ์‚ฌํ•˜๋‹ค. ํŒ€ ๋ถ„์œ„๊ธฐ๋„ ์ข‹๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ์‹œ๋Š” ์ •๋ง ์—†์–ด์„œ ์•ˆ๋˜๋Š” ๋ถ„์ด๋‹ค.
์ด์ฒญ๋ฏผ ๋ณ„๋กœ ์ž์‹  ์—†์–ด ํ•˜์‹œ๋Š” ๋“ฏ ํ•˜๋ฉด์„œ๋„ ๋งก์€ ์ผ์„ ์ตœ์„ ์„ ๋‹คํ•ด ํ•ด์ฃผ์…จ๊ณ , ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋‚จ๊ธฐ์…จ๋‹ค. ๋˜, ๋ฏผ์„ ๋‹˜๊ณผ ํ•จ๊ป˜ ๋ฐœํ‘œ์— ์“ฐ์ผ ppt๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์…จ๊ณ , ๋ฐœํ‘œ ์ค€๋น„ํ•˜๋ฉฐ ๊ธด์žฅํ•œ ๋‚˜๋ฅผ ๊ฒฉ๋ คํ•ด์ฃผ์…”์„œ ๋ฐœํ‘œ๋ฅผ ์ž˜ ๋๋งˆ์น  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
์žฅ์‹œ์› ํŒ€์— ์ฆ๊ฑฐ์šด ์—๋„ˆ์ง€๊ฐ€ ๋„˜์น˜๊ฒŒ ํ•ด์ฃผ๋Š” ์›๋™๋ ฅ์ด๋ฉฐ ๋ถ„์œ„๊ธฐ ๋ฉ”์ด์ปค๋ฅผ ๋งก๊ณ  ๊ณ„์‹ ๋‹ค. ์ž์‹ ์—†์–ด ํ•˜๋‹ค๊ฐ€๋„ ๋‹ค์Œ๋‚  ๋ณด๋ฉด ๋งก์€ ๋ถ€๋ถ„์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•œ PR์ด ์˜ฌ๋ผ์™€ ์žˆ๋‹ค. ๊ฐœ๋ฐœ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋„˜์น˜๋Š” ๋ฏธ์  ๊ฐ๊ฐ์œผ๋กœ ppt์˜ ํ€„๋ฆฌํ‹ฐ๋ฅผ ํ•œ ์ธต ๋” ๋Œ์–ด ์˜ฌ๋ ค์ฃผ์‹œ๋ฉฐ ์š”์ฒญ ์‚ฌํ•ญ ๋ฐ˜์˜์„ ์ž˜ํ•ด์ฃผ์‹ ๋‹ค. ๊ฐœ๋ฐœ ๋‚œ์ด๋„์™€ ๋ณ„๊ฐœ๋กœ ๋งŽ์€ ํ…Œ์ด๋ธ”์„ ๋‹ด๋‹นํ•˜์…จ๋Š”๋ฐ ๊ผผ๊ผผํžˆ ๋‹ค์–‘ํ•œ ์ผ€์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์–ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ•  ๋•Œ ์ดํ•ดํ•˜๊ธฐ ์ข‹์•˜๋‹ค.
์ •๋ฏผ์„  ์งง์€ ๊ธฐ๊ฐ„ ์•ˆ์— ๋งก์€ ๋ถ€๋ถ„์„ ์™„๋ฒฝํ•˜๊ฒŒ ๋งˆ๋ฌด๋ฆฌํ•ด์ฃผ์…จ๋‹ค. ์˜๊ฒฌ์„ ๋‚˜๋ˆŒ ๋•Œ ์ ๊ทน์ ์œผ๋กœ ์ž„ํ•˜์‹œ๊ณ  ๋†“์ณค๋˜ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด์ฃผ์…”์„œ ๋งŽ์€ ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ”ผ๋“œ๋ฐฑ์„ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜ํ•ด์ฃผ์‹œ๊ณ  ๊ฐ์ข… ๋ฌธ์„œํ™” ์ž‘์—…์„ ๊น”๋”ํ•˜๊ฒŒ ์™„์„ฑํ•ด์ฃผ์‹ ๋‹ค. ์—๋Ÿฌ๋‚˜ ๊ฐ์ข… ์ด์Šˆ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ์‹ ์†ํ•˜๊ฒŒ ์˜๊ฒฌ์„ ๊ณต์œ ํ•˜๊ณ  ํ•จ๊ป˜ ํ•ด๊ฒฐํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ–ˆ๋‹ค.

About

๐Ÿ™ ๊ณ ์„ฑ์—ฐ ๐Ÿชจ ๊น€์„ํฌ ๐ŸŠ ์ด์ฒญ๋ฏผ ๐Ÿฆ ์žฅ์‹œ์› ๐Ÿฆญ ์ •๋ฏผ์„  ๐Ÿง ์ตœํ˜œ๋ฏผ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages