Crafter Hours Development Log

2025

January

Wednesday, January 8 2025

Stream RecordingProject Code

  • Set up basic HTTP server with Guile Fibers
  • Established basic route handlers
  • Basic page rendering with SXML
  • Created record type for the package model

Monday, January 13 2025

Stream RecordingProject Code

  • Created a basic sqlite schema for the package model
  • Implemented basic CRUD operations for package
  • Split out package model into its own module
  • Updated the package list and detail pages to load from the database
  • Attempted to set up a coop REPL server to no avail

Wednesday, January 15 2025

Stream RecordingProject Code

  • Figure out how ELPA repositories expose their package information
  • Download the archive-contents file and process the contents, determine structure
  • Insert initial package details into our sqlite database
  • Update package details page to display version and description

Monday, January 20 2025

Stream RecordingProject Code

  • Fleshed out data model to add package-author and package-source
  • Revamped SQL schemas to add tables for package_author, package_authors (relation table), and package_source
  • Updated insert-package! procedure to update package and related tables with information from package metadata
  • Attempted to update code to import package archives but failed due to technicalities

Next Time

  • Fix the issue with ELPA data import
  • Load all information to be displayed on the website

Backlog

  • Finish porting ELPA, NonGNU ELPA, and MELPA package details into our database
  • Search for packages by name on the site
  • Improve package details page to display all information
  • Package listing page should use a table with columns
  • Define the strategy for periodically updating package details (upserts?)
  • Store the last updated time for a package record
  • Make sure to log the source of the package (elpa, nongnu-elpa, melpa, melpa-stable)
  • Deduplicate package information if they share the same name?
  • Sort package listing alphabetically? (query parameter?)
  • Need a way to represent package dependencies across package sources but tie them together at the higher level of packages
Subscribe to the System Crafters Newsletter!
Stay up to date with the latest System Crafters news and updates! Read the Newsletter page for more information.
Name (optional)
Email Address