Files
ai-dev-portal/views/dashboard.ejs
0310700 9eb3fd1b4c AI DEV portal 초기 커밋
Express+EJS+Postgres 사내 개발 포털.
- Keycloak OIDC(사번 로그인), GitHub 감성 UI
- 사이트 모음 + 프로젝트 공유/코멘트/스타
- DB: OpenEverest appdb portal schema (portal_app role)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 16:16:40 +09:00

80 lines
3.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%- include("_header") %>
<div class="container">
<div class="layout">
<!-- 메인: 사이트 모음 + 공유 프로젝트 -->
<div>
<div class="box">
<div class="box-header">🔗 개발 사이트 바로가기</div>
<div class="box-body">
<% siteGroups.forEach(function(g){ %>
<div class="group-title"><%= g.group %></div>
<div class="site-grid">
<% g.sites.forEach(function(s){ %>
<a class="site-card" href="<%= s.url %>" target="_blank" rel="noopener">
<span class="ico"><%= s.icon %></span>
<span>
<span class="name"><%= s.name %></span><br/>
<span class="desc"><%= s.desc %></span>
</span>
</a>
<% }); %>
</div>
<% }); %>
</div>
</div>
<div class="box" style="margin-top:24px">
<div class="box-header">📂 공유 프로젝트</div>
<% if (projects.length === 0) { %>
<div class="box-body muted">아직 공유된 프로젝트가 없습니다. 오른쪽에서 추가해 보세요.</div>
<% } else { %>
<% projects.forEach(function(p){ %>
<div class="proj-item">
<a class="proj-title" href="/projects/<%= p.id %>"><%= p.title %></a>
<div class="proj-meta">
<%= p.owner_name %> · <%= new Date(p.updated_at).toLocaleDateString("ko-KR") %>
&nbsp; <span class="counter">⭐ <%= p.star_count %></span>
&nbsp; <span class="counter">💬 <%= p.comment_count %></span>
</div>
<% if (p.description) { %><div class="muted" style="margin-top:6px"><%= p.description %></div><% } %>
<% if (p.tags) { %>
<div style="margin-top:8px">
<% p.tags.split(",").map(t=>t.trim()).filter(Boolean).forEach(function(t){ %>
<span class="tag"><%= t %></span>
<% }); %>
</div>
<% } %>
</div>
<% }); %>
<% } %>
</div>
</div>
<!-- 사이드바: 프로젝트 공유 폼 -->
<div>
<div class="box">
<div class="box-header"> 프로젝트 공유</div>
<div class="box-body">
<form method="post" action="/projects">
<label>제목 *</label>
<input type="text" name="title" required placeholder="내 앱 이름" />
<label>설명</label>
<textarea name="description" placeholder="무엇을 만들었나요?"></textarea>
<label>Repo URL</label>
<input type="url" name="repo_url" placeholder="https://gitea.bokdev.in/..." />
<label>앱 URL</label>
<input type="url" name="app_url" placeholder="https://....apps.bokdev.in" />
<label>태그 (콤마 구분)</label>
<input type="text" name="tags" placeholder="node, ai" />
<div style="margin-top:16px">
<button class="btn btn-primary" style="width:100%" type="submit">공유하기</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>