English Version | Versão em Português
This is a basic market management system developed in C++. It follows a modular architecture where the Administrator and the Customer operate through separate executables, sharing a common database.
- Admin Module:
- Register products with sequential ID, Name, Barcode, and Price.
- Remove products from inventory by ID.
- Automatic data synchronization (Auto-Save/Load).
- Customer Module:
- Real-time catalog browsing.
- Shopping cart management (add/view).
- Checkout system with customizable percentage discounts.
- Automatic background loading of inventory data.
- Core Logic:
- Thread Safety: Uses
std::recursive_mutexto prevent crashes during simultaneous file access. - Persistent Storage: Data is stored in
C:\Market\database.json. - Security: Information is Base64 encoded to prevent manual tampering with the data.
- Thread Safety: Uses
- Language: C++17 or higher.
- Libraries: STL (Vectors, Threads, Filesystem, Mutex).
- Platform: Windows.
main.cpp: Entry point (Admin or Client logic).market.cpp/hpp: Core business logic.utils.cpp/hpp: Helper functions (Base64).stdafx.hpp: Global definitions.
Este é um sistema básico de gerenciamento de mercado desenvolvido em C++. Ele segue uma arquitetura modular onde o Administrador e o Cliente operam através de executáveis separados, compartilhando um banco de dados comum.
- Módulo Admin:
- Registro de produtos com ID sequencial, Nome, Código de Barras e Preço.
- Remoção de produtos do inventário por ID.
- Sincronização automática de dados (Auto-Save/Load).
- Módulo Cliente:
- Navegação no catálogo em tempo real.
- Gerenciamento de carrinho de compras (adicionar/visualizar).
- Sistema de checkout com descontos percentuais.
- Carregamento automático em segundo plano do inventário.
- Lógica Central:
- Thread Safety: Utiliza
std::recursive_mutexpara evitar erros em acessos simultâneos. - Armazenamento: Dados salvos em
C:\Market\database.json. - Segurança: Dados codificados em Base64 para evitar alterações manuais simples.
- Thread Safety: Utiliza
- Linguagem: C++17 ou superior.
- Bibliotecas: STL (Vectors, Threads, Filesystem, Mutex).
- Plataforma: Windows.
main.cpp: Ponto de entrada (Lógica Admin ou Cliente).market.cpp/hpp: Lógica principal de negócio.utils.cpp/hpp: Funções utilitárias (Base64).stdafx.hpp: Definições globais.
Developed for educational purposes / Desenvolvido para fins educacionais.