Skip to main content

Sistema de gestão de tabacarias

Project description

MADS-Grupo4-ProjetoTabacarias

Biblioteca Python para gestão e análise de dados de tabacarias.

O módulo trabalha em memória e disponibiliza funções para:

  • registo e listagem de tabacarias, produtos e utilizadores;
  • registo e consulta de vendas;
  • análise de desempenho (ranking);
  • visualização em gráficos;
  • visualização em mapa.

Instalação

A partir do PyPI

pip install mads-tabacarias

Importação

from mads_tabacarias import *

Estrutura de dados (em memória)

O módulo mantém quatro estruturas globais:

  • tabacarias (dict)
  • produtos (dict)
  • vendas (list)
  • utilizadores (dict)

Isto significa que os dados existem apenas durante a execução do programa.


Fluxo recomendado

  1. Registar tabacarias com registar_tabacaria.
  2. Registar produtos com registar_produto.
  3. Registar utilizadores com registar_utilizador.
  4. Registar vendas com registar_venda.
  5. Consultar dados, ranking, gráficos e mapa.

API Principal

Registos

registar_tabacaria(nome, morada, horario, latitude, longitude)

Regista uma tabacaria.

Validações:

  • todos os campos obrigatórios;
  • latitude entre -90 e 90;
  • longitude entre -180 e 180;
  • nome único.

registar_produto(nome, tipo, preco)

Regista um produto.

Validações:

  • nome e tipo obrigatórios;
  • preço numérico e positivo;
  • produto não pode existir previamente.

registar_utilizador(nome, nif)

Regista um utilizador.

Validações:

  • NIF com 9 dígitos numéricos;
  • utilizador único.

registar_venda(tabacaria, produto, quantidade)

Regista uma venda.

Regras:

  • tabacaria e produto devem existir;
  • quantidade inteira e positiva;
  • cálculo automático do total.

Listagens

  • consultar_tabacarias()
  • consultar_vendas()
  • consultar_vendas_por_tabacaria(nome)

Estas funções apresentam informação diretamente no terminal.


Ranking

ranking_tabacarias()

Apresenta ranking de tabacarias por volume de vendas.


Gráficos

  • grafico_vendas_tabacaria()
  • grafico_produtos()

Permitem visualizar:

  • total de vendas por tabacaria;
  • produtos mais vendidos.

Mapa

mapa()

Gera visualização de tabacarias num mapa com Folium.

Comportamento:

  • utiliza coordenadas registadas;
  • apresenta o mapa no ambiente interativo.

Exemplo completo

from mads_tabacarias import *

# Registos
registar_tabacaria("Loja Central", "Rua A, Porto", "08:00-20:00", 41.23, -8.62)
registar_produto("Jornal Público", "Jornal", 1.5)
registar_utilizador("Joao", "123456789")

# Venda
registar_venda("Loja Central", "Jornal Público", 10)

# Consultas
consultar_tabacarias()
consultar_vendas()

# Ranking
ranking_tabacarias()

# Gráficos
grafico_vendas_tabacaria()
grafico_produtos()

# Mapa
mapa()

Notas importantes

  • Validação de coordenadas:

    • Latitude entre -90 e 90
    • Longitude entre -180 e 180
  • Validação de NIF:

    • Deve conter 9 dígitos
  • Validação de dados:

    • Preços e quantidades devem ser positivos
    • Entidades devem existir antes de registar vendas

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mads_tabacarias-0.1.1.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mads_tabacarias-0.1.1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file mads_tabacarias-0.1.1.tar.gz.

File metadata

  • Download URL: mads_tabacarias-0.1.1.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for mads_tabacarias-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5916f3c7992b62bdbeaf2299cfc9006e9104020885a0c6f0f728f1401f407618
MD5 e2c98981536a20534e87b1f6d4328ed8
BLAKE2b-256 0ce34461c1daebb16da38fcd9b07d08dd274cb7aadb2e866a4ef83b5316410e9

See more details on using hashes here.

File details

Details for the file mads_tabacarias-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mads_tabacarias-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a4731eb058c487e9b4816e6641e650f92a447f133cd899deb2276a7157753939
MD5 348d132063a381021b0602a1e6b5d54a
BLAKE2b-256 9e3f1707a40e4eb89b4e9117ec9d5b59c9741d8ed1f7b3e9cce0dabf42ebfdf7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page