DROP TABLE IF EXISTS project;
CREATE TABLE project (
	title VARCHAR(64) NOT NULL,
	body TEXT DEFAULT NULL,
	difficulty INT NOT NULL DEFAULT 1 REFERENCES difficulty(diff),
	trigger_date DATE DEFAULT NULL,
	started DATE NOT NULL DEFAULT CURRENT_DATE,
	span INT NOT NULL DEFAULT 7					-- time to last for in days
);

DROP TABLE IF EXISTS difficulty;
CREATE TABLE difficulty (
	diff VARCHAR(16)
);

DROP TABLE IF EXISTS tag;
CREATE TABLE tag (
	t VARCHAR(16)
);

DROP TABLE IF EXISTS project_tag;
CREATE TABLE project_tag (
	project INT REFERENCES project(rowid),
	tag INT REFERENCES tag(rowid)
);

DROP TABLE IF EXISTS assignment;
CREATE TABLE assignment (
	who VARCHAR(32) NOT NULL,
	repo_link VARCHAR(128) DEFAULT NULL,
	project INT NOT NULL REFERENCES project(rowid)
);