Skip to content

ril3y/MakerMatrix

Repository files navigation

MakerMatrix

A powerful, modern electronic parts inventory management system designed for makers, engineers, and electronics enthusiasts.

Version Code Quality License GitHub stars

Dashboard Modern dashboard with real-time inventory statistics and analytics


✨ What is MakerMatrix?

MakerMatrix helps you organize electronic components, track tools and equipment, manage inventory across multiple storage locations, track projects, and automate part data enrichment from supplier APIs. Built with a modern tech stack (FastAPI + React + TypeScript), it provides a beautiful, responsive interface with real-time updates and powerful search capabilities.

Key Highlights

  • πŸ“¦ Comprehensive Parts Management - Rich metadata, multi-location tracking, automatic supplier enrichment
  • πŸ“ Hierarchical Storage - Organize locations in a tree structure with container slot support
  • πŸ”§ Tools & Equipment Tracking - Check-out/check-in system, maintenance records, calibration management
  • 🏷️ Smart Label Printing - Template-based printing with QR codes for Brother QL printers
  • πŸ’Ύ Automated Backups - Encrypted backups with flexible scheduling (nightly/weekly/custom)
  • πŸ”„ Real-Time Updates - WebSocket-based live synchronization across all users
  • πŸ€– Supplier Integration - Auto-enrich from DigiKey, Mouser, LCSC, Seeed Studio, Adafruit
  • 🐳 Docker Support - Deploy anywhere with Docker or pull from GitHub Container Registry

πŸš€ Quick Start

Option 1: Docker (Recommended)

Pull and run from GitHub Container Registry:

# Interactive quick-start
curl -sL https://raw.githubusercontent.com/ril3y/MakerMatrix/main/scripts/docker-run.sh | bash

# Or with Docker Compose
git clone https://github.com/ril3y/MakerMatrix.git
cd MakerMatrix
cp .env.example .env
docker-compose up -d

Access at: http://localhost:8080

Option 2: Local Development

# Clone repository
git clone https://github.com/ril3y/MakerMatrix.git
cd MakerMatrix

# Set up Python environment
python3 -m venv venv_test
source venv_test/bin/activate  # On Windows: venv_test\Scripts\activate
pip install -r requirements.txt

# Set up frontend
cd MakerMatrix/frontend && npm install && cd ../..

# Configure environment (optional - defaults are fine for development)
cp .env.example .env
# Edit .env if needed - HTTPS_ENABLED=false by default (no certificates required)

# Start with development manager
python dev_manager.py

Access at: http://localhost:5173 (HTTP mode, default) or https://localhost:8443 (HTTPS mode)

HTTPS Mode: To enable HTTPS, set HTTPS_ENABLED=true in .env and generate certificates using python scripts/setup_https.py. See HTTPS Setup Guide for details.

Default Credentials

  • Username: admin
  • Password: Admin123!
  • ⚠️ Change immediately after first login!

πŸ“š Documentation

πŸ“– User Guides

πŸ› οΈ Developer Resources


✨ Feature Highlights

πŸ“¦ Parts Management
  • Rich part data with specifications, datasheets, images
  • Multi-location allocation with primary storage
  • Automatic enrichment from DigiKey, Mouser, LCSC
  • Advanced search with field-specific syntax
  • QR code generation and scanning
  • Price tracking and order history
  • Project association

Part Details

πŸ“ Location Management
  • Hierarchical organization (Workshop β†’ Shelf β†’ Drawer β†’ Bin)
  • Visual identification with emojis and images
  • Container types: standard, cassette reels, single-part slots
  • Auto-generate slot sequences (A1-A10, 1-100)
  • Drag-and-drop reorganization
  • Deletion safety with impact preview

Locations Container Management

πŸ”§ Tools Management
  • Comprehensive tool inventory (hand tools, power tools, instruments)
  • Check-out/check-in system with user tracking
  • Condition monitoring and maintenance records
  • Calibration tracking and alerts
  • Multi-location support
  • Usage history and statistics

Tools Tool Details

🏷️ Label Printing
  • Template-based printing with 7 pre-designed templates
  • QR code generation with 8 positioning options
  • Real-time preview before printing
  • Brother QL-800 printer support (other QL models may work but are untested)
  • 12mm label support (tested and verified)
  • Custom template creation

Label Printer

πŸ’Ύ Backup & Restore
  • Encrypted backups (Windows-compatible ZipCrypto)
  • Comprehensive: database + datasheets + images + config
  • Scheduled backups (nightly/weekly/custom cron)
  • Retention policy with auto-cleanup
  • Real-time progress tracking
  • Quick restore with safety backup

Backup Management

🏷️ Tags System
  • Instant tagging with #tagname syntax
  • Consistent color coding (hash-based)
  • Autocomplete from existing tags
  • Multi-entity support (parts and tools)
  • Workflow state tracking
  • Project organization

See all features β†’


πŸ› οΈ Technology Stack

Backend

  • FastAPI
  • SQLAlchemy + SQLModel
  • Pydantic
  • JWT Auth
  • WebSockets
  • APScheduler

Frontend

  • React 18 + TypeScript
  • Vite
  • TailwindCSS
  • Chart.js
  • Framer Motion
  • React Router

Infrastructure

  • SQLite / PostgreSQL
  • Docker + Docker Compose
  • GitHub Actions CI/CD
  • GitHub Container Registry
  • Nginx / Traefik

🐳 Docker Deployment

Pull from GitHub Container Registry

# Latest stable
docker pull ghcr.io/ril3y/makermatrix:latest

# Specific version
docker pull ghcr.io/ril3y/makermatrix:1.1.1

# Run
docker run -d -p 8080:8080 -v makermatrix-data:/data ghcr.io/ril3y/makermatrix:latest

Available Tags

  • latest - Latest from main branch or version tags
  • main - Latest development build from main branch
  • 1.1.1, 1.1, 1 - Version-specific tags (semver)
  • sha-abc1234 - Commit-specific builds (main branch only)

Complete Docker Guide β†’


πŸ”§ Configuration

Environment Variables

# Security (REQUIRED)
JWT_SECRET_KEY=your-secure-random-key
ACCESS_TOKEN_EXPIRE_MINUTES=1440

# Database
DATABASE_URL=sqlite:///./makermatrix.db

# Supplier APIs (Optional)
DIGIKEY_CLIENT_ID=your-client-id
DIGIKEY_CLIENT_SECRET=your-client-secret
MOUSER_API_KEY=your-api-key
# Note: LCSC does not require an API key

Full Configuration Guide β†’


🀝 Contributing

We welcome contributions! Whether it's bug reports, feature requests, code contributions, or documentation improvements.

Quick Start:

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Follow coding standards and add tests
  4. Update documentation
  5. Submit pull request

Contributing Guide β†’


πŸ“Š Project Status

Component Status
Core Features βœ… Stable
Code Quality βœ… 100% Type Safe (0 ESLint warnings, 0 TypeScript errors)
Docker Support βœ… Production Ready
CI/CD Pipeline βœ… Active
Backup System βœ… Complete
Mobile App 🚧 Planned
Multi-Warehouse 🚧 Planned

Latest Release: v1.1.1 - Bug fix release: printing, locations, modals, and scheduled backups


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


🌟 Star History

If you find MakerMatrix useful, please consider giving it a star! ⭐

Star History Chart


Built with ❀️ for makers and electronics enthusiasts

πŸ› Report Bug Β· ✨ Request Feature Β· πŸ“– Documentation

About

Maker Inventory Tracker

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors