Skip to content

What is MyWarranties? ​

MyWarranties is a comprehensive warranty management system that helps customers track product warranties and communicate with suppliers through an interactive claim system.

Problem Statement ​

Managing product warranties is challenging:

  • Lost receipts - Paper receipts fade or get lost
  • Forgotten warranties - Hard to remember when warranties expire
  • Complex claims - Difficult to communicate with suppliers
  • No tracking - No central place to manage all warranties

Solution ​

MyWarranties provides:

For Customers ​

  • πŸ“± Digital Warranty Tracking - Store all warranties in one place
  • πŸ”” Expiration Alerts - Get notified before warranties expire
  • πŸ’¬ Easy Claims - Interactive claim system with messaging
  • πŸ“Έ Receipt OCR - AI-powered receipt scanning
  • πŸ“§ Email Integration - Reply to claims via email

For Suppliers ​

  • πŸ“Š Claim Management - Handle customer claims efficiently
  • πŸ’¬ Direct Communication - Chat with customers about claims
  • πŸ“§ Email Notifications - Respond via email
  • 🏷️ Brand Recognition - Build customer trust

Key Features ​

1. Product Management ​

Track products with:

  • Purchase date and location
  • Warranty period
  • Receipt photos
  • Product photos
  • Automatic expiration calculation

2. Warranty Claims ​

Interactive claims with:

  • Real-time messaging
  • Photo attachments
  • Email integration
  • Status tracking (open, in progress, resolved, closed)
  • Automatic supplier assignment

3. Notifications ​

Multiple notification channels:

  • Push notifications (mobile)
  • Email notifications
  • Real-time updates (Mercure)
  • Warranty expiration alerts

4. AI-Powered Features ​

  • Receipt OCR - Extract purchase date, store, price from receipts
  • Smart categorization - Automatic product categorization
  • Date detection - Intelligent date parsing

Technical Overview ​

Architecture ​

MyWarranties uses a modern, scalable architecture:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Mobile App                         β”‚
β”‚            (iOS / Android / Web)                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              β”‚
              β”‚ HTTPS / REST API
              β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Symfony Backend (PHP 8.3)               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
β”‚  β”‚  Auth    β”‚  β”‚  Claims  β”‚  β”‚  Email   β”‚          β”‚
β”‚  β”‚  (JWT)   β”‚  β”‚  System  β”‚  β”‚  (Resend)β”‚          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚         β”‚         β”‚              β”‚            β”‚
β”Œβ”€β”€β”€β–Όβ”€β”€β”€β” β”Œβ”€β”€β–Όβ”€β”€β”€β” β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”
β”‚ MySQL β”‚ β”‚Resendβ”‚ β”‚Firebaseβ”‚  β”‚  Mercure    β”‚ β”‚Claude β”‚
β”‚  DB   β”‚ β”‚Email β”‚ β”‚  Push  β”‚  β”‚  Realtime   β”‚ β”‚  AI   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”˜

Technology Stack ​

LayerTechnology
FrameworkSymfony 8.0
LanguagePHP 8.3+
DatabaseMySQL 8.0 / PostgreSQL 13+
AuthenticationJWT (Lexik Bundle)
API DocsOpenAPI / Swagger
EmailResend API
Push NotificationsFirebase Cloud Messaging
Real-timeMercure (Server-Sent Events)
AI/MLClaude AI (Anthropic)
TestingPHPUnit 12.5
DeploymentDocker + Kubernetes

Security Features ​

  • πŸ” JWT Authentication - Secure token-based auth
  • πŸ›‘οΈ Role-Based Access Control - Customer, Supplier, Admin roles
  • πŸ”’ Password Hashing - Bcrypt with salt
  • βœ… CSRF Protection - Token validation
  • πŸ”‘ Webhook Signatures - HMAC-SHA256 verification
  • πŸ•’ Timestamp Validation - Replay attack prevention
  • 🚫 SQL Injection Prevention - Doctrine ORM
  • πŸ“ Input Validation - Strict validation on all inputs

Use Cases ​

Personal Use ​

  • Track home appliance warranties
  • Manage electronics warranties
  • Store receipts digitally
  • Get expiration reminders

Business Use ​

  • Track equipment warranties
  • Manage fleet warranties
  • Streamline claim processes
  • Reduce warranty costs

Supplier Integration ​

  • Handle customer claims
  • Improve customer service
  • Track warranty performance
  • Reduce support costs

API-First Design ​

MyWarranties is built API-first:

  • RESTful API - Standard HTTP methods
  • JSON Responses - Consistent format
  • OpenAPI Documentation - Interactive API docs
  • Versioned - Backward compatible
  • Rate Limited - Fair usage
  • Paginated - Efficient data transfer

Scalability ​

Designed to scale:

  • Horizontal Scaling - Add more servers
  • Database Replication - Read replicas
  • CDN Integration - Fast asset delivery
  • Caching - Redis/Memcached support
  • Queue System - Background job processing
  • Load Balancing - Distribute traffic

Open Source ​

MyWarranties is open-source:

  • MIT License - Use freely
  • GitHub - Source code available
  • Community - Contributions welcome
  • Documented - Comprehensive docs
  • Tested - 40+ tests

Next Steps ​

Ready to get started?

MyWarranties - Warranty Management System