GS

github-samples/caldova-careers

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

5 stars 质量 66 趋势 33MIT

Caldova Careers - the sample app for the GitHub Copilot CLI workshop

概览

The careers site for , an AI-native pharmaceutical company. Browse open roles and submit an application with your name and email — no account required. This is the sample application for the workshop. It's a deliberately small, realistic app: job postings are Markdown content, and the only database-backed feature is the apply flow. Caldova is a fictional company created for demonstration and training purposes. The roles, locations, and applications in this app are not real. This project is a teaching sample for a GitHub Copilot CLI workshop. It is provided as-is for learning and demonstration purposes and is not intended, hardened, or supported for production use.

README

以下为原文 README 节选,完整内容请查看原文。

Caldova Careers

The careers site for Caldova, an AI-native pharmaceutical company. Browse open roles and submit an application with your name and email — no account required.

This is the sample application for the GitHub Copilot CLI workshop. It’s a deliberately small, realistic app: job postings are Markdown content, and the only database-backed feature is the apply flow.

[!NOTE] Caldova is a fictional company created for demonstration and training purposes. The roles, locations, and applications in this app are not real.

[!WARNING] This project is a teaching sample for a GitHub Copilot CLI workshop. It is provided as-is for learning and demonstration purposes and is not intended, hardened, or supported for production use.

Tech stack

  • Astro — static output by default, with a single on-demand route for the apply endpoint (via the @astrojs/node adapter)
  • Tailwind CSS v4 — styling, themed with the Caldova brand palette
  • Astro Content Collections — job postings are Markdown + frontmatter in src/content/jobs/ (validated by a Zod schema)
  • Drizzle ORM + libSQL (SQLite) — the applications table only
  • Vitest — unit tests for pure logic and an integration test for the apply insert
  • Playwright — end-to-end tests (runs against the built Node server)

Getting started

GitHub Codespaces

Create a repository from this template, then select Code > Codespaces > Create codespace on main. The devcontainer uses Node.js 24 and includes the GitHub CLI. During setup it installs project dependencies and Playwright Chromium, then applies the local database migrations. Wait for setup to finish, run npm run dev, and open forwarded port 4321 in your browser.

Local development

npm install
npm run dev

predev runs db:setup (applies the applications migration) before starting the dev server at .

Data model

  • Job postings are files, not database rows: one Markdown file per role in src/content/jobs/, with frontmatter (title, department, location, type, remote, postedDate, summary) and a Markdown body. The schema lives in src/content.config.ts.
  • Applications are the only relational data: the applications table (db/schema.ts) stores each submission — a logical jobId reference, the applicant’s name and email, and optional note / links. There is no authentication; the applicant supplies their details directly on the form.

Project structure

  • src/content/jobs/ — job postings (Markdown + frontmatter)
  • src/content.config.ts — content collection schema
  • src/lib/jobs.ts — pure helpers over Job[] (sorting, formatting)
  • src/lib/applications.ts — application validation schema + insert helper
  • src/lib/db.ts — Drizzle/libSQL client for the applications table
在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add github-samples/caldova-careers
新手?先看 mcpskill.org 教程 →