Overview
Overview
Section titled “Overview”Stowaway is a modern, self-hosted inventory management system designed for individuals and small teams who want to keep track of their belongings.
Why Stowaway?
Section titled “Why Stowaway?”Self-Hosted
Section titled “Self-Hosted”Your data stays on your server. No subscriptions, no third-party access, no vendor lock-in.
Modern Stack
Section titled “Modern Stack”Built with Next.js, Prisma, and SQLite - technologies that are fast, reliable, and easy to maintain.
Easy to Use
Section titled “Easy to Use”A clean, intuitive interface that works on desktop and mobile devices.
Core Concepts
Section titled “Core Concepts”Items are the core of Stowaway. Each item represents something you want to track:
- Physical goods - Tools, equipment, supplies
- Collectibles - Books, media, memorabilia
- Household items - Kitchen appliances, electronics
- Business inventory - Products, materials, assets
Categories
Section titled “Categories”Categories help you organize items into logical groups:
- Color-coded for visual identification
- Filter items by category
- Track item counts per category
Locations
Section titled “Locations”Locations represent where items are physically stored:
- Rooms in your home
- Shelves in a warehouse
- Storage units
- Any custom location you define
Architecture
Section titled “Architecture”graph TD A[Browser] -->|HTTPS| B[Next.js Server] B -->|API Routes| C[Prisma ORM] C -->|SQL| D[SQLite Database] B -->|Static Files| E[File System] E -->|Images| F[Uploads Directory]Components
Section titled “Components”| Component | Technology | Purpose |
|---|---|---|
| Frontend | React + Next.js | User interface |
| Backend | Next.js API Routes | REST API |
| Database | SQLite + Prisma | Data persistence |
| Auth | NextAuth.js | Authentication |
| Styling | Tailwind CSS + shadcn/ui | UI components |
User Roles
Section titled “User Roles”- Full access to all features
- Can manage all users’ items
- First registered user automatically becomes admin
- Can manage their own items
- Cannot access other users’ data
- Standard access to all features
Data Flow
Section titled “Data Flow”- User Action - User interacts with the web interface
- API Request - Browser sends request to Next.js API route
- Authentication - NextAuth.js validates the session
- Database Query - Prisma executes the database operation
- Response - Data is returned and rendered in the UI
Next Steps
Section titled “Next Steps”- Features - Detailed feature documentation
- Managing Items - Learn how to work with items
- API Reference - Technical API documentation