README had drifted: an unresolved merge-conflict marker left over from a past edit, a directory-structure diagram that no longer matches the repo (/internal/site, /internal/domains/platforms/tiktok - actual layout is server/, domains/, etc per AGENTS.md), and a duplicated dev-workflow blurb that AGENTS.md already documents more accurately. Splits the roadmap checklist out to ROADMAP.md and the Etsy API compliance checklist to domains/platforms/etsy/COMPLIANCE.md (next to the code it governs, where someone touching that integration will actually look for it) instead of burying both in one large README. README itself becomes a short front door with a "Where things live" index up top, since scattering docs across files only helps if there's an obvious map to them. Moves the CQRS/event-sourcing architecture note into AGENTS.md's Architecture section (with a new domains/raw_events bullet) rather than leaving it as prose in README, since AGENTS.md is the maintained engineering reference and that's where a reader would already be looking for how the domains are structured. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
112 lines
3.5 KiB
Markdown
112 lines
3.5 KiB
Markdown
## Inventory++ [](https://gitea.inventory-plus-plus.com/angel/inventory-plus-plus/actions?workflow=&scoped_workflow_source_repo_id=0&actor=0&status=0&branch=master)
|
|
|
|
WIP!
|
|
|
|
This is an application intended to ease the process of managing multiple online stores.
|
|
The benefits provided by this application will be to automatically manage shared inventory between stores,
|
|
reducing the amount of time needed to synchronize inventory between stores.
|
|
|
|
|
|
## Where things live
|
|
|
|
Documentation is split up rather than kept in one big doc - start here:
|
|
|
|
- **`AGENTS.md`** - the engineering reference: setup, `make` commands, architecture, database/migration gotchas, testing conventions, auth, and the researched platform-integration priority ranking (which platform to build next, and why).
|
|
- **`ROADMAP.md`** - in-progress and planned work, as a checklist.
|
|
- **`research/platforms.md`** - the underlying API-capability and market-size research the platform-priority ranking is based on.
|
|
- **`domains/platforms/etsy/COMPLIANCE.md`** - Etsy API usage obligations to keep satisfied when touching the Etsy integration.
|
|
- **`diagrams/`** - architecture and schema diagrams, linked from the Diagrams section below.
|
|
|
|
|
|
## Deploying
|
|
|
|
The application runs locally, from this directory.
|
|
It is deployed simply by running either from the root of the project,
|
|
```
|
|
make run
|
|
```
|
|
or
|
|
```
|
|
go run .
|
|
```
|
|
|
|
See `AGENTS.md` for the full setup/`make` command reference (migrations, tests, dev auth, etc).
|
|
|
|
|
|
## Technology
|
|
|
|
### Languages
|
|
|
|
#### Server side
|
|
Golang, Go Templates
|
|
|
|
#### Front end
|
|
HTML, CSS, Javascript
|
|
|
|
### Databases
|
|
Postgres, in docker
|
|
|
|
#### Management
|
|
Using [migrate](https://github.com/golang-migrate/migrate) to manage build out the database schema, and to run
|
|
migrations.
|
|
|
|
### Tooling
|
|
|
|
#### Server side
|
|
- github.com/angelbeltran/templater: for wiring up template directories for serving over the web and improving
|
|
the task of composing template together.
|
|
- go templates: generating html declaratively from the server.
|
|
- github.com/jackc/pgx/v5: for postgres db interfacing
|
|
|
|
#### Front end
|
|
- htmx: for strong hypermedia support
|
|
- hyperscript: for minimal, inline scripting, with strong integration with htmx
|
|
- tailwind: for styling the front end, using tried and testing styling paradigms, conventions, and templates.
|
|
|
|
|
|
# Architectural and Software Diagrams
|
|
|
|
## Application structure
|
|
|
|
See `AGENTS.md`'s Architecture section for the current, maintained breakdown of packages/directories.
|
|
|
|

|
|
|
|
## Database schemas
|
|
|
|
**public**
|
|

|
|
|
|
**mock**
|
|

|
|
|
|
|
|
## Events
|
|
|
|
`domains/raw_events` is the event-sourcing store behind this - see `AGENTS.md`'s Architecture section.
|
|
|
|
### Event Sourcing Architecture
|
|

|
|
|
|
### Event Structure
|
|

|
|
|
|
### Store Event Database Tables
|
|

|
|
|
|
|
|
## Platform: Etsy
|
|
|
|
### Signing up
|
|

|
|
|
|
### Models
|
|

|
|
|
|
See `ROADMAP.md` for what's still unbuilt in the Etsy flow (an account-creation page ahead of OAuth, billing info collection, refresh-token handling), and `domains/platforms/etsy/COMPLIANCE.md` for API usage obligations.
|
|
|
|
|
|
## All Diagrams
|
|
|
|
All diagrams are stored in the [diagrams](./diagrams) directory
|