
github-samples/caldova-careers
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
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/nodeadapter) - 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
applicationstable 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 insrc/content.config.ts. - Applications are the only relational data: the
applicationstable (db/schema.ts) stores each submission — a logicaljobIdreference, the applicant’snameandemail, and optionalnote/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 schemasrc/lib/jobs.ts— pure helpers overJob[](sorting, formatting)src/lib/applications.ts— application validation schema + insert helpersrc/lib/db.ts— Drizzle/libSQL client for theapplicationstable
추천 도구
다른 키워드를 입력하거나 필터를 제거해 보세요.
설치
npx skillfish add github-samples/caldova-careers