move pages and make serve simplier
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
{{define "nav"}}
|
||||
<div>
|
||||
<p class="sidebar-label">navigate</p>
|
||||
<div class="sidebar-links">
|
||||
<a href="#about">about</a>
|
||||
<a href="#product">product</a>
|
||||
<a href="#install">Installation</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="sidebar-label">links</p>
|
||||
<div class="sidebar-links">
|
||||
<a href="https://git.samantha42.xyz/samantha/accounting/releases">git repo</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="sidebar-label">subjects</p>
|
||||
<div class="skill-list">
|
||||
<div class="skill-item">opinion</div>
|
||||
<div class="skill-item">due diligence</div>
|
||||
<div class="skill-item">performance</div>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{define "body"}}
|
||||
<section class="hero" id="about">
|
||||
<p class="hero-eyebrow">Bookkeeping · 2026</p>
|
||||
<h1>Administration<br><span>infrastructure</span>
|
||||
</h1>
|
||||
<p class="hero-bio">
|
||||
buildout of internal tooling the hardship of this endiver and leason learn of programming for reliability and easy use.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section id="paradigms">
|
||||
<div class="section-head">
|
||||
<h2>Record Keeping paradigm</h2>
|
||||
</div>
|
||||
<div class="exp-card">
|
||||
<div class="exp-header">
|
||||
<span class="exp-title">Emultable entries/data</span>
|
||||
</div>
|
||||
<p class="exp-body">
|
||||
Book keeping and other record keeping tasks, benefit of not having a real deletation of data/infomation. Rather have a record of change.
|
||||
<br>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<br>
|
||||
<p class="exp-body">
|
||||
Programming can be a chore, but for me it's a source of joy. It's something I do as a hobby, and I
|
||||
don't use LLMs much. It's about having fun and making a fool of yourself. It's not about how good it is,
|
||||
in this case, I'd rather just listen to music and drink a cup of tea. I enjoy the struggle to debug, the small beauty in understanding why a bug was there in the first place.
|
||||
</p>
|
||||
|
||||
<img src="/static/images/sql.png" style="width: 70%; padding: 10px 15% 10px; align-self: center;">
|
||||
<p class="exp-body">
|
||||
I chose SQLite3 because it's a SQL-based database that doesn't need a live server, just a single db file.
|
||||
The idea is to use a monolith to control the book records, so no collisions should happen. The IDs and other
|
||||
fields are kept very basic because of SQLite's minimal type support.
|
||||
|
||||
Entries are ints and strings. The history of changes, saved as events, is stored as blobs, since retrieving
|
||||
these should only happen on rare occasions. Mostly the resulting changes are saved, while the more granular
|
||||
event-by-business-action log is timestamped, and its id relates to the resulting entries (account movements).
|
||||
</p>
|
||||
|
||||
<img src="/static/images/directory.png" style="width: 60%; padding: 10px 15% 10px; align-self: center;">
|
||||
|
||||
<p class="exp-body">
|
||||
Space can be a concern, so I save attachments in a compressed format. By separating attachments, a linked
|
||||
directory could be saved on a hard disk drive instead, as these will probably almost never get accessed after
|
||||
saving. Only occasionally in an audit scenario.
|
||||
<br>
|
||||
The filename is the id from the db. This way, if there's ever a corruption scare, I could read the db as a
|
||||
text file and find the metadata from the id. It also makes naming irrelevant, so filenames can't collide.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section id="product">
|
||||
<div class="section-head">
|
||||
<h2>Web based access</h2>
|
||||
</div>
|
||||
<div class="exp-card">
|
||||
<div class="exp-header">
|
||||
<span class="exp-title">minimal</span>
|
||||
</div>
|
||||
<p class="exp-body">
|
||||
later versions will have more user account restricted access, in this beta version, web access is consider the same user.
|
||||
<br>
|
||||
I can assume all actions is myself as i self host on my local network.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<img style="width: 25rem; padding: 10px;" src="/static/images/image.png">
|
||||
<p class="exp-body">
|
||||
This is first look at the testing of the web ui of the bookkeeping software.
|
||||
|
||||
The alerts represent the current failure to comply with the law, is no attachments have been filed to these evenets.
|
||||
|
||||
<br>
|
||||
The Blue highlighted event of synthitc nature, as it is created by the system as the resulting section of the book have yet to be moved to balance as a result.
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
Most of these posted done via the command line (cli) tool as this will give 100% control of the events and the underlying entries
|
||||
|
||||
<br>
|
||||
|
||||
Depreciation and amortization will soon be automatic as "notes" will soon contain the data such as lifespan of assets and other human insight infomation, like the accoutning method in use.
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
||||
<section id="install">
|
||||
<div class="section-head">
|
||||
<h2>Installation Guide</h2>
|
||||
</div>
|
||||
<div class="exp-card link" onclick="window.open('https://git.samantha42.xyz/samantha/accounting/releases', '_blank')">
|
||||
<div class="exp-header">
|
||||
<span class="exp-title">Selfhosting for free</span>
|
||||
<div>
|
||||
<span class="exp-tag">linux</span>
|
||||
<span class="exp-tag red">BETA</span>
|
||||
</div>
|
||||
</div>
|
||||
<p class="exp-body">Command: ./klacq_acc_linux_xx.xx --port=8081</p>
|
||||
<br>
|
||||
|
||||
<p class="exp-body">Password enable by setting ".env" file with PASSWORD_HASH="secret" secret is bcrypt</p>
|
||||
<br>
|
||||
<p class="exp-body"> Free to run on your own machine or server. No account needed.
|
||||
</p>
|
||||
|
||||
<div style="font-family: 'DM Mono', monospace; font-size: 11px; color: var(--muted); letter-spacing: 0.05em; margin-bottom: 8px;">
|
||||
DATA LOCATIONS <span style="opacity:0.7;">(relative to program directory)</span>
|
||||
</div>
|
||||
<table class="info-table" style="width:100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="font-family:'DM Mono', monospace; font-size:12px; width: 40%;">/data/app.db</td>
|
||||
<td style="font-family:'DM Sans', sans-serif; font-size:12px; color: var(--muted);">Main database</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-family:'DM Mono', monospace; font-size:12px;">/data/attachments</td>
|
||||
<td style="font-family:'DM Sans', sans-serif; font-size:12px; color: var(--muted);">Receipts & documents</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-family:'DM Mono', monospace; font-size:12px;">/data/reports</td>
|
||||
<td style="font-family:'DM Sans', sans-serif; font-size:12px; color: var(--muted);">Generated reports</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="font-family:'DM Mono', monospace; font-size:12px;">/data/config.json</td>
|
||||
<td style="font-family:'DM Sans', sans-serif; font-size:12px; color: var(--muted);">company info</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
{{end}}
|
||||
Reference in New Issue
Block a user