Warracker is an open-source warranty tracker application designed to help you effortlessly keep track of product warranties, expiration dates, and related documentation.
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, and expired warranties.
- Searching through your warranty collection.
- 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.
- Frontend: HTML, CSS, JavaScript
- Backend: Python with Flask
- Database: PostgreSQL
- Containerization: Docker and Docker Compose
- Web Server: Nginx
- Docker and Docker Compose installed on your system.
- Git (for cloning the repository).
-
Clone the Repository:
git clone https://github.com/yourusername/warracker.git cd warracker
-
Start the Application:
docker-compose up -d
-
Access the Application:
Open your browser and navigate to
http://localhost:8005
.
- 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.
- Use the search box to filter warranties.
- Click the edit icon to modify warranty details.
- Click the delete icon to remove a warranty.
-
Clone the repository.
-
Make your changes.
-
Build and run with Docker Compose:
docker-compose build docker-compose up -d
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
- User authentication.
- Email reminders for expiring warranties.
- Mobile app.
- Settings page.
- Status page.
- 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
.
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.
This project is licensed under the MIT License - see the LICENSE file for details.
- Flask
- PostgreSQL
- Docker