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
- Registar tabacarias com registar_tabacaria.
- Registar produtos com registar_produto.
- Registar utilizadores com registar_utilizador.
- Registar vendas com registar_venda.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mads_tabacarias-0.1.6.tar.gz.
File metadata
- Download URL: mads_tabacarias-0.1.6.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7096c1653c4959c549af056dd21d23b837b5524dd6dc08820041ed2a15c480e
|
|
| MD5 |
1d2e885cf56a9066ea47c3f63782005b
|
|
| BLAKE2b-256 |
060241264ac89004127ecca96740b24d7234456765ca9eca1756eda31263a4ee
|
File details
Details for the file mads_tabacarias-0.1.6-py3-none-any.whl.
File metadata
- Download URL: mads_tabacarias-0.1.6-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9006d484de24471a68d8ad0208dbb3da0ebc505333334819028b0ed35f12b2c
|
|
| MD5 |
b560d9af860c3695b67ccd401d6193ac
|
|
| BLAKE2b-256 |
3e3f70163e596da95fad4f3d4f6f4a131b8a0f9004d6610c7e2c33a5d39da0ed
|