feat: add Movies Diary to projects and K-Suite
This commit is contained in:
@@ -74,6 +74,18 @@ const kSuiteApps: KSuiteApp[] = [
|
|||||||
technologies: ["Rust", "Next.js", "TailwindCSS"],
|
technologies: ["Rust", "Next.js", "TailwindCSS"],
|
||||||
color: "from-violet-400 to-purple-500",
|
color: "from-violet-400 to-purple-500",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 6,
|
||||||
|
name: "Movies Diary",
|
||||||
|
shortDescription: "Self-hosted movie logging with federation",
|
||||||
|
description:
|
||||||
|
"Log every film you watch, rate it, and share reviews across the Fediverse via ActivityPub. Federate with other instances, follow remote users, and browse a fully federated activity feed.",
|
||||||
|
url: "https://movies.gabrielkaszewski.dev/",
|
||||||
|
githubUrl: "https://github.com/GKaszewski/movies-diary",
|
||||||
|
icon: "/images/movies-diary.avif",
|
||||||
|
technologies: ["Rust", "Axum", "ActivityPub", "SQLite"],
|
||||||
|
color: "from-rose-400 to-red-500",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
// Connection definitions for the organism
|
// Connection definitions for the organism
|
||||||
@@ -82,10 +94,12 @@ const connections = [
|
|||||||
{ from: 1, to: 2 }, // Thoughts -> K-Tuner
|
{ from: 1, to: 2 }, // Thoughts -> K-Tuner
|
||||||
{ from: 2, to: 3 }, // K-Tuner -> K-QR
|
{ from: 2, to: 3 }, // K-Tuner -> K-QR
|
||||||
{ from: 3, to: 4 }, // K-QR -> K-TV
|
{ from: 3, to: 4 }, // K-QR -> K-TV
|
||||||
{ from: 4, to: 0 }, // K-TV -> K-Notes
|
{ from: 4, to: 5 }, // K-TV -> Movies Diary
|
||||||
|
{ from: 5, to: 0 }, // Movies Diary -> K-Notes
|
||||||
{ from: 0, to: 2 }, // K-Notes -> K-Tuner (cross)
|
{ from: 0, to: 2 }, // K-Notes -> K-Tuner (cross)
|
||||||
{ from: 1, to: 3 }, // Thoughts -> K-QR (cross)
|
{ from: 1, to: 3 }, // Thoughts -> K-QR (cross)
|
||||||
{ from: 2, to: 4 }, // K-Tuner -> K-TV (cross)
|
{ from: 2, to: 4 }, // K-Tuner -> K-TV (cross)
|
||||||
|
{ from: 5, to: 1 }, // Movies Diary -> Thoughts (federation)
|
||||||
];
|
];
|
||||||
|
|
||||||
const KSuiteOrganism = () => {
|
const KSuiteOrganism = () => {
|
||||||
|
|||||||
23
lib/data.ts
23
lib/data.ts
@@ -455,6 +455,29 @@ export const projects: Project[] = [
|
|||||||
thumbnails: ["/images/galeria_rumia.avif", "/images/galeria_rumia2.avif"],
|
thumbnails: ["/images/galeria_rumia.avif", "/images/galeria_rumia2.avif"],
|
||||||
commercial: true,
|
commercial: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 24,
|
||||||
|
name: "Movies Diary",
|
||||||
|
short_description:
|
||||||
|
"Self-hosted movie logging with ActivityPub federation.",
|
||||||
|
description:
|
||||||
|
"A self-hosted, server-side rendered movie logging system with a full REST API. Built entirely in Rust with no JavaScript in the HTML interface — just HTML forms and an RSS feed.\n\n**Highlights:**\n- Immutable, append-only viewing ledger (tracks re-watches)\n- ActivityPub federation — follow remote users, broadcast reviews as federated Notes, shared inbox, paginated outbox\n- Full-text search via SQLite FTS5 or PostgreSQL tsvector + GIN\n- Background poster fetching, TMDB enrichment (cast, crew, genres, box office), image conversion to AVIF/WebP\n- File importer: CSV, TSV, JSON, XLSX from Letterboxd, IMDb, etc.\n- Dual database support: SQLite and PostgreSQL\n- Terminal UI client\n- OpenAPI documentation (Swagger UI + Scalar)\n\n**Technical details:**\n- **Architecture:** Hexagonal (Ports & Adapters) with DDD\n- **Backend:** Rust, Axum, SQLx\n- **Templates:** Askama (SSR)\n- **Event bus:** SQLite/PostgreSQL queue or NATS JetStream\n- **Federation:** ActivityPub (AP)",
|
||||||
|
category: "Web",
|
||||||
|
github_url: "https://github.com/GKaszewski/movies-diary",
|
||||||
|
visit_url: "https://movies.gabrielkaszewski.dev/",
|
||||||
|
download_url: null,
|
||||||
|
technologies: [
|
||||||
|
"Rust",
|
||||||
|
"Axum",
|
||||||
|
"SQLite",
|
||||||
|
"PostgreSQL",
|
||||||
|
"ActivityPub",
|
||||||
|
"Askama",
|
||||||
|
"NATS",
|
||||||
|
"Docker",
|
||||||
|
],
|
||||||
|
thumbnails: [],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 23,
|
id: 23,
|
||||||
name: "Pixel palette colorizer",
|
name: "Pixel palette colorizer",
|
||||||
|
|||||||
Reference in New Issue
Block a user