mirror of
https://github.com/prdlk/cv.git
synced 2026-08-02 17:31:41 +00:00
init(app): Setup client package for web api specific logic
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
-- CV corpus schema: mirrors the YAML shapes under ../docs.
|
||||
CREATE TABLE profile (
|
||||
id INTEGER PRIMARY KEY,
|
||||
full_name TEXT NOT NULL,
|
||||
email TEXT,
|
||||
phone TEXT,
|
||||
website TEXT,
|
||||
linkedin TEXT,
|
||||
github TEXT,
|
||||
twitter TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE summaries (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
role TEXT NOT NULL,
|
||||
summary TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE experience (
|
||||
slug TEXT PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
company TEXT NOT NULL,
|
||||
start_date TEXT NOT NULL,
|
||||
end_date TEXT,
|
||||
location TEXT,
|
||||
profile_heading TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE projects (
|
||||
slug TEXT PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
start_date TEXT,
|
||||
end_date TEXT,
|
||||
url TEXT,
|
||||
-- slug of the experience (or 'education') this project belongs to
|
||||
associated_with TEXT
|
||||
);
|
||||
|
||||
-- One row per "- " bullet from the YAML description block scalars.
|
||||
CREATE TABLE bullets (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
parent_type TEXT NOT NULL CHECK (parent_type IN ('experience', 'project')),
|
||||
parent_slug TEXT NOT NULL,
|
||||
position INTEGER NOT NULL,
|
||||
text TEXT NOT NULL
|
||||
);
|
||||
CREATE INDEX idx_bullets_parent ON bullets (parent_type, parent_slug);
|
||||
|
||||
-- Canonical skill names attached to experience/project/education entries.
|
||||
CREATE TABLE item_skills (
|
||||
parent_type TEXT NOT NULL CHECK (parent_type IN ('experience', 'project', 'education')),
|
||||
parent_slug TEXT NOT NULL,
|
||||
skill TEXT NOT NULL
|
||||
);
|
||||
CREATE INDEX idx_item_skills_skill ON item_skills (skill);
|
||||
|
||||
-- The skill inventory (docs/skills/*): languages carry a tier,
|
||||
-- frameworks carry a group parsed from the YAML comment headers.
|
||||
CREATE TABLE skills (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL,
|
||||
category TEXT NOT NULL CHECK (category IN ('language', 'framework', 'methodology')),
|
||||
grp TEXT,
|
||||
tier TEXT,
|
||||
position INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE education (
|
||||
id INTEGER PRIMARY KEY,
|
||||
school TEXT NOT NULL,
|
||||
degree TEXT,
|
||||
field TEXT,
|
||||
start_date TEXT,
|
||||
end_date TEXT,
|
||||
activities TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE honors (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
title TEXT NOT NULL,
|
||||
date TEXT,
|
||||
institution TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE organizations (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL,
|
||||
url TEXT,
|
||||
title TEXT
|
||||
);
|
||||
Reference in New Issue
Block a user