A modern and user-friendly home stock management application. You can easily track stock quantities of products in your home, organize them by categories, and store data securely. Written with Cursor AI.
- Product Management: Add, edit, and delete products
- Stock Tracking: Real-time stock quantity tracking
- Category System: Organize products by categories
- Data Storage: Automatic data saving and loading
- UTF-8 Support: Turkish character support
- Clean Design: Modern and minimalist user interface
- Emoji-Enabled Buttons: Visually rich button design
- Color-Coded Theme: Color coding for different button types
- Responsive Layout: Design that adapts to window size
- C Language: Developed in C for high performance
- Windows API: Native Windows application
- ListView Control: Advanced list view
- Binary Data Format: Fast data reading/writing
- Memory Management: Safe memory usage
- Windows 10/11
- MinGW-w64 (GCC compiler)
- Make tool
-
Download source code:
git clone https://github.com/eersoy93/home-stock-manager.git cd home-stock-manager
-
Build the project:
make
-
Run the application:
make run
- Debug version:
make debug
- Release version:
make release
- Clean:
make clean
- Rebuild:
make rebuild
When you open the application, you'll see a modern interface:
- Left side: Product list (ListView)
- Right side: Action buttons
- โ Add Product (Blue): Add new product
- โ๏ธ Edit Product (Yellow): Edit selected product
- ๐๏ธ Delete Product (Red): Delete selected product
- ๐พ Save Data (Green): Save data
- ๐ Load Data (Gray): Load data
- Click "Add Product" or "Edit Product" button
- In the dialog window that opens:
- Product Name: Enter the product name
- Category: Specify the product category
- Stock Quantity: Enter the current stock count
- Click "OK" to save
- Auto Loading: Application automatically loads
stock_data.dat
file on startup - Manual Saving: Save data with "Save Data" button
- Manual Loading: Load data with "Load Data" button
home-stock-manager/
โโโ main.c # Main program file
โโโ stock.c # Stock management functions
โโโ stock.h # Stock management header file
โโโ theme.c # Theme and UI functions
โโโ theme.h # Theme header file
โโโ resource.h # Windows resource definitions
โโโ resource.rc # Windows resource file
โโโ Makefile # Build file
โโโ README.md # This file
typedef struct {
char name[256]; // Product name
char category[128]; // Category
int stock; // Stock quantity
int id; // Unique ID
} StockItem;
typedef struct {
StockItem items[1000]; // Maximum 1000 products
int itemCount; // Current product count
int nextId; // Next ID
} StockManager;
- Light Theme: Modern white theme
- Dark Theme: Dark mode support (future version)
- Color Coding: Different colors for different functions
Data is stored in binary format in stock_data.dat
file:
- Header: Item count and next ID
- Items: Binary data for each product
CFLAGS = -Wall -Wextra -std=c99 -D_WIN32_WINNT=0x0600
-DUNICODE -D_UNICODE -finput-charset=UTF-8
-fexec-charset=UTF-8
LDFLAGS = -mwindows -luser32 -lgdi32 -lcomctl32 -lcomdlg32
-lkernel32 -lmsimg32 -luxtheme
- Product add/edit/delete
- Stock quantity tracking
- Category system
- Data save/load
- Modern UI design
- UTF-8 character support
- Emoji-enabled buttons
- Search and filtering
- Low stock alerts
- Stock history
- Data export (CSV, JSON)
- Dark theme
- Multi-language support
- Fork this repository
- Create a new branch (
git checkout -b feature/new-feature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push your branch (
git push origin feature/new-feature
) - Create a Pull Request
Copyright (c) 2025 Erdem Ersoy (eersoy93)
This project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions or suggestions, please open an issue.
Home Stock Manager - Manage your home stock smartly! ๐ โจ