웹 애플리케이션 생성
νλ‘μ νΈκ° λ°±μλλ‘λ§ κ΅¬μ±λλ κ²½μ°λ κ±°μ μμ΅λλ€. Linoλ₯Ό μ¬μ©νλ©΄ μμ±λ APIλ₯Ό μ¬μ©νλ μΉ μ ν리μΌμ΄μ μ μμ±νμ¬ μ΅μ’ μ¬μ©μ λλ λ΄λΆ νμ μν μΈν°νμ΄μ€λ₯Ό μ 곡ν μλ μμ΅λλ€.
νμ¬ νλ μμν¬λ κΈ°λ³Έμ μΌλ‘ Blazor μΉ μ±(λ λλ§ λͺ¨λ)μ μ§μν©λλ€. interactive auto).
κ·Έλ¬λ μν€ν
μ²λ λμΌν μ루μ
μ μ¬λ¬ νλ°νΈμλλ₯Ό μΆκ°νμ¬ λ€μν μλ리μ€μ λμμ μλΉμ€λ₯Ό μ 곡ν μ μλλ‘ μ€κ³λμμ΅λλ€.
Blazor μΉ μ±μ μ¬μ©ν νλ°νΈμλ μν€ν μ²
Linoμμ μμ±λ μΉ μ ν리μΌμ΄μ μ API λꡬμ λν νΈμΆλΏλ§ μλλΌ μ€μ μΈν°νμ΄μ€λ₯Ό ν΅ν΄ μ¬μ©μλ₯Ό λ°±μλ μ¬μ© μ¬λ‘μ μ°κ²°ν©λλ€. νμ¬ κΈ°λ³Έ νλ°νΈμλ μ νμ λ€μκ³Ό κ°μ΅λλ€. Blazor μΉ μ±, κ΄λ¦¬ μ ν리μΌμ΄μ , κ³΅κ° ν¬νΈ, λ°±μ€νΌμ€, ννΈλ μμ λ° λλ©μΈλ³ μΈν°νμ΄μ€λ₯Ό μν΄ μ€λΉλμμ΅λλ€.
lino web-app new --name <WebAppName>
λͺ
λ Ήμ Lino νλ‘μ νΈ λ΄μμ μ€νλμ΄μΌ ν©λλ€. μΉμ± μ΄λ¦μ μμ²νκ³ , Blazor μΉμ± ν
νλ¦Ώμ μ¬μ©νκ³ , μ νν λ°μ΄ν°λ₯Ό νμΈνκ³ , νμν νμΌμ μμ±νκ³ , νλ°νΈμλλ₯Ό μ루μ
μ μ°κ²°νλ λͺ
λ Ήμ μ€νν©λλ€.
μ μ νμμ λ€μκ³Ό κ°μ΅λλ€. web-app. λ³μΉ webapp κ·Έλ¦¬κ³ web μμ°μ±μ μν΄ μ‘΄μ¬νμ§λ§ λ¬Έμμ μμ κ° λ μ’μ΅λλ€. lino web-app new μΌκ΄μ±μ μ μ§νκΈ° μν΄.
무μμ΄ μμ±λλμ?
Linoμ μν΄ μμ±λ Blazor μΉ μ±μ λ¨μν νλ©΄ ν΄λκ° μλλλ€. μ΄λ λμΌν.NET μ루μ μ μ ν©νλ©° λ°±μλμμ μ¬μ©νλ λͺ¨λμ μ‘°μ§μ λ°λ₯΄λ©° μλΉμ€ λλ λͺ¨λλ³λ‘ νΈμ€νΈ, ν΄λΌμ΄μΈνΈ, 곡μ κ΅¬μ± μμ λ° UI νλ‘μ νΈ κ°μ μ± μμ λΆλ¦¬ν©λλ€.
- μλ² νλ‘μ νΈ: Blazor μΉ μ±μ νΈμ€ν νκ³ , λ£¨νΈ κ΅¬μ± μμλ₯Ό λ§€ννκ³ , μλΉμ€ κΈ°λ³Έκ°, μ μ μμ°, μμ‘° λ°©μ§, HTTPS, MudBlazor μλΉμ€ λ° λνν λ λλ§ λͺ¨λλ₯Ό ꡬμ±ν©λλ€.
- ν΄λΌμ΄μΈνΈ νλ‘μ νΈ: WebAssembly μΈ‘μμ μ€νλλ κ΅¬μ± μμ, λΌμ°ν , λ μ΄μμ, λ©λ΄ ꡬ쑰, λΈλΌμ°μ μ€μ , νμ§ν κΈ°λ₯ λ° MudBlazorμμ ν΅ν©μ μ§μ€ν©λλ€.
- 곡μ WebApps νλ‘μ νΈ: κ³΅ν΅ UI 리μμ€, μλ¦Ό, λν μμ, 쿼리 λ¬Έμμ΄ ν νλ¦Ώ, ν΄λΌμ΄μΈνΈ κ²°κ³Ό, λ¬ΈνκΆ/νμ€ μκ°λ μλΉμ€ λ° μ¬μ¬μ© κ°λ₯ν κ΅¬μ± μμλ₯Ό μ€μ μ§μ€νν©λλ€.
- μλΉμ€λ³, λͺ¨λλ³ UI λμμΈ: μ루μ μ μλΉμ€μ λͺ¨λμ΄ μλ κ²½μ° Linoλ μΉ μ± νλ μμν¬ λ΄μ νλ°νΈμλ νλ‘μ νΈλ₯Ό μμ±νμ¬ μ»¨ν μ€νΈ 격리λ νμ΄μ§, λ©λ΄ λ° λ¦¬μμ€λ₯Ό μ μ§ κ΄λ¦¬ν©λλ€.
μμ±λ νΈμ€νΈ λ μ§μ€ν° AddInteractiveServerComponents κ·Έλ¦¬κ³ AddInteractiveWebAssemblyComponents.
λ£¨νΈ κ΅¬μ± μμ HeadOutlet κ·Έλ¦¬κ³ Routes μ¬μ© InteractiveAuto, μ ν리μΌμ΄μ
μ΄ μλ²λ₯Ό ν΅ν μνΈ μμ©μΌλ‘ μμνκ³ ν΄λΌμ΄μΈνΈ λ°νμμ μ¬μ©ν μ μμ λ WebAssemblyλ‘ λ§μ΄κ·Έλ μ΄μ
ν μ μμ΅λλ€.
λ°±μλ APIμ ν΅ν©
μΉμ±μ΄ μ‘΄μ¬νλ κ²½μ° Linoλ νλ°νΈμλμμ μ
λ ₯λ μλΉλ₯Ό μν΄ λ°±μλλ₯Ό μ€λΉλ μνλ‘ μ μ§ν©λλ€.
μλΉμ€ λ° λͺ¨λμ νλ‘μ νΈλ₯Ό μμ ν μ μμ΅λλ€. Api.Contracts κ·Έλ¦¬κ³ Api.Client, μμ²/μλ΅ κ³μ½ λ° μ
λ ₯λ ν΄λΌμ΄μΈνΈλ₯Ό μμ±λ μλν¬μΈνΈμ λ
ΈμΆν©λλ€.
- UIλ κ° κΈ°λ₯μ λν΄ μμ HTTP νΈμΆμ μλμΌλ‘ μ‘°ν©ν νμκ° μμ΅λλ€.
- μμ±λ νμ΄μ§λ API ν΄λΌμ΄μΈνΈλ₯Ό νΈμΆνκ³ λ°±μλμ ν¨κ» μμ±λ μμ² λ° μλ΅ λͺ¨λΈλ‘ μμ ν©λλ€.
-
λ€μμΌλ‘ 곡μ λλ λͺ¨λΈ
ClientResult,QueryParams그리κ³PagedQueryParamsκ²°κ³Ό μ²λ¦¬, νν°, νμ΄μ§ λ§€κΉ λ° μκ°μ νΌλλ°±μ νμ€νν©λλ€. -
νμνλ
HttpClientλ₯Ό ν΅ν ν΅ν©μ νλ°νΈμλλ₯Ό μ루μ μ λλ¨Έμ§ λΆλΆμμ μ¬μ©νλ κ³μ½, κΆν, μ ν¨μ± κ²μ¬ λ©μμ§ λ° λ¬Ένμ μΌμΉνκ² μ μ§ν©λλ€.
μ€μ νλ¦μ λ€μκ³Ό κ°μ΅λλ€.
Blazor νμ΄μ§ -> νμνλ API ν΄λΌμ΄μΈνΈ -> Minimal API μλν¬μΈνΈ -> Command/Query -> λ°μ΄ν°λ² μ΄μ€
μ΄ κ²½λ‘λ μ 체 μ€ν μΌκ΄μ±μ μ μ§ν©λλ€. λλ©μΈ λͺ¨λΈ, μ¬μ© μ¬λ‘, λμ , κ³μ½, μ§μνλ μΈν°νμ΄μ€, νμ λ° κΆνμ λμΌν νλ‘μ νΈ κ·μΉμ λ°λ¦ λλ€.
UI κΈ°λ₯ ν¬ν¨
μμ±λ μΉ μ±μ μ€μ μ ν리μΌμ΄μ μ μΌλ°μ μΈ κ΄μ¬μ¬μ λν΄ μ΄λ―Έ μ€λΉλμ΄ μμ΅λλ€.
-
λΆν λΌμ°ν
Routes.razorμμ±λμμ΅λλ€. - MudBlazorλ₯Ό κΈ°λ°μΌλ‘ ν λ μ΄μμ, νμ λ° μκ°μ κ΅¬μ± μμμ λλ€.
- κ° μλΉμ€ λλ λͺ¨λμμ μ¬μ© κ°λ₯ν νμ΄μ§μμ λ©λ΄ μμ±.
-
νμΌ
.resxνλ‘μ νΈμ ꡬμ±λ λ¬Ένμμ ν μ€νΈλ₯Ό μ°Ύμ΅λλ€. - μΈμ¦ κΈ°λ₯μ΄ νμ±νλλ©΄ μΈμ¦, ν ν° μ μ₯, 보νΈλ κ²½λ‘ λ° κΆν μλΉμ€λ₯Ό μ§μν©λλ€.
- νμ¬ μ¬μ©μμκ² νμν κΆνμ΄ μλ κ²½μ°μλ§ νλͺ©μ νμνλ κΆνλ³ λ©λ΄μ λλ€.
λ€μ€ νλ°νΈμλ
λ¨μΌ λ°±μλλ λ κ° μ΄μμ μΉμ±μ μ§μν μ μμ΅λλ€. μ΄λ λ€μν λμμ΄ μλ‘ λ€λ₯Έ νμ, 보μ, κ²½ν λ° λ°°ν¬λ₯Ό νμλ‘ νμ§λ§ λμΌν μλΉμ€, λͺ¨λ, μ¬μ© μ¬λ‘ λ° APIλ₯Ό κ³μ 곡μ ν΄μΌ νλ κ²½μ°μ μ μ©ν©λλ€.
- κ³΅κ° μΉμ¬μ΄νΈ: κ³ κ°, λ°©λ¬Έμ, μμ§ μΈμ¦λμ§ μμ μ¬μ©μκ° μ κ·Όν μ μλ νμ΄μ§μ λλ€.
- λ°±μ€νΌμ€/κ΄λ¦¬μ: μ΄μμ, μ§μ λ° κ΄λ¦¬νμ μν λ΄λΆ κ΄λ¦¬ ν¨λ.
- ννΈλ ν¬νΈ: ννΈλ, 리μ λ¬, 곡κΈμ 체 λλ μ΄μ ν΅ν©μ λν μ‘μΈμ€κ° μ νλ©λλ€.
- μ ν μλΉμ€ ꡬμ: μ체 λ©λ΄μ κΆνμ ν΅ν΄ μ΅μ’ κ³ κ°μ μ΄μ μ λ§μΆ κ²½νμ μ 곡ν©λλ€.
κ° νλ°νΈμλλ μ체 λ μ΄μμ, 리μμ€, λ©λ΄ λ° μ‘μΈμ€ κ·μΉμΌλ‘ λ°μ ν μ μμΌλ©° λ°±μλλ μλΉμ€, λͺ¨λ, μ¬μ© μ¬λ‘ λ° κ³μ½λ³λ‘ ꡬμ±λμ΄ μμ΅λλ€.
μΉνμ΄μ§ μμ±
μν°ν°λ₯Ό λͺ¨λΈλ§νκ³ μ¬μ© μ¬λ‘λ₯Ό μ μνκ³ λͺ λ Ή, 쿼리, μλν¬μΈνΈ λ° μ§μμ±μ μμ±ν ν λ€μ λ¨κ³λ μΌλ°μ μΌλ‘ μΈν°νμ΄μ€μ κΈ°λ₯μ λ ΈμΆνλ κ²μ λλ€. Linoλ νμ΄μ§ μμ±κΈ°λ₯Ό μ¬μ©νμ¬ μ΄ λ¨κ³λ₯Ό μλνν©λλ€.
lino page new --service <ServiceName> --module <ModuleName> --entity <EntityName> --webapp <WebAppName> lino page edit --service <ServiceName> --module <ModuleName> --entity <EntityName> --webapp <WebAppName> lino page list --service <ServiceName> --module <ModuleName> --entity <EntityName> --webapp <WebAppName>
μ΅μ μ λν μ 보λ λννμΌλ‘ μ 곡λ μ μμ΅λλ€. μ΄ λͺ λ Ήμ 그리λμ νμλμ΄μΌ νλ μλΉμ€, λͺ¨λ, μν°ν°, λμ μΉμ±, νμ΄μ§ μ ν λ° μμ±μ μμ²ν©λλ€. κ°μ₯ μΌλ°μ μΈ μ νμ λ€μκ³Ό κ°μ΅λλ€. ν¬λ£¨λ; μν°ν°κ° μΏΌλ¦¬λ§ μ§μνλ κ²½μ° Linoλ λ€μκ³Ό κ°μ νμ΄μ§λ₯Ό μμ±ν μ μμ΅λλ€. λ°μ΄ν°κ·Έλ¦¬λ.
μ¬μ© page new νλ©΄μ 첫 λ²μ§Έ λ²μ μ μμ±νλ €λ©΄ page edit νμ΄μ§μμ νλ, κ³μ½ λλ λμμ λ³κ²½ μ¬νμ μΆμ ν΄μΌ νλ κ²½μ° page list μν°ν°μ λν΄ μ΄λ―Έ μμ±λ λ΄μ©μ μ΄ν΄ν©λλ€.
κΆμ₯ νλ¦
-
λ€μμ μ¬μ©νμ¬ μΉ μ±μ μμ±νκ±°λ μ νν©λλ€.
lino web-app new. - μν°ν°λ₯Ό λͺ¨λΈλ§νκ³ μ¬μ© μ¬λ‘, 쿼리, λͺ λ Ή, μλν¬μΈνΈ, API κ³μ½ λ° μ§μμ± μν°ν©νΈλ₯Ό μμ±ν©λλ€.
-
λ¬λ¦¬λ€
lino page newμΈν°νμ΄μ€λ₯Ό μμ ν μν°ν°λ₯Ό μ νν©λλ€. - 그리λμμ νλλ₯Ό μ μ€νκ² μ ννμΈμ. μ΄λ νμλλ μ΄μ΄ λμ΄ μΏΌλ¦¬ λ§€κ°λ³μ, νν° λ° νμ΄μ§ λ§€κΉμ μ€μ νλ λ° λμμ΄ λ©λλ€.
- AppHostλ₯Ό ν΅ν΄ μ루μ μ μ€ννμ¬ UI, API, μΈμ¦, κΆν λ° λ°μ΄ν°λ² μ΄μ€ ν΅ν©μ ν¨κ» κ²μ¦ν©λλ€.
μμ±λ ꡬ쑰
CRUD νμ΄μ§μ κ²½μ° Linoλ λ¨μΌ Razor νμΌ λμ μμ ν Blazor νμ΄μ§ ν¨ν€μ§λ₯Ό λ§λλλ€.
- λͺ©λ‘, μμ±, νΈμ§, μΈλΆ μ 보 λ° μμ λ₯Ό μ‘°μ νλ κΈ°λ‘ νμ΄μ§ λλ μμΈμ λλ€.
- 쿼리 λ§€κ°λ³μμ λν μλ² μΈ‘ λ‘λ©, νμ΄μ§ λ§€κΉ, νν° λ° λ§€ν κΈ°λ₯μ κ°μΆ MudBlazor κΈ°λ°μ 그리λ κ΅¬μ± μμμ λλ€.
- μμ±, μ λ°μ΄νΈ λ° IDλ³ μμ²μ λ§€ννκΈ° μν νμνλ ViewModel λ° νμ₯ κΈ°λ₯μ΄ μλ μμ κ΅¬μ± μμμ λλ€.
- μ λͺ©, λΌλ²¨, λ²νΌ, νμΈ λ©μμ§ λ° νμ§νλ μΈν°νμ΄μ€ ν μ€νΈμ λν 리μμ€μ λλ€.
- νμ΄μ§ μ‘μΈμ€ νμΈ λ° μ‘°κ±΄λΆ λ²νΌμ ν¬ν¨νμ¬ μΈμ¦μ΄ νμ±νλλ©΄ κΆνμ νμΈν©λλ€.
μν°ν°μ λν CRUD νμ΄μ§ λ§λ€κΈ° Vehicleμλ₯Ό λ€μ΄ μλΉμ€μμ Fleet, λͺ¨λ Operations λ° μΉ μ± Backoffice, ꡬ쑰λ λ€μ νμμ λ°λ¦
λλ€.
src/WebApps/Backoffice/Services/Fleet/Operations/Pages/Vehicles/Registration/
βββ Vehicle.razor
βββ Vehicle.razor.cs
βββ Resources/
β βββ VehicleResources.resx
β βββ VehicleResources.Designer.cs
βββ Components/
βββ Form/
β βββ VehicleForm.razor
β βββ VehicleForm.razor.cs
β βββ VehicleFormExtensions.cs
β βββ VehicleViewModel.cs
β βββ Resources/
β βββ VehicleFormResources.resx
β βββ VehicleFormResources.Designer.cs
βββ Grid/
βββ VehicleGrid.razor
βββ VehicleGrid.razor.cs
βββ VehicleGridExtensions.cs
βββ VehiclePagedQueryParams.cs
βββ Resources/
βββ VehicleGridResources.resx
βββ VehicleGridResources.Designer.cs
μ΄ μμ΄λμ΄λ λ€μκ³Ό κ°μ μμ μ¬μ©λ μ΄μ ꡬ쑰λ₯Ό μ μ§ν©λλ€. Order: λ©μΈ νμ΄μ§, μ½λ μ¨κΉ, μμ κ΅¬μ± μμ, 그리λ κ΅¬μ± μμ, νμ₯ λ° νμ΄μ§κ° λ§€κ²¨μ§ λ§€κ° λ³μ.
νμ¬ λ²μ μλ μΉ μ±, μλΉμ€ λ° λͺ¨λμ ν΅ν΄ μ‘°μ§κ³Όμ κΈ°λ₯ λ° λͺ
μμ μΈ ν΅ν©μ΄ μΆκ°λμμ΅λλ€.
μμ±λ νμ΄μ§μ μλ λ°©μ
μ΄ νμ΄μ§λ APIμ λν΄ μμ±λ λμΌν κ³μ½μ μ¬μ©ν©λλ€. 그리λλ νν°μ νμ΄μ§ λ§€κΉμ λͺ©λ‘ μμ²μΌλ‘ λ³νν©λλ€. μμμ ViewModelμ μμ± λλ μ λ°μ΄νΈ μμ²μΌλ‘ λ³νν©λλ€. μ λ ₯λ API ν΄λΌμ΄μΈνΈλ ν΄λΉ μλν¬μΈνΈμ νΈμΆμ 보λ λλ€. μλν¬μΈνΈλ μμ±λ λͺ λ Ή λλ 쿼리λ₯Ό μ€ννκ³ μ λ ₯λ μλ΅μ UIμ λ°νν©λλ€.
Frontend -> API -> Commands/Queries -> λ°μ΄ν°λ² μ΄μ€
κΆνμ΄ μλ κ²½μ° μμ±λ μ½λλ μλ³μλ³λ‘ λμ΄, μμ±, νΈμ§, μμ , 쿼리 λ±μ κΆνλ νμΈν©λλ€. μ΄λ νμ΄μ§μ λν μ‘μΈμ€μ μ¬μ©μμ μμ κ°μμ± λͺ¨λμ μν₯μ λ―ΈμΉ©λλ€.
κ·Έ κ²°κ³Ό μΌκ΄λ μ 체 μ€ν νλ¦μ΄ νμνμ΅λλ€. λλ©μΈ λͺ¨λΈ, μ¬μ© μ¬λ‘, μλν¬μΈνΈ, μ ννλ ν΄λΌμ΄μΈνΈ, μ§μνλ UI, νμ λ° κΆνμ λμΌν μ€κ³ κ·μΉμ λ°λ¦ λλ€. μμ±κΈ°λ λ°λ³΅μ μ€μ΄μ§λ§ κ΅¬μ± μμλ μ ν μ‘°μ , μ μ©μ± λ° νΉμ κ·μΉμ λν΄ νΈμ§ κ°λ₯ν μνλ‘ μ μ§λ©λλ€.
λ€μ€ μΈμ΄ μΈν°νμ΄μ€
Linoμμ μμ±λ μΉ μ ν리μΌμ΄μ
μ νμ§νλ ν
μ€νΈμ .resx νμΌμ μ¬μ©ν©λλ€.
μ΄λ₯Ό ν΅ν΄ λμΌν Razor ꡬ쑰λ₯Ό μ μ§νκ³ νμ± λ¬ΈνκΆμ λ°λΌ μ λͺ©, λ μ΄λΈ, λ²νΌ, μ€λ₯ λ©μμ§, μ ν¨μ± κ²μ¬ ν
μ€νΈ λ° μ€λͺ
μ λ³κ²½ν μ μμ΅λλ€.
νμ§νλ₯Ό μκ°μ μΈ λ§λ¬΄λ¦¬ μμ μΌλ‘λ§ μ·¨κΈν΄μλ μ λ©λλ€. κ΄λ¦¬ νμ΄μ§μ μ΄μ ν¬νΈμμ μΌκ΄λμ§ μμ μ©μ΄λ λΉμ¦λμ€ κ·μΉμ λν μμ¬μ λΆλ¬μΌμΌν΅λλ€. λ°λΌμ 리μμ€λ UI μν€ν μ²μ μΌλΆμ΄λ©° νμ΄μ§, μμ, 그리λ λ° κ³΅μ κ΅¬μ± μμμ ν¨κ» μ 곡λμ΄μΌ ν©λλ€.
- ν€λ₯Ό μμ μ μ΄κ³ μ€λͺ μ μ΄λ©° μλ―Έ μ§ν₯μ μΌλ‘ μ μ§νκ³ μμ νλ©΄ λ μ΄μμμ λ¬ΆμΈ μ΄λ¦μ νΌνμΈμ.
- νμ΄μ§μ κ΅¬μ± μμμ νλ μ½λ©λ ν μ€νΈλ₯Ό νΌνμΈμ. λΌλ²¨, λ©μμ§, μ λͺ©, μ΄λ κ²½λ‘, λ©λ΄ λ° νμΈμ λν 리μμ€λ₯Ό μ¬μ©ν©λλ€.
- κΈ°μ μ©μ΄λ₯Ό κ²ν νμ¬ λ¬Έμ, CLI, API κ³μ½ λ° μΈν°νμ΄μ€ κ°μ μΌκ΄μ±μ μ μ§νμΈμ.
- μμμΉ λͺ»ν λ체λ λΆλΆμ μΌλ‘ λ²μλ νλ©΄μ λ°©μ§νλ €λ©΄ λ¬ΈνκΆ μ λ°μ κ±Έμ³ λμΌν ν€ μΈνΈλ₯Ό μ μ§νμΈμ.
- μ ν κ°μκ³Ό λ³λμ λ¬Έμ λ²μ: μ΅μ’ μ¬μ©μλ₯Ό μν΄ μ©μ΄λ₯Ό νμ§νν΄μΌ νλ κ²½μ° μμ μ κΈ°λ₯μ μλ―Έλ₯Ό μ μ§ν©λλ€.
μμ±λ νμ΄μ§μλ μΌλ°μ μΌλ‘ νμ΄μ§, μμ λ° ν μμ€μ 리μμ€κ° μμ΅λλ€. μ΄λ¬ν λΆλ¦¬λ₯Ό ν΅ν΄ κ° λΆλΆμ λμ΄, νΈμ§, κ²μ¦ λ° νμ ν μ€νΈλ₯Ό νΌν©νμ§ μκ³ λ λ°μ ν μ μμ΅λλ€.
λ°μν, μ¦μ μ¬μ© κ°λ₯ν CRUD
μμ±λ CRUDλ νλ©΄μ λ°λ³΅μ μΈ κΈ°λ°(λͺ©λ‘, μμ, APIμμ ν΅ν©, 리μμ€, νμ΄μ§ λ§€κΉ, νν°, μμ λ° μ½λ μ¨κΉ)μ μμ±νλ―λ‘ μ λ¬ μλλ₯Ό λμ λλ€. νμ§λ§ μ΄λ λ¨μ§ κΈ°μ μ μΈ λ°νμ΄ μλ μ ν κ²½νμΌλ‘ κ²ν λμ΄μΌ ν©λλ€.
μ’μ CRUD νλ©΄μμλ μ¬μ©μκ° κΈ°λ‘μ μ°Ύκ³ , νμ¬ μνλ₯Ό μ΄ν΄νκ³ , μμ μκ² μ‘°μΉλ₯Ό μ·¨νκ³ , μ€ν¨μμ 볡ꡬν μ μμ΄μΌ ν©λλ€. μ΄λ λ΄λΆ λ°±μ€νΌμ€ νλ©΄κ³Ό κ³ κ° λλ ννΈλλ₯Ό λμμΌλ‘ νλ ν¬νΈ λͺ¨λμ μ μ©λ©λλ€.
- μμ¬κ²°μ μ λμμ΄ λλ λͺ©λ‘ μ΄μ μ ννμΈμ. μ΄μμμκ² μ무 κ²λ μλ €μ£Όμ§ μλ κΈ°μ λΆμΌμ 그리λλ νΌνμμμ€.
- μμλλ λ°μ΄ν° μκ³Ό μ¬μ©μμ μ£Όμ κ²μ κΈ°μ€μ λ°λΌ νν°μ νμ΄μ§ λ§€κΉμ ꡬμ±ν©λλ€.
- ꡬν μ©μ΄λΏλ§ μλλΌ λλ©μΈ μΈμ΄λ‘ λ¬Έμ λ₯Ό μ€λͺ νλ €λ©΄ μ ν¨μ± κ²μ¬ λ° μ€λ₯ λ©μμ§λ₯Ό κ²ν νμΈμ.
- λ°μ΄ν°κ° μκ±°λ APIμ μκ°μ΄ 걸리거λ μμ μ΄ μλ£λμ§ μμ λ μλ νλ©΄μ΄ νμλμ§ μλλ‘ λΉμ΄ μμ, λ‘λ μ€, μΆ©λ μνλ₯Ό νμΈνμΈμ.
- λλ릴 μ μλ μμ λ° μμ μ νμΈνμ¬ μν₯μ λ°λ κΈ°λ‘μ λͺ νν ν©λλ€.
- νμ§νλ μλ¦Ό λ° λ©μμ§λ₯Ό μ¬μ©νμ¬ μ μ₯, νΈμ§, μμ λλ μ€ν¨ν ν λͺ νν νΌλλ°±μ νμν©λλ€.
- λ°±μλ λ° νλ°νΈμλμ λν κΆνμ ν΅ν΄ μμ μ 보νΈν©λλ€. λ²νΌμ μ¨κΈ°λ©΄ κ²½νμ΄ ν₯μλμ§λ§ μ€μ μΈμ¦μ λ체ν μλ μμ΅λλ€.
- μμ νλ©΄, νΉν μμ λ©λ΄, νν°, νμ νλ λ° μ΄μ΄ λ§μ 그리λμμ μλ΅μ±μ νμΈνμΈμ.
Linoμ μν΄ μμ±λ μμμ μ μΌκ΄μ± μκ³ ν΅ν©λ κΈ°λ°μΌλ‘ μ²λ¦¬λμ΄μΌ ν©λλ€. μ¬κΈ°μμ νμ μ€μ μ ν νλ‘μΈμ€λ₯Ό λ°μνκΈ° μν΄ μκ°μ λ°λ, νλ μμ, νμ κ·μΉ, κΆν λ° ν μ€νΈλ₯Ό μ‘°μ ν©λλ€.
