Add Razor admin dashboard shell
TaxBaik CI/CD / build-and-deploy (push) Failing after 2m18s

This commit is contained in:
2026-07-09 11:10:00 +09:00
parent 0545964468
commit 83c0c70adc
4 changed files with 101 additions and 0 deletions
@@ -0,0 +1,47 @@
@page
@model TaxBaik.Web.Pages.Admin.DashboardModel
@{
ViewData["Title"] = "대시보드";
}
<section class="container py-5">
<div class="d-flex flex-wrap justify-content-between align-items-end gap-3 mb-4">
<div>
<p class="text-uppercase text-muted small mb-2">TaxBaik Admin</p>
<h1 class="h2 fw-bold mb-1">대시보드</h1>
<p class="text-muted mb-0">관리자 업무 흐름의 시작점입니다.</p>
</div>
<div class="text-muted small">로그인 사용자: @User.Identity?.Name</div>
</div>
<div class="row g-3">
<div class="col-md-4">
<div class="card shadow-sm border-0 h-100">
<div class="card-body">
<div class="text-muted small text-uppercase mb-1">고객 관리</div>
<h2 class="h5 mb-2">고객 목록</h2>
<p class="text-muted mb-0">검색, 상세, 등록, 수정, 삭제 흐름을 이곳에서 정리합니다.</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card shadow-sm border-0 h-100">
<div class="card-body">
<div class="text-muted small text-uppercase mb-1">DB 관리</div>
<h2 class="h5 mb-2">Flyway migration</h2>
<p class="text-muted mb-0">모든 스키마 변경은 SQL migration으로 추적합니다.</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card shadow-sm border-0 h-100">
<div class="card-body">
<div class="text-muted small text-uppercase mb-1">인증</div>
<h2 class="h5 mb-2">Cookie Authentication</h2>
<p class="text-muted mb-0">JWT 대신 서버 쿠키로 관리자 세션을 유지합니다.</p>
</div>
</div>
</div>
</div>
</section>
@@ -0,0 +1,13 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc.RazorPages;
using TaxBaik.Web.Services;
namespace TaxBaik.Web.Pages.Admin;
[Authorize(AuthenticationSchemes = AdminAuthDefaults.Scheme)]
public class DashboardModel : PageModel
{
public void OnGet()
{
}
}
+28
View File
@@ -0,0 +1,28 @@
@page
@model TaxBaik.Web.Pages.Admin.IndexModel
@{
ViewData["Title"] = "관리자 홈";
}
<section class="container py-5">
<div class="row align-items-center g-4">
<div class="col-lg-8">
<p class="text-uppercase text-muted small mb-2">TaxBaik Admin</p>
<h1 class="display-6 fw-bold mb-3">고객관리 어드민</h1>
<p class="lead text-muted mb-0">
Razor Pages + Cookie Authentication + Dapper + Flyway 기준으로 정리하는 서버 렌더링 어드민입니다.
</p>
</div>
<div class="col-lg-4">
<div class="card shadow-sm border-0">
<div class="card-body p-4">
<div class="d-grid gap-2">
<a class="btn btn-dark" href="/admin/dashboard">대시보드</a>
<a class="btn btn-outline-secondary" href="/admin/login?returnUrl=%2Fadmin%2Fdashboard">다시 로그인</a>
</div>
</div>
</div>
</div>
</div>
</section>
@@ -0,0 +1,13 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc.RazorPages;
using TaxBaik.Web.Services;
namespace TaxBaik.Web.Pages.Admin;
[Authorize(AuthenticationSchemes = AdminAuthDefaults.Scheme)]
public class IndexModel : PageModel
{
public void OnGet()
{
}
}