quartz/content/Projects/rsgistry.md
2024-04-04 17:10:03 -05:00

27 lines
1.6 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: r/[es]/gistry
tags:
- foss
- "#rust"
- programming
- project
- difficulty-easy
- seedling
date: 2024-02-28
lastmod: 2024-02-28
---
[Repository](https://github.com/bfahrenfort/rsgistry)
I have a vision that all should take to write a customized, full-stack, ready-to-deploy registry web app for your packages or community extensions is editing a single type. More info to come soon.
This entry will be a technical overview of my implementation choices and program design. Documentation on actually using the codebase will be hosted in the repository. Enjoy!
- Sidebar: this was advanced for me but it will be extremely easy for someone with limited coding knowledge to fork and deploy in a way that supports their use case.
## Background
Ive run into the same ecosystem problem in about three different spaces now: theres a really robust system for **community extensions, but no real way to share them**. Either theyre too trivial for individual GitHub repositories, too non-tech-oriented, or still need some additional metadata hosted online in order to have a good API consumer UX. Thus, Im adapting a test project into a batteries-included codebase for hosting a registry. API is in Axum and set up to be hosted for free on Shuttle, unsure about the frontend as of yet but looking at Leptos.
...The name stylization is just a regex joke.
## Implementation Details
### Macros
I'm cultivating a tidbit on [[Programs I Like/rust-macros|Rust Macros]], so feel free to read for a practical introduction to the topic.
This program works by generating multiple model types, their helper functions, and sql queries all from a single type at compile time.