mirror of
https://github.com/sassanix/Warracker.git
synced 2025-12-31 10:39:35 -06:00
0.5.0
## [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
🛡️ 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
Status Dashboard
✨ 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
-
Clone the Repository:
git clone https://github.com/sassanix/warracker.git cd warracker -
Start the Application:
docker-compose up -d -
Access the Application:
Open your browser and navigate to
http://localhost:8005.
📝 Usage
Adding a Warranty
- Fill in the product details on the left panel.
- Enter the purchase date and warranty duration.
- Optionally upload receipt/documentation.
- 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
-
Clone the repository.
-
Make your changes.
-
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 inapp.py.
🤝 Contributing
Contributions are welcome! We encourage you to submit a Pull Request.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - 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
Languages
JavaScript
45.6%
Python
25.2%
HTML
18.4%
CSS
10.3%
Dockerfile
0.3%
Other
0.2%