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 |
- ์ฑ ์ : ์ฌ์ฉ์ ์ ๋ณด(์ต์์ ๊ฐ์ฒด)
- ์ฑ ์ : ์ฌ์ฉ์ ์ธ์ฆ ๋ก์ง
- ์ฑ ์ : ์ฌ์ฉ์ ๋ฑ๋ก ๋ก์ง
- ์ฑ ์ : ๋ ผ๋ฌธ ์ ๋ณด (์ต์์ ๊ฐ์ฒด)
- ์ฑ ์ : ๋ ผ๋ฌธ ํ์ผ(.pdf, .docx) ๊ด๋ฆฌ
- ์ฑ ์ : ๋ ผ๋ฌธ ๋ฒ์ญ ๋ก์ง
- ์ฑ ์ : ์ด๋ฉ์ผ ์ ๋ณด (์ต์์ ๊ฐ์ฒด)
- ์ฑ ์ : ์ด๋ฉ์ผ ์ ์ก ํผ ๊ด๋ฆฌ
- ์ฑ ์ : ์ด๋ฉ์ผ ์ ์ก ๋ก์ง
- ์ฑ ์ : ๋ก๊ทธ ์ ๋ณด (์ต์์ ๊ฐ์ฒด)
- ์ฑ ์ : ์ํ ์ ๋ณด ๊ด๋ฆฌ
- ์ฑ ์ : ๋ก๊ทธ ๊ธฐ๋ก ๋ก์ง
- ์ฑ
์ : ์ฌ์ฉ์ ์ ๋ณด
๊ฐ์ฒด ๊ณ์ธต ์ฑ ์ ์์ฑ ๋ฉ์๋ 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 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()
- ์ฑ
์ : ์ฌ์ฉ์ ์ธ์ฆ ๋ก์ง (User ํ์ ๊ฐ์ฒด)
๊ฐ์ฒด ๊ณ์ธต ์ฑ ์ ์์ฑ ๋ฉ์๋ Auth Domain ๋๋ฉ์ธ ๋ก์ง
uuid
,pw
--- AuthService Application ์ฌ์ฉ์ ์ธ์ฆ ๋ก์ง
Auth
,AuthRepository
auth_user(uuid, pw)
AuthRepository Persistence Database ์ ๊ทผ
,CRUD
,DAO
Auth
read_user(uuid)
- ์ฑ
์ : ์ฌ์ฉ์ ๋ฑ๋ก ๋ก์ง (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()
- ์ฑ
์ : ์ฌ์ฉ์ ์ธ์ฆ ๋ก์ง (User ํ์ ๊ฐ์ฒด)
-
์ฑ ์ : ๋ ผ๋ฌธ ์ ๋ณด (์ต์์ ๊ฐ์ฒด)
๊ฐ์ฒด ๊ณ์ธต ์ฑ ์ ์์ฑ ๋ฉ์๋ Paper Domain ๋๋ฉ์ธ ๋ก์ง
--- --- PaperService Application ๋ฒ์ญ ์๋น์ค ๋ก์ง
,๋ฒ์ญ๋ณธ ์ด๋ฉ์ผ ์ ์ก
,ํ์ผ ๊ด๋ฆฌ
Paper
,PaperRepository
,FileService
,TranslateService
translate()
PaperRepository Persistence Database ์ ๊ทผ
,CRUD
,DAO
--- --- - ์ฑ
์ : ๋
ผ๋ฌธ ํ์ผ(.pdf, .docx) ๊ด๋ฆฌ (Paper ํ์ ๊ฐ์ฒด)
๊ฐ์ฒด ๊ณ์ธต ์ฑ ์ ์์ฑ ๋ฉ์๋ File Domain ๋๋ฉ์ธ ๋ก์ง
title(name)
,path
--- FileService Application ํ์ผ ๊ด๋ฆฌ ๋ก์ง
File
upload_file()
,delete_file()
- ์ฑ
์ : ๋
ผ๋ฌธ ๋ฒ์ญ ๋ก์ง (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()
- ์ฑ
์ : ๋
ผ๋ฌธ ํ์ผ(.pdf, .docx) ๊ด๋ฆฌ (Paper ํ์ ๊ฐ์ฒด)
-
์ฑ ์ : ์ด๋ฉ์ผ ์ ๋ณด (์ต์์ ๊ฐ์ฒด)
๊ฐ์ฒด ๊ณ์ธต ์ฑ ์ ์์ฑ ๋ฉ์๋ Email Domain ๋๋ฉ์ธ ๋ก์ง
subject
,body
,attachment
--- EmailService Application ์ด๋ฉ์ผ ์ ์ก ๋ก์ง
Email
,EmailRepository
,FormService
,SmtpService
send_email()
EmailRepository Persistence Database ์ ๊ทผ
,CRUD
--- --- - ์ฑ
์ : ์ด๋ฉ์ผ ์ ์ก ํผ ๊ด๋ฆฌ (Email ํ์ ๊ฐ์ฒด)
๊ฐ์ฒด ๊ณ์ธต ์ฑ ์ ์์ฑ ๋ฉ์๋ Form Domain ๋ฉ์ผ ํ ํ๋ฆฟ ์์
subject
,body
,attachment
,survey_form_url
--- FormService Application --- Form
create_id_pw_form()
,create_translate_form()
- ์ฑ
์ : ์ด๋ฉ์ผ ์ ์ก ๋ก์ง (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/)
์ฒจ๋ถ ํ์ผ
--- ---
- ์ฑ
์ : ์ด๋ฉ์ผ ์ ์ก ํผ ๊ด๋ฆฌ (Email ํ์ ๊ฐ์ฒด)
- ์ฑ
์ : ๋ก๊ทธ ์ ๋ณด (์ต์์ ๊ฐ์ฒด)
๊ฐ์ฒด ๊ณ์ธต ์ฑ ์ ์์ฑ ๋ฉ์๋ Logger Domain ๋๋ฉ์ธ ๋ก์ง
layer
,log_type
,status
,msg
,error
,data
--- LoggerService Application ๋ก๊น ๋ก์ง
Logger
,LoggerRepository
,StatusService
,RecordService
record()
LoggerRepository Persistence Database ์ ๊ทผ
,CRUD
--- request()
,response()
,fail()
,error()
- ์ฑ
์ : ์ํ ์ ๋ณด ๊ด๋ฆฌ (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
---
- ์ฑ
์ : ๋ก๊ทธ ๊ธฐ๋ก ๋ก์ง (Logger ํ์ ๊ฐ์ฒด)
๊ฐ์ฒด ๊ณ์ธต ์ฑ ์ ์์ฑ ๋ฉ์๋ Record Domain ๋๋ฉ์ธ ๋ก์ง
--- --- RecordService Application --- --- record_request()
,record_response()
Masking None(common/)
๋ก๊ทธ ๋ง์คํน ์ฒ๋ฆฌ
--- masking()
- ์ฑ
์ : ์ํ ์ ๋ณด ๊ด๋ฆฌ (Logger ํ์ ๊ฐ์ฒด)