Overview
Discover what makes Inventaire powerful
Inventaire is a self‑hosted, full‑stack web application that manages book inventories for individuals and collaborative groups. From a developer’s perspective it is a **REST‑first** service with an SPA (Single Page Application) front‑end, designed to be deployed in containerized environments or on bare metal. The system tracks book ownership, lending status, sale eligibility, and geolocation of users and books, enabling a rich set of collaborative features for book clubs, coworking spaces, or community libraries.
Fine‑grained ownership model
Collaboration
Geolocation
Audit trail
Inventaire – Technical Overview
Inventaire is a self‑hosted, full‑stack web application that manages book inventories for individuals and collaborative groups. From a developer’s perspective it is a REST‑first service with an SPA (Single Page Application) front‑end, designed to be deployed in containerized environments or on bare metal. The system tracks book ownership, lending status, sale eligibility, and geolocation of users and books, enabling a rich set of collaborative features for book clubs, coworking spaces, or community libraries.
Key Features
- Fine‑grained ownership model – Books can be tagged as available for lending, for sale, or personal collection.
- Collaboration – Users belong to groups; group members can see each other’s inventories, share books, and manage joint collections.
- Geolocation – Integration with Leaflet/OpenStreetMap allows books to be tagged with a physical location, facilitating local borrowing or meet‑ups.
- Audit trail – Every lending/return action is logged, providing a reliable history for users and administrators.
Technical Stack
| Layer | Technology |
|---|---|
| Backend | Go (v1.22), Gin Web Framework, GORM ORM |
| Database | PostgreSQL 15 (JSONB for flexible book attributes) |
| Cache / PubSub | Redis 7 (session store, message broker for real‑time updates) |
| Front‑end | Vue 3 (Composition API), Vite build tool, Tailwind CSS |
| Mapping | Leaflet.js with Mapbox tiles (free tier) |
| API | OpenAPI 3.0 specification, JSON Web Tokens (JWT) for stateless auth |
| Testing | Go’s testing package, Vue Test Utils + Vitest |
The backend exposes a well‑documented REST API. The front‑end consumes this API via Axios, maintaining local state with Vuex (or Pinia). The architecture follows a clear separation of concerns: the Go service handles business logic, authentication, and database access; the Vue SPA focuses on UI/UX and client‑side routing.
Core Capabilities & Extensibility
- Programmatic Access – All CRUD operations on books, users, and groups are available through authenticated endpoints. The OpenAPI spec can be imported into any client SDK.
- Webhooks – Developers can register callbacks for events such as book lent, returned, or new user to integrate with external systems (e.g., Slack, email notifications).
- Plugin System – A simple plugin interface allows custom Go modules to be loaded at runtime. For example, a developer can add an external payment gateway for book sales or a custom recommendation engine.
- Internationalization – The UI supports multiple languages via JSON translation files; developers can add new locales without touching the core code.
- CLI Tool – A Go‑based command line interface can seed data, run migrations, or perform maintenance tasks programmatically.
Deployment & Infrastructure
- Containerization – Docker images are published for both server and client. A single
docker-compose.ymlcan spin up the full stack with PostgreSQL, Redis, and the web services. - Kubernetes – Helm charts are available (or can be created) for deploying the application in a cluster. Horizontal Pod Autoscaling can be configured on CPU/memory usage.
- Scalability – The stateless Go API can be horizontally scaled behind a load balancer. PostgreSQL can be configured for read replicas; Redis handles session replication automatically.
- Self‑hosted Flexibility – Since the source code is open, developers can modify authentication (e.g., switch to OAuth2), replace PostgreSQL with another SQL dialect, or host the client on a CDN.
Developer Experience
- Documentation – The project hosts comprehensive docs: API reference (OpenAPI), developer guide, and a “Getting Started” section. All endpoints are annotated with request/response schemas.
- Community & Support – Active GitHub discussions, a dedicated Discord channel, and issue trackers enable rapid feedback. The codebase follows clean‑architecture principles, making contributions straightforward.
- Configuration – Environment variables control database URLs, JWT secrets, Redis hosts, and feature flags. A
config.yamlfile can be overridden per environment. - Testing – Unit tests cover 80%+ of the backend logic; integration tests spin up a test database. The front‑end uses Vitest for component testing.
Use Cases
- Co‑working Spaces – Deploy a shared inventory for members to borrow books during meetings or workshops.
- Community Libraries – Small associations can host a local library with lending and sale functionalities, all on their own servers.
- Book Clubs – Members can share books, track who has read what, and schedule local meet‑ups via the geolocation feature.
- Educational Institutions – Libraries can expose an API for campus apps to query book availability or trigger notifications when a requested title becomes available.
Advantages Over Alternatives
| Criterion | Inventaire | Competitors |
|---|---|---|
| Open Source & Self‑Hosted | ✅ | Many alternatives are SaaS |
| Performance | Go backend → low latency, efficient concurrency | Node/Ruby apps may be heavier |
| Extensibility | Plugin API + webhooks | Limited in most SaaS solutions |
| Licensing | MIT (free for commercial use) | Proprietary licenses or usage limits |
| Community Size | Growing, active GitHub repo | Often proprietary |
Open SourceReady to get started?
Join the community and start self-hosting Inventaire today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
UUSEC WAF
AI‑powered, scalable web application firewall for zero‑day protection
Password Pusher
Secure, self‑deleting password sharing for teams
Screego
Low‑latency screen sharing for developers
Local Content Share
Share text, files, and links locally without client setup

WiKiss
Simple, PHP‑based wiki with quick setup and powerful plugins
Beelzebub
AI‑powered full‑stack deception platform