OBJECT(V1) - daehyun99/Translate-app GitHub Wiki

(์ˆ˜์ • ์ค‘) ๊ด€๋ จ ์ด์Šˆ

๊ฐ์ฒด ์ „์ฒด ๋ชฉ๋ก

| User | Domain | User ์ •๋ณด ๊ด€๋ฆฌ,
User ์ƒํƒœ ๋ณ€๊ฒฝ | id: str,
pw: str,
email: str,
service_enabled: bool | is_service_enabled(id: User.id) | | UserService| Application | ๊ณ ์ˆ˜์ค€ UseCase ์กฐ์œจ ๋ฐ ๊ด€๋ฆฌ(ํšŒ์›๊ฐ€์ž… ์ „์ฒด ๋กœ์ง) | User,
Validator,
ValidatorService, RegisterService, EmailService | sign_up(email: User.email) | | UserRepository | Persistence | User ๊ฐ์ฒด์˜ ์˜์†์„ฑ ๊ด€๋ฆฌ,
Database ์ถ”์ƒํ™”,
DAO,
CRUD | User | create_user(user: User),
read_user(user: User),
update_user(user: User),
delete_user(user: User) | | Validator | None(common/) | ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ˜•์‹ ๊ฒ€์ฆ | User | is_valid_email(email: User.email) | | ValidatorService | Application | ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ค‘๋ณต ๊ฒ€์ฆ | UserRepository | is_unique_email(email: User.email) | | Auth | | Register |


User

  • ์ฑ…์ž„ : ์‚ฌ์šฉ์ž ์ •๋ณด(์ตœ์ƒ์œ„ ๊ฐ์ฒด)

Auth

  • ์ฑ…์ž„ : ์‚ฌ์šฉ์ž ์ธ์ฆ ๋กœ์ง

Register

  • ์ฑ…์ž„ : ์‚ฌ์šฉ์ž ๋“ฑ๋ก ๋กœ์ง

Paper

  • ์ฑ…์ž„ : ๋…ผ๋ฌธ ์ •๋ณด (์ตœ์ƒ์œ„ ๊ฐ์ฒด)

File

  • ์ฑ…์ž„ : ๋…ผ๋ฌธ ํŒŒ์ผ(.pdf, .docx) ๊ด€๋ฆฌ

Translate

  • ์ฑ…์ž„ : ๋…ผ๋ฌธ ๋ฒˆ์—ญ ๋กœ์ง

Email

  • ์ฑ…์ž„ : ์ด๋ฉ”์ผ ์ •๋ณด (์ตœ์ƒ์œ„ ๊ฐ์ฒด)

Forms

  • ์ฑ…์ž„ : ์ด๋ฉ”์ผ ์ „์†ก ํผ ๊ด€๋ฆฌ

Smtp

  • ์ฑ…์ž„ : ์ด๋ฉ”์ผ ์ „์†ก ๋กœ์ง

Logger

  • ์ฑ…์ž„ : ๋กœ๊ทธ ์ •๋ณด (์ตœ์ƒ์œ„ ๊ฐ์ฒด)

Status

  • ์ฑ…์ž„ : ์ƒํƒœ ์ •๋ณด ๊ด€๋ฆฌ

Record

  • ์ฑ…์ž„ : ๋กœ๊ทธ ๊ธฐ๋ก ๋กœ์ง

User

  • ์ฑ…์ž„ : ์‚ฌ์šฉ์ž ์ •๋ณด
    ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
    User Domain ๋„๋ฉ”์ธ ๋กœ์ง id: str, pw: str, email: str, service_enabled: bool is_service_enabled()
    UserService Application ํšŒ์›๊ฐ€์ž… ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง UserRepository, RegisterService, AuthService, EmailService sign_up()
    UserRepository Persistence User ๊ด€๋ จ DAO user: User create_user(), read_user(), update_user(user: User), delete_user()

โŒ

User

  • ์ฑ…์ž„ : ์‚ฌ์šฉ์ž ์ •๋ณด(์ตœ์ƒ์œ„ ๊ฐ์ฒด)

    ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
    User Domain ๋„๋ฉ”์ธ ๋กœ์ง id, pw, email, service_enabled ---
    UserService Application ์‚ฌ์šฉ์ž ๋“ฑ๋ก User, UserRepository, RegisterService, AuthService register(email), auth(uuid, pw), service()
    UserRepository Persistence Database ์ ‘๊ทผ, CRUD, DAO User create(), read(), update(), delete()

    Auth

    • ์ฑ…์ž„ : ์‚ฌ์šฉ์ž ์ธ์ฆ ๋กœ์ง (User ํ•˜์œ„ ๊ฐ์ฒด)
      ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
      Auth Domain ๋„๋ฉ”์ธ ๋กœ์ง uuid, pw ---
      AuthService Application ์‚ฌ์šฉ์ž ์ธ์ฆ ๋กœ์ง Auth, AuthRepository auth_user(uuid, pw)
      AuthRepository Persistence Database ์ ‘๊ทผ, CRUD, DAO Auth read_user(uuid)

    Register

    • ์ฑ…์ž„ : ์‚ฌ์šฉ์ž ๋“ฑ๋ก ๋กœ์ง (User ํ•˜์œ„ ๊ฐ์ฒด)
      ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
      Register Domain ๋„๋ฉ”์ธ ๋กœ์ง email ---
      RegisterService Application ์‚ฌ์šฉ์ž ๋“ฑ๋ก ๋กœ์ง Register, RegisterRepository, Validator, Generator register_user()
      RegisterRepository Persistence Database ์ ‘๊ทผ, CRUD, DAO Register create_user(), read_user(email), update_user(), delete_user()
      Validator None(common/) ์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ ๊ฒ€์ฆ Register is_valid_email(), is_unique_email()
      Generator None(common/) ์‚ฌ์šฉ์ž ID, PW ๋ฐœ๊ธ‰ Register generate_id(), generate_pw()
      Security None(core/) pw ํ•ด์‰ฌ์ฒ˜๋ฆฌ --- hashed()

