sassanix b4855af43f Grid view, manuals, prices, table view, export option, filters
## [0.5.0] - 2025-03-07

### Added
- Enhanced filtering and sorting capabilities
  - Status filter (All, Active, Expiring Soon, Expired)
  - Multiple sorting options (Expiration Date, Purchase Date, Name)
  - Export filtered warranties as CSV
  - Improved filter controls layout
  - Mobile-responsive filter design
- Multiple view options for warranty display
  - Grid view with card layout (default)
  - List view for compact horizontal display
  - Table view for structured data presentation
  - View preference saved between sessions
  - Responsive design for all view types
- Optional purchase price tracking
  - Users can now add purchase prices to warranties
  - Price information displayed in warranty cards
  - Currency formatting with dollar sign
  - Included in warranty summary and exports

### Changed
- Completely redesigned user interface
  - Modern card-based layout for warranties
  - Enhanced filter controls with improved styling
  - Better visual hierarchy with labeled filter groups
  - Custom dropdown styling with intuitive icons
  - Improved spacing and alignment throughout
  - Consistent color scheme and visual feedback
  - Responsive grid layout for warranty cards

### Fixed
- Status indicator borders now correctly displayed for all warranty states
  - Green border for active warranties
  - Orange border for warranties expiring soon
  - Red border for expired warranties
- Consistent status styling across all warranty cards
- Form now resets to first tab after successful warranty submission
- Manual filename now properly cleared when form is reset

## [0.4.0] - 2025-03-07

### Added
- Improved warranty creation process
  - Multi-step form with intuitive navigation
  - Progress indicator showing completion status
  - Enhanced validation with clear error messages
  - Summary review step before submission
  - Expiration date preview in summary
  - Responsive design for all device sizes

### Fixed
- Progress indicator alignment issue in multi-step form
  - Contained indicator within form boundaries
  - Prevented overflow with improved CSS approach
  - Ensured consistent tab widths for better alignment
- Improved tab navigation visual feedback

## [0.3.0] - 2025-03-07

### Added
- Product manual upload support
  - Users can now upload a second document for product manuals
  - Manual documents are displayed alongside invoices in the warranty details
  - Both add and edit forms support manual uploads
- Product URL support
  - Users can now add website URLs for products
  - Links to product websites displayed in warranty cards
  - Easy access to product support and information pages

### Changed
- Improved document link styling for consistency
  - Enhanced visual appearance of document links
  - Consistent styling between invoice and manual links
  - Better hover effects for document links
  - Fixed styling inconsistencies between document links
- Improved warranty card layout
  - Document links now displayed side by side for better space utilization
  - Responsive design adapts to different screen sizes
  - More compact and organized appearance

### Fixed
- Styling inconsistency between View Invoice and View Manual buttons
- Removed unused CSS file to prevent styling conflicts
2025-03-07 16:12:15 -04:00
2025-03-01 22:39:48 -04:00
2025-03-06 22:06:44 -04:00
2025-03-03 09:13:34 -04:00
2025-03-03 07:59:44 -04:00
2025-03-06 22:11:13 -04:00
2025-03-03 07:59:44 -04:00

🛡️ Warracker

Warracker is an open-source warranty tracker application designed to help you effortlessly keep track of product warranties, expiration dates, and related documentation.

🌟 Overview

Warracker is a web-based application that provides a centralized system for managing all your product warranties. Key features include:

  • Tracking product warranties in one central location.
  • Adding warranty details, including purchase dates and duration.
  • Uploading and storing warranty documentation and receipts.
  • Providing visual indicators for active, expiring soon (less than 30 days), and expired warranties.
  • Searching through your warranty collection.

📸 Screenshots

Home Page

image

image

Status Dashboard

image

Features

  • Warranty Management: Add, edit, and delete warranty information.
  • Document Storage: Upload and securely store receipts and warranty documentation.
  • Status Tracking: Visual indicators for warranty status (active, expiring soon, expired).
  • Search: Easily find warranties by product name.
  • Responsive Design: A seamless experience on both desktop and mobile devices.

🛠️ Technology Stack

  • Frontend: HTML, CSS, JavaScript
  • Backend: Python with Flask
  • Database: PostgreSQL
  • Containerization: Docker and Docker Compose
  • Web Server: Nginx

🚀 Installation

Prerequisites

  • Docker and Docker Compose installed on your system.
  • Git (for cloning the repository).

Setup

  1. Clone the Repository:

    git clone https://github.com/sassanix/warracker.git
    cd warracker
    
  2. Start the Application:

    docker-compose up -d
    
  3. Access the Application:

    Open your browser and navigate to http://localhost:8005.

📝 Usage

Adding a Warranty

  1. Fill in the product details on the left panel.
  2. Enter the purchase date and warranty duration.
  3. Optionally upload receipt/documentation.
  4. Click the "Add Warranty" button.

Managing Warranties

  • Use the search box to filter warranties.
  • Click the edit icon to modify warranty details.
  • Click the delete icon to remove a warranty.

💻 Development

Local Development Environment

  1. Clone the repository.

  2. Make your changes.

  3. Build and run with Docker Compose:

    docker-compose build
    docker-compose up -d
    

Project Structure

warracker/
├── backend/             # Python Flask backend
│   ├── app.py           # Main application logic
│   ├── requirements.txt # Python dependencies
│   └── init.sql         # Database initialization
├── frontend/            # Web frontend
│   ├── index.html
│   ├── script.js
│   └── style.css
├── docker-compose.yml   # Docker configuration
├── Dockerfile           # Container definition
└── nginx.conf           # Web server configuration

🗺️ Roadmap

  • User authentication.
  • Email reminders for expiring warranties.
  • Settings page.
  • Status page.

🛠️ Troubleshooting

Common Issues

  • Connection Refused Error: Ensure all containers are running (docker-compose ps). Verify the backend is correctly connected to the database.
  • Database Errors: If schema issues arise, double-check that the database initialization script (init.sql) matches the expected schema in app.py.

🤝 Contributing

Contributions are welcome! We encourage you to submit a Pull Request.

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/amazing-feature).
  3. Commit your changes (git commit -m 'Add some amazing feature').
  4. Push to the branch (git push origin feature/amazing-feature).
  5. Open a Pull Request.

📜 License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

🙏 Acknowledgements

  • Flask
  • PostgreSQL
  • Docker
Description
An open-source web application to manage product warranties, track expiration dates, and store related documents.
Readme AGPL-3.0 24 MiB
Languages
JavaScript 45.6%
Python 25.2%
HTML 18.4%
CSS 10.3%
Dockerfile 0.3%
Other 0.2%