chore: initial scaffold
Vite + Vue 3 + DaisyUI SPA (project picker + Slack avatar member grid) with a TypeScript/Node (Hono) backend proxying Napta + Slack, SQLite avatar cache via node:sqlite, and docker-compose for Coolify deploy.
This commit is contained in:
47
backend/src/fixtures.ts
Normal file
47
backend/src/fixtures.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import type { Member, Project } from "./types.ts"
|
||||
|
||||
// Demo data served when live Napta/Slack credentials are not configured. Lets
|
||||
// the UI render a realistic team grid out of the box. imageUrl is null so the
|
||||
// frontend shows initials avatars (the same fallback used for real members who
|
||||
// have no Slack match).
|
||||
|
||||
export const fixtureProjects: Project[] = [
|
||||
{ id: "demo-apollo", name: "Apollo Platform", clientName: "Acme Corp" },
|
||||
{ id: "demo-zephyr", name: "Zephyr Mobile App", clientName: "Globex" },
|
||||
]
|
||||
|
||||
function member(
|
||||
id: string,
|
||||
firstName: string,
|
||||
lastName: string,
|
||||
role: string,
|
||||
): Member {
|
||||
return {
|
||||
id,
|
||||
firstName,
|
||||
lastName,
|
||||
role,
|
||||
email: `${firstName}.${lastName}@example.com`.toLowerCase(),
|
||||
imageUrl: null,
|
||||
slackMatched: false,
|
||||
}
|
||||
}
|
||||
|
||||
const membersByProject: Record<string, Member[]> = {
|
||||
"demo-apollo": [
|
||||
member("1", "Ada", "Lovelace", "Tech Lead"),
|
||||
member("2", "Alan", "Turing", "Backend Engineer"),
|
||||
member("3", "Grace", "Hopper", "Engineering Manager"),
|
||||
member("4", "Katherine", "Johnson", "Data Scientist"),
|
||||
member("5", "Dennis", "Ritchie", "Platform Engineer"),
|
||||
],
|
||||
"demo-zephyr": [
|
||||
member("6", "Margaret", "Hamilton", "Product Owner"),
|
||||
member("7", "Linus", "Torvalds", "Mobile Lead"),
|
||||
member("8", "Barbara", "Liskov", "iOS Engineer"),
|
||||
],
|
||||
}
|
||||
|
||||
export function fixtureMembers(projectId: string): Member[] {
|
||||
return membersByProject[projectId] ?? []
|
||||
}
|
||||
Reference in New Issue
Block a user