https://github.com/bharath-s-j/digital-due-records
A digital ledger system built in C for managing customer dues, generating bills, and securely maintaining store records.
https://github.com/bharath-s-j/digital-due-records
billing-system c customer-records digital-ledger security store-management
Last synced: 22 days ago
JSON representation
A digital ledger system built in C for managing customer dues, generating bills, and securely maintaining store records.
- Host: GitHub
- URL: https://github.com/bharath-s-j/digital-due-records
- Owner: Bharath-S-J
- License: mit
- Created: 2025-01-29T18:46:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-29T19:25:13.000Z (over 1 year ago)
- Last Synced: 2025-02-07T11:17:48.173Z (over 1 year ago)
- Topics: billing-system, c, customer-records, digital-ledger, security, store-management
- Language: C
- Homepage:
- Size: 836 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ Digital Due Records - Store Management System ๐งพ
## ๐ Overview
**Digital Due Records** is a digital ledger system, developed in **C**, designed to replace traditional "Katha" (account book) systems used in Indian stores. This project streamlines the management of customer dues, generates bills, and maintains well-organized records with minimal effort. It aims to provide an efficient, modern solution for store owners to track and manage financial data securely.
---
## ๐ Key Features
### ๐ **Dual Access System**
- **Customer Portal**: Securely view dues and transaction history.
- **Admin Portal**: Password-protected, offering store management capabilities.
### ๐ **Customer Record Management**
- Add, update, and delete customer records.
- Automatic bill generation with real-time due calculations.
- Automatically clear records when dues are settled.
### ๐ **Advanced Search and Sort**
- **Search by**:
- Customer name (case-insensitive).
- Transaction date.
- **Sort records by**:
- Customer name.
- Due amount.
- Transaction date.
- Flexible sorting options with **linked list** implementation, supporting both temporary and permanent sorting.
### ๐ก๏ธ **Enhanced Security**
- Password-protected admin access with recovery options.
- Security questions for account recovery.
- Limited login attempts for added protection.
### ๐ผ **Store Management**
- Customizable store details (name, address, contact).
- Professional bill generation and record management.
- User-friendly interface, requiring no technical knowledge.
---
## ๐ ๏ธ Technical Details
### Data Structures:
- **Structures**:
- `Customer`: Stores customer details and transactions.
- `SecurityQuestions`: Manages admin credentials securely.
- `StoreDetails`: Stores essential store-related information.
- **Linked Lists**:
- Used for dynamic record management.
- Enables efficient sorting and memory management.
### File Handling:
- **Binary files** for secure and persistent data storage.
- **Text files** for bill generation.
- **Temporary files** for intermediate operations.
### Memory Management:
- **Dynamic memory allocation** using `malloc()`.
- **Proper deallocation** using `free()` to prevent memory leaks.
---
## ๐งโ๐ป Skills Demonstrated
### ๐ก Programming Concepts:
- Structured Programming.
- Advanced Data Structures (Linked Lists).
- File I/O operations.
- Memory Management.
- Robust Input Validation.
### ๐ ๏ธ Software Engineering:
- **Modular Design**: Easily maintainable and extendable codebase.
- **User Interface Design**: Clear, simple, and intuitive interface.
- **Secure Authentication**: Strong user authentication with password and security questions.
- **Error Handling**: Comprehensive error handling and debugging.
### ๐ง Problem Solving:
- Efficient data search and sort algorithms.
- User authentication and security management.
- Real-time due calculations for customers.
---
## โ๏ธ Project Setup
### โก Quick Start:
1. Download and run the executable.
2. The first-time setup will guide you through:
- Admin password creation.
- Security question configuration.
- Store details input.
3. Ready to use immediately after setup.
### ๐ First-Time Setup Process:
1. System creates necessary files:
- `DueCustomers.txt`: Stores customer records.
- `password.bin`: Manages admin credentials.
- `store.txt`: Stores store details.
2. System guides you through:
- Password creation (minimum 8 characters).
- Security question setup (4 questions).
3. Validates all inputs to ensure smooth operation.
### ๐ ๏ธ Daily Usage:
1. Launch the program.
2. Choose between **Customer** or **Admin** access.
3. Perform actions like adding transactions, viewing records, and generating bills.
---
## ๐ป System Requirements:
- **C Compiler** (GCC preferred).
- **Windows OS** or compatible environment.
- Minimum **512MB RAM**.
- **10MB free disk space**.
- No additional software or internet required.
---
## ๐ Open to Contributions:
This project is open for **collaborations** and **improvements**. Feel free to fork, modify, and enhance the system for your needs or contribute back to the repository. Together, we can make it even better!