Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

ScanAndBuy🛒 - Scanner de Cotação de Produtos

Um sistema completo de scanner de código de barras para cotação de produtos, simulando a funcionalidade de um caixa de supermercado. O projeto é dividido em uma API robusta em Spring Boot (backend) e um aplicativo mobile intuitivo em Flutter (frontend), permitindo a leitura de códigos de barras, consulta de preços em um banco de dados e totalização da cotação em tempo real.


✨ Funcionalidades

Fase 1: Core Funcionalidade (Status: Em Desenvolvimento/Concluído)

  • Scanner de Código de Barras: Utiliza a câmera do dispositivo mobile para escanear códigos de barras (EAN-13, UPC, etc.).
  • Consulta de Preços: Envia o código de barras escaneado para a API para obter o nome e o preço do produto.
  • Lista de Compras Temporária: Exibe os produtos escaneados em uma lista na mesma tela do scanner, com suas respectivas quantidades e subtotais.
  • Ajuste de Quantidade: Permite ao usuário ajustar a quantidade de um item na lista.
  • Remoção de Itens: Permite remover um item da lista de compras.
  • Totalização da Cotação: Calcula e exibe o valor total da lista de produtos em tempo real.
  • API Integrada: Backend desenvolvido em Spring Boot para gerenciamento de produtos e cálculo de totais.
  • Conexão Inicial com PostgreSQL: A API se conecta a um banco de dados PostgreSQL para consulta de produtos.

🔮 Funcionalidades Futuras (Próximas Fases)

  • Fase 2: Adaptação a Múltiplos Bancos de Dados (Backend)
    • API capaz de se conectar a diferentes tipos de bancos de dados relacionais (SQL Server, MySQL, etc.) através de perfis Spring Boot ou configurações no application.properties.
    • Demonstração da adaptabilidade da API a diferentes ambientes de mercado.
  • Fase 3: Interface de Configuração para Admin (App/Web)
    • Desenvolvimento de uma interface intuitiva (no próprio aplicativo ou uma pequena interface web separada) para que o administrador do mercado possa configurar o tipo de banco de dados, credenciais de acesso e mapeamento de tabelas/colunas sem necessidade de alteração de código.
    • Armazenamento seguro das credenciais do banco de dados na API.

🚀 Arquitetura do Projeto

O projeto segue uma arquitetura modular, dividida em duas camadas principais:

  • Backend (API - Spring Boot):

    • Responsável pela lógica de negócio, acesso ao banco de dados de produtos (simulando o banco de dados de um mercado) e cálculo da cotação.
    • Expõe endpoints RESTful para o aplicativo Flutter.
    • Tecnologias: Java, Spring Boot, Spring Data JPA, PostgreSQL (inicialmente).
  • Frontend (App Mobile - Flutter):

    • Desenvolvido para Android.
    • Responsável pela interface do usuário, interação com a câmera para leitura de códigos de barras, e comunicação com a API para obter dados e resultados.
    • Tecnologias: Dart, Flutter, mobile_scanner (para leitura de códigos de barras), http (para requisições à API).

🛠️ Tecnologias Utilizadas

Backend (API - Spring Boot):

  • Linguagem: Java 17+
  • Framework: Spring Boot 3+
  • Gerenciador de Dependências: Maven
  • Banco de Dados: PostgreSQL (inicialmente)
  • ORM/Persistência: Spring Data JPA / Hibernate
  • APIs Web: Spring Web (RESTful APIs)

Frontend (App Mobile - Flutter):

  • Linguagem: Dart
  • Framework: Flutter 3+
  • Leitor de Código de Barras: mobile_scanner
  • Requisições HTTP: http

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors