Initial commit: Kareer, a Kirigami job application tracker

C++/Qt6/KDE Frameworks 6 app with a SQLite-backed data layer, a
Sankey-diagram dashboard, and a full CLI (add/list/show/update/stage/
delete/stats/stages) for scripting from other tools.
This commit is contained in:
2026-07-03 10:35:16 -05:00
commit 337eb1a6bd
33 changed files with 4071 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include <QDate>
#include <QDateTime>
#include <QString>
/// A single job application and everything tracked about it.
struct Job {
int id = -1;
QString company;
QString title;
QString location;
QString remoteType; ///< "Onsite", "Hybrid", "Remote", or empty if unknown.
QString source; ///< Where the lead came from (referral, LinkedIn, ...).
QString url;
QDate dateApplied;
int salaryMin = -1; ///< -1 means unset.
int salaryMax = -1;
int salaryExpectation = -1;
QString currency = QStringLiteral("USD");
QString notes; ///< Free text: expectations, interview notes, etc.
QString contact;
QString stage;
QDateTime createdAt;
QDateTime updatedAt;
};
/// One recorded move from one stage to another (or from "Start" for the
/// initial application), used to build the Sankey diagram.
struct StageTransition {
int jobId = -1;
QString fromStage; ///< Empty means JobStage::Start.
QString toStage;
QDateTime changedAt;
};