Paper

  • ์ฑ…์ž„ : ๋…ผ๋ฌธ ์ •๋ณด (์ตœ์ƒ์œ„ ๊ฐ์ฒด)

    ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
    Paper Domain ๋„๋ฉ”์ธ ๋กœ์ง --- ---
    PaperService Application ๋ฒˆ์—ญ ์„œ๋น„์Šค ๋กœ์ง, ๋ฒˆ์—ญ๋ณธ ์ด๋ฉ”์ผ ์ „์†ก, ํŒŒ์ผ ๊ด€๋ฆฌ Paper, PaperRepository, FileService, TranslateService translate()
    PaperRepository Persistence Database ์ ‘๊ทผ, CRUD, DAO --- ---

    File

    • ์ฑ…์ž„ : ๋…ผ๋ฌธ ํŒŒ์ผ(.pdf, .docx) ๊ด€๋ฆฌ (Paper ํ•˜์œ„ ๊ฐ์ฒด)
      ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
      File Domain ๋„๋ฉ”์ธ ๋กœ์ง title(name), path ---
      FileService Application ํŒŒ์ผ ๊ด€๋ฆฌ ๋กœ์ง File upload_file(), delete_file()

    Translate

    • ์ฑ…์ž„ : ๋…ผ๋ฌธ ๋ฒˆ์—ญ ๋กœ์ง (Paper ํ•˜์œ„ ๊ฐ์ฒด)
      ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
      Translate Domain ๋„๋ฉ”์ธ ๋กœ์ง engine, prompt_version ---
      TranslateService Application ๋ฒˆ์—ญ ๋กœ์ง Translate, TranslateRepository, Prompt translate_paper()
      TranslateRepository Persistence Database ์ ‘๊ทผ, CRUD, DAO Translate create_service_usage()
      Prompt None(common/) ๋ฒˆ์—ญ ํ”„๋กฌํ”„ํŠธ ๋กœ๋“œ Translate load_prompt_path()

Email

  • ์ฑ…์ž„ : ์ด๋ฉ”์ผ ์ •๋ณด (์ตœ์ƒ์œ„ ๊ฐ์ฒด)

    ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
    Email Domain ๋„๋ฉ”์ธ ๋กœ์ง subject, body, attachment ---
    EmailService Application ์ด๋ฉ”์ผ ์ „์†ก ๋กœ์ง Email, EmailRepository, FormService, SmtpService send_email()
    EmailRepository Persistence Database ์ ‘๊ทผ, CRUD --- ---

    Form

    • ์ฑ…์ž„ : ์ด๋ฉ”์ผ ์ „์†ก ํผ ๊ด€๋ฆฌ (Email ํ•˜์œ„ ๊ฐ์ฒด)
      ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
      Form Domain ๋ฉ”์ผ ํ…œํ”Œ๋ฆฟ ์–‘์‹ subject, body, attachment, survey_form_url ---
      FormService Application --- Form create_id_pw_form(), create_translate_form()

    Smtp

    • ์ฑ…์ž„ : ์ด๋ฉ”์ผ ์ „์†ก ๋กœ์ง (Email ํ•˜์œ„ ๊ฐ์ฒด)
      ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
      Smtp Domain ๋„๋ฉ”์ธ ๋กœ์ง sender(host), receiver, smtp_server, smtp_port, login_id, login_pw ---
      SmtpService Application SMTP Smtp, SmtpRepository, Attachment setting_smtp()
      SmtpRepository Persistence Database ์ ‘๊ทผ, CRUD --- ---
      Attachment None(common/) ์ฒจ๋ถ€ ํŒŒ์ผ --- ---

Logger

  • ์ฑ…์ž„ : ๋กœ๊ทธ ์ •๋ณด (์ตœ์ƒ์œ„ ๊ฐ์ฒด)
    ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
    Logger Domain ๋„๋ฉ”์ธ ๋กœ์ง layer, log_type, status, msg, error, data ---
    LoggerService Application ๋กœ๊น… ๋กœ์ง Logger, LoggerRepository, StatusService , RecordService record()
    LoggerRepository Persistence Database ์ ‘๊ทผ, CRUD --- request(), response(), fail(), error()

    Status

    • ์ฑ…์ž„ : ์ƒํƒœ ์ •๋ณด ๊ด€๋ฆฌ (Logger ํ•˜์œ„ ๊ฐ์ฒด)
      ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
      Status Domain ๋„๋ฉ”์ธ ๋กœ์ง StatusCode, Service, DetailCode ---
      StatusService Application --- Status, Request, Response, Exception create_status()
      Request None(core/) --- Status ---
      Response None(core/) --- Status ---
      Exception None(core/) --- Status ---

    Record

    • ์ฑ…์ž„ : ๋กœ๊ทธ ๊ธฐ๋ก ๋กœ์ง (Logger ํ•˜์œ„ ๊ฐ์ฒด)
      ๊ฐ์ฒด ๊ณ„์ธต ์ฑ…์ž„ ์†์„ฑ ๋ฉ”์„œ๋“œ
      Record Domain ๋„๋ฉ”์ธ ๋กœ์ง --- ---
      RecordService Application --- --- record_request(), record_response()
      Masking None(common/) ๋กœ๊ทธ ๋งˆ์Šคํ‚น ์ฒ˜๋ฆฌ --- masking()
โš ๏ธ **GitHub.com Fallback** โš ๏ธ