Skip to content

eersoy93/home-stock-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Home Stock Manager ๐Ÿ ๐Ÿ“ฆ

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.

Home Stock Manager

โœจ Features

๐ŸŽฏ Core Features

  • 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

๐ŸŽจ Modern Interface

  • 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

๐Ÿ”ง Technical Features

  • 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

๐Ÿš€ Installation

Requirements

  • Windows 10/11
  • MinGW-w64 (GCC compiler)
  • Make tool

Build Steps

  1. Download source code:

    git clone https://github.com/eersoy93/home-stock-manager.git
    cd home-stock-manager
  2. Build the project:

    make
  3. Run the application:

    make run

Alternative Build Options

  • Debug version: make debug
  • Release version: make release
  • Clean: make clean
  • Rebuild: make rebuild

๐Ÿ“ฑ Usage

Main Screen

When you open the application, you'll see a modern interface:

  • Left side: Product list (ListView)
  • Right side: Action buttons

Button Descriptions

  • โž• 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

Adding/Editing Products

  1. Click "Add Product" or "Edit Product" button
  2. In the dialog window that opens:
    • Product Name: Enter the product name
    • Category: Specify the product category
    • Stock Quantity: Enter the current stock count
  3. Click "OK" to save

Data Management

  • 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

๐Ÿ—๏ธ Project Structure

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

๐Ÿ”ง Technical Details

Data Structures

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;

Theme System

  • Light Theme: Modern white theme
  • Dark Theme: Dark mode support (future version)
  • Color Coding: Different colors for different functions

File Format

Data is stored in binary format in stock_data.dat file:

  • Header: Item count and next ID
  • Items: Binary data for each product

๐Ÿ› ๏ธ Development

Compilation Flags

CFLAGS = -Wall -Wextra -std=c99 -D_WIN32_WINNT=0x0600 
         -DUNICODE -D_UNICODE -finput-charset=UTF-8 
         -fexec-charset=UTF-8

Dependencies

LDFLAGS = -mwindows -luser32 -lgdi32 -lcomctl32 -lcomdlg32 
          -lkernel32 -lmsimg32 -luxtheme

๐Ÿ“‹ Feature List

Current Features โœ…

  • Product add/edit/delete
  • Stock quantity tracking
  • Category system
  • Data save/load
  • Modern UI design
  • UTF-8 character support
  • Emoji-enabled buttons

Future Features ๐Ÿ”ฎ

  • Search and filtering
  • Low stock alerts
  • Stock history
  • Data export (CSV, JSON)
  • Dark theme
  • Multi-language support

๐Ÿค Contributing

  1. Fork this repository
  2. Create a new branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push your branch (git push origin feature/new-feature)
  5. Create a Pull Request

๐Ÿ“„ License

Copyright (c) 2025 Erdem Ersoy (eersoy93)

This project is licensed under the MIT License. See the LICENSE file for details.

๐Ÿ“ž Contact

If you have any questions or suggestions, please open an issue.


Home Stock Manager - Manage your home stock smartly! ๐Ÿ โœจ

About

Stock manager of your objects at your home

Resources

License

Stars

Watchers

Forks

Packages

No packages published