https://github.com/sethbang/whole-home-inventory-system
whole-home-inventory-system
https://github.com/sethbang/whole-home-inventory-system
docker fastapi file-upload home-organization inventory inventory-management pwa python react secure-storage smart-home typescript
Last synced: about 2 months ago
JSON representation
whole-home-inventory-system
- Host: GitHub
- URL: https://github.com/sethbang/whole-home-inventory-system
- Owner: sethbang
- Created: 2024-12-22T07:02:18.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-01T16:02:15.000Z (over 1 year ago)
- Last Synced: 2025-06-17T15:51:42.806Z (12 months ago)
- Topics: docker, fastapi, file-upload, home-organization, inventory, inventory-management, pwa, python, react, secure-storage, smart-home, typescript
- Language: TypeScript
- Homepage:
- Size: 7.79 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Whole-Home Inventory System (WHIS)
WHIS is a self-hosted platform for managing household inventories. It centralizes item informationโdescriptions, photos, locations, purchase details, valuations, warrantiesโinto a local database accessible from multiple devices via a web interface.
## Documentation
๐ **[View Full Documentation](#documentation-suite)**
- ๐ [Architecture Overview](ARCHITECTURE.md)
- ๐ง [Development Guide](DEVELOPMENT.md)
- ๐งช [Testing Guide](TESTING.md)
- ๐ค [Contributing Guidelines](CONTRIBUTING.md)
- ๐ [API Documentation](API.md)
- ๐ [Security Policy](SECURITY.md)
- ๐ [Changelog](CHANGELOG.md)
- ๐ฆ [Deployment Guide](DEPLOYMENT.md)
## Features
- ๐ฑ **Progressive Web App (PWA)**: Offline access and mobile app-like experience
- ๐ธ **Photo Management**: Multiple images per item with camera integration
- ๐ **Advanced Search**: Filter and sort by any field
- ๐ท๏ธ **Custom Fields**: Define your own data fields and categories
- ๐ **Privacy-Focused**: Self-hosted with local data storage
- ๐ฑ **Mobile-Optimized**: Camera integration and quick-add functionality
- ๐ **Analytics & Reports**: Generate detailed reports about your inventory
- ๐ **Backup & Restore**: Automated backup system with restore capabilities
- ๐ท **Barcode/QR Scanning**: Quick item lookup and entry using barcodes
- ๐ **Data Migration**: Import/export functionality for various formats
## Screenshots
Main Dashboard - Overview of your inventory items
Item Details View - Comprehensive information about each item
Add Item Form - Easy item entry with custom fields
Analytics Dashboard - Detailed insights about your inventory
## Documentation Suite
WHIS provides comprehensive documentation to help you understand, use, and contribute to the project:
### For Users
- **[User Guide](docs/USER_GUIDE.md)**: Complete guide to using WHIS
- **[Installation Guide](#installation)**: Step-by-step installation instructions
- **[Deployment Guide](DEPLOYMENT.md)**: Production deployment instructions
- **[Security Policy](SECURITY.md)**: Security information and best practices
- **[Changelog](CHANGELOG.md)**: Version history and updates
### For Developers
- **[Architecture Overview](ARCHITECTURE.md)**: System design and technical decisions
- **[Development Guide](DEVELOPMENT.md)**: Setting up development environment
- **[Contributing Guidelines](CONTRIBUTING.md)**: How to contribute to WHIS
- **[Testing Guide](TESTING.md)**: Testing procedures and guidelines
- **[API Documentation](API.md)**: Complete API reference
## Tech Stack
### Backend
- Python 3.11
- FastAPI
- SQLite
- Uvicorn
- Alembic (Database migrations)
### Frontend
- React 18
- TypeScript
- Tailwind CSS
- Vite
- PWA Support
## Prerequisites
- Python 3.11 or higher
- Node.js 16 or higher
- npm or yarn
- Git
## Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/whole-home-inventory-system.git
cd whole-home-inventory-system
```
2. Set up the backend:
```bash
cd backend
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txt
alembic upgrade head # Initialize the database
```
3. Set up the frontend:
```bash
cd frontend
npm install
```
## Development Setup
### Certificate Setup (Required)
> โ ๏ธ **Important**: WHIS uses HTTPS for secure communication. You must set up the development certificates before running the application.
1. Generate the development certificates:
```bash
cd frontend
node scripts/generate-certs.js
```
This will create:
- A root Certificate Authority (CA) certificate
- Server certificates for local development
- All certificates are stored in the `certs` directory
2. Install the CA certificate on your development machine:
#### macOS:
```bash
cd ../certs
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain whis-dev-ca.crt
```
#### Linux:
```bash
cd ../certs
sudo cp whis-dev-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
```
#### Windows:
1. Navigate to the `certs` directory
2. Double-click `whis-dev-ca.crt`
3. Click "Install Certificate"
4. Select "Local Machine"
5. Choose "Trusted Root Certification Authorities"
6. Complete the installation wizard
For detailed instructions including mobile devices and NAS setup, see `certs/CERTIFICATE-SETUP.md`.
> ๐ **Note**: The certificate needs to be installed on each device that will access WHIS.
3. Start the backend server:
```bash
cd backend
source venv/bin/activate # On Windows use: venv\Scripts\activate
uvicorn app.main:app --reload
```
4. Start the frontend development server:
```bash
cd frontend
npm run dev
```
The application will be available at:
- Local development: https://localhost:5173
- Network access: https://[your-ip]:5173 or https://[your-nas]:5173
## Quick Start Guide
1. **First Time Setup**
- Create an admin account using the registration page
- Log in to access the dashboard
2. **Adding Items**
- Click the "Add Item" button
- Fill in the item details
- Add photos using upload or camera capture
- Use barcode scanner for quick entry
- Save the item
3. **Managing Items**
- Browse items from the dashboard
- Use search and filters to find specific items
- Click on items to view/edit details
- Add custom fields as needed
4. **Data Management**
- Create automatic backups of your data
- Download backups for safekeeping
- Upload backup files to restore data
- Import/export data using migration tools
- Generate reports and analytics
## Contributing
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details on:
- Code of Conduct
- Development process
- Pull request procedure
- Coding standards
## Support
- ๐ [Documentation](#documentation-suite)
- ๐ [Issue Tracker](https://github.com/yourusername/whole-home-inventory-system/issues)
- ๐ฌ [Discussions](https://github.com/yourusername/whole-home-inventory-system/discussions)
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built with [FastAPI](https://fastapi.tiangolo.com/)
- UI powered by [React](https://reactjs.org/)
- Styled with [Tailwind CSS](https://tailwindcss.com/)