MCPSERV.CLUB
Warracker

Warracker

Self-Hosted

Track, manage, and alert on product warranties effortlessly

Active(97)
853stars
0views
Updated 5 days ago

Overview

Discover what makes Warracker powerful

**Warracker** is a lightweight, open‑source warranty management system designed for individuals and small teams. From a developer standpoint, it is a full‑stack web application that emphasizes data integrity, extensibility, and ease of self‑hosting. The core use case is to ingest product purchase data—dates, serial numbers, vendor details—and expose a RESTful API that can be consumed by front‑end frameworks or external services. Internally, the application keeps track of warranty periods, triggers notifications via Apprise, and stores supporting documents in a secure file store. The architecture is intentionally modular to allow developers to replace components (e.g., swap the default SQLite database for PostgreSQL) without disrupting the overall workflow.

Backend

Database

File Storage

Notification Engine

Overview

Warracker is a lightweight, open‑source warranty management system designed for individuals and small teams. From a developer standpoint, it is a full‑stack web application that emphasizes data integrity, extensibility, and ease of self‑hosting. The core use case is to ingest product purchase data—dates, serial numbers, vendor details—and expose a RESTful API that can be consumed by front‑end frameworks or external services. Internally, the application keeps track of warranty periods, triggers notifications via Apprise, and stores supporting documents in a secure file store. The architecture is intentionally modular to allow developers to replace components (e.g., swap the default SQLite database for PostgreSQL) without disrupting the overall workflow.

Technical Stack

  • Backend: Python 3.11, FastAPI framework for routing and asynchronous request handling. Validation is performed with Pydantic models, ensuring strict type safety across the API surface.
  • Database: SQLAlchemy ORM mapping to a SQLite default; optional support for PostgreSQL or MySQL via connection string overrides. Migrations are managed with Alembic, allowing schema evolution without manual SQL.
  • File Storage: Local filesystem storage under a configurable uploads/ directory. The API exposes endpoints for uploading, retrieving, and deleting files, with MIME type checks and size limits enforced server‑side.
  • Notification Engine: Integration with Apprise for multi‑channel alerts (email, Discord, Slack, etc.). Notification rules are defined in the database and evaluated by a background scheduler powered by APScheduler.
  • Front‑end: Vue.js 3 (or any SPA framework) communicates with the API over HTTPS. The UI is built with Vuetify for a responsive, material‑design experience.
  • Testing: Pytest suite covering unit and integration tests; coverage reports are generated automatically on CI.

Core Capabilities

  • CRUD API: Endpoints for creating, reading, updating, and deleting warranties, claims, and documents. Each entity exposes a JSON schema that can be introspected with OpenAPI.
  • Batch Import/Export: CSV import/export utilities allow bulk data migration. The importer validates column headers and performs upsert logic to prevent duplicates.
  • Search & Filter: Full‑text search powered by SQLite FTS5 (or PostgreSQL tsvector). Query parameters support fuzzy matching on product name, serial number, and tags.
  • Role‑Based Access Control: JWT authentication with scopes for admin, user, and read‑only roles. Permissions are enforced at the route level via dependency injection.
  • Extensible Notification Rules: Developers can add custom notification providers by extending the Apprise adapter or by registering a webhook endpoint that receives JSON payloads.

Deployment & Infrastructure

Warracker is designed to run in a containerized environment. A Dockerfile exposes the FastAPI app on port 8000, and an Nginx reverse proxy can be layered for HTTPS termination. For production, it is recommended to run the app behind a process manager like Uvicorn with Gunicorn workers. The database can be persisted in a Docker volume or an external managed service, and the uploads directory should be mounted to a durable storage backend (e.g., AWS S3 via MinIO). Horizontal scaling is straightforward: stateless API instances can be load‑balanced, while the database and file store remain central.

Integration & Extensibility

  • Plugin System: The application exposes a simple plugin interface where developers can register additional routes or background jobs. Plugins are loaded from a designated plugins/ directory and discovered at startup.
  • Webhooks: External services can subscribe to warranty events (e.g., claim status changes) via a webhook registry. Payloads are JSON and signed with HMAC for security.
  • SDKs: Although not bundled, the OpenAPI spec can be used to generate client libraries in multiple languages (Python, TypeScript, Go) using tools like OpenAPI Generator.
  • Custom Fields: The data model allows adding arbitrary key‑value pairs to warranties, enabling domain‑specific extensions without code changes.

Developer Experience

The repository follows a clear folder hierarchy (app/, tests/, docs/). Documentation is available both inline via docstrings and in Markdown files that explain the API, data model, and deployment steps. The community is active on Discord, where contributors discuss feature requests and bug fixes. Licensing under MIT ensures there are no restrictions for commercial or internal use.

Use Cases

  1. Small Business Asset Management – Track warranties for office equipment, with automated reminders sent to the procurement team.
  2. IT Asset Tracking – Monitor server and network device warranties, integrating with CMDB systems via the API.
  3. Consumer Warranty Portfolios – Individuals can aggregate warranties from multiple purchases and receive email alerts before expiration.
  4. Service Providers – Offer a hosted warranty service to clients, leveraging the plugin system for custom branding and reporting.

Advantages

  • Performance: FastAPI’s async capabilities keep latency low even under moderate load; the lightweight SQLite default is sufficient for up to a few thousand records.
  • Flexibility: The modular architecture lets developers swap storage backends, extend notification channels, or embed the API in larger systems.

Open SourceReady to get started?

Join the community and start self-hosting Warracker today