filamate

command module
v0.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2026 License: GPL-3.0 Imports: 6 Imported by: 0

README

Filamate

A simple web app for wrangling filament for your 3D printer

Screenshot of Filamate Dashboard

Screenshot of Filamate Spools page

Quick Start

git clone https://github.com/jsnfwlr/filamate
cd filamate
docker compose up -d
open http://localhost:9766

Roadmap

Pre-release
  • Make demo-data optional via env-var
  • Add custom sort functions to the Locations/Materials/Brands/Colors columns for Spools page to they sort by the label, not the ID
  • Upgrade to Go 1.26
  • Add stock level chart to the dashboard
  • Add material/brand chart to the dashboard
  • Add bulk creation of Locations, Materials, Brands, Stores, Colors, and maybe Spools
  • Add visual interface showing spool location, with drag-and-drop for moving spools between locations
  • Add rating system that prompts the user to give a rating out of 5 stars when they empty a spool, allowing them to track the quality of the filament by brand/material/color
  • Add linting for UI
  • Add unit tests for UI
  • Add testing mocks for the API functions
  • Add integration tests of the API endpoints
  • Add fuzzing tests for API functions
  • Add support for internationalization (i18n) and allow for translation contributions
  • Set up GitHub Actions
v0.1.0 and beyond
  • Publish official container image to ghcr.io and hub.docker.com
  • Make README nicer
  • Add integration/behavioral tests of the UI
  • Add test coverage for UI

Disclaimer

This project was mostly written by hand, with the bits that weren't generated by SQLC and OAPI-CODEGEN.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
etc
db/migrations
Package migrations provides an embedded filesystem containing database migration files.
Package migrations provides an embedded filesystem containing database migration files.
internal
cmd
Package cmd provides the command-line interface for Filamate.
Package cmd provides the command-line interface for Filamate.
cmd/daemon
Package daemon provides commands to run Filamate as a daemon.
Package daemon provides commands to run Filamate as a daemon.
cmd/database
Package database provides commands to manage the database.
Package database provides commands to manage the database.
db
Package db implements the database connection and related functionality.
Package db implements the database connection and related functionality.
server
Package server provides the web and API server for Filamate.
Package server provides the web and API server for Filamate.
server/handlers
Package handlers implements the API handlers for the auth server This file contains the methods that satisfy the interface generated by OpenAPI The actual business logic is delegated to the handlers/ui and handlers/healthchecks packages
Package handlers implements the API handlers for the auth server This file contains the methods that satisfy the interface generated by OpenAPI The actual business logic is delegated to the handlers/ui and handlers/healthchecks packages
server/handlers/brands
Package brands contains handlers for brand related API endpoints
Package brands contains handlers for brand related API endpoints
server/handlers/colors
Package colors contains handlers for color related API endpoints
Package colors contains handlers for color related API endpoints
server/handlers/healthchecks
Package healthchecks contains handlers for health check API endpoints
Package healthchecks contains handlers for health check API endpoints
server/handlers/locations
Package locations contains handlers for location related API endpoints
Package locations contains handlers for location related API endpoints
server/handlers/materials
Package materials contains handlers for material related API endpoints
Package materials contains handlers for material related API endpoints
server/handlers/ratings
Package ratings contains handlers for rating related API endpoints
Package ratings contains handlers for rating related API endpoints
server/handlers/spools
Package spools contains handlers for spool and spool-color related API endpoints
Package spools contains handlers for spool and spool-color related API endpoints
server/handlers/stats
Package stats contains handlers for the dashboard data
Package stats contains handlers for the dashboard data
server/handlers/stores
Package stores contains handlers for store related API endpoints
Package stores contains handlers for store related API endpoints
server/log
Package log contains logging keys used throughout the server package.
Package log contains logging keys used throughout the server package.
server/oapi
Package oapi provides primitives to interact with the openapi HTTP API.
Package oapi provides primitives to interact with the openapi HTTP API.
test/containers
Package containers provides utilities for managing test containers.
Package containers provides utilities for managing test containers.
Package static embeds static files into the binary.
Package static embeds static files into the binary.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL