Modulo para analise de dados de oficinas automoveis
Project description
Mads Analise Oficinas
Biblioteca Python para gestao e analise de dados de oficinas automoveis.
O modulo trabalha em memoria e disponibiliza funcoes para:
- registo e listagem de utilizadores, oficinas, categorias e compras;
- analise estatistica de compras e faturacao;
- visualizacao em mapa;
- exportacao para JSON e CSV.
Instalacao
A partir do PyPI
pip install mads-analise-oficinas
Importacao
from MadsAnaliseOficinas import *
Tambem podes importar funcoes especificas:
from MadsAnaliseOficinas import addUser, addCatOficina, addOficina, registarCompra
Estrutura de dados (em memoria)
O modulo mantem quatro estruturas globais:
- utilizadores (dict)
- categoriasOficinas (list)
- oficinas (dict)
- compras (dict)
Isto significa que os dados existem apenas durante a execucao do programa. Para persistir informacao, usa as funcoes de exportacao.
Fluxo recomendado
- Registar categorias de oficina com addCatOficina.
- Registar oficinas com addOficina.
- Registar utilizadores com addUser.
- Registar compras com registarCompra.
- Consultar listagens, estatisticas, mapa e exportacao.
API Principal
Registos
addUser(nome, nif, dataNascimento, genero)
Regista um utilizador.
Parametros:
- nome: texto (apenas letras e espacos)
- nif: texto numerico com 9 digitos
- dataNascimento: formato YYYY-MM-DD
- genero: M, F ou Outro
Saida:
- imprime erros de validacao, ou mensagem de sucesso
addCatOficina(categoria, cor)
Regista uma categoria de oficina com uma cor para uso no mapa.
Parametros:
- categoria: texto com pelo menos 3 caracteres
- cor: uma das cores permitidas pelo Folium (ex.: blue, red, green)
Saida:
- imprime erros de validacao, ou mensagem de sucesso
addOficina(nif, nome, categoria, latitude, longitude, morada, cidade, codigoPostal, horario)
Regista uma oficina.
Validacoes relevantes:
- nif unico com 9 digitos
- categoria tem de existir em categoriasOficinas
- latitude entre -90 e 90
- longitude entre -180 e 180
- codigoPostal no formato XXXX-XXX
registarCompra(nifUtilizador, nifOficina, valor, descricao, dataCompra, catCompra)
Regista uma compra associada a utilizador e oficina.
Parametros-chave:
- dataCompra: YYYY-MM-DD
- catCompra: P (Produto) ou S (Servico)
Regras:
- valor maior que 0
- NIFs devem existir
- evita compras duplicadas com os mesmos dados principais
Listagens
As funcoes de listagem apresentam tabelas com pandas e IPython.display:
- listarCategorias()
- listarOficinas(nif=None, nome=None, categoria=None, cidade=None)
- listarUtilizador(nif=None, nome=None, genero=None)
- listarCompras(idCompra=None, nifUtilizador=None, nifOficina=None, categoria=None, valorMin=None, valorMax=None, dataInicio=None, dataFim=None)
Mapa
mapa()
Gera visualizacao de oficinas no mapa com Folium.
Comportamento:
- monta pontos com base nas oficinas registadas;
- usa categoria/cor definida em categoriasOficinas;
- guarda ficheiro mapa.html;
- apresenta o mapa no ambiente interativo.
Estatisticas
- verTotalOficinas(): total de oficinas registadas
- verTotalUtilizadores(): total de utilizadores registados
- consultarVolumeFaturação(nif=None): volume de faturacao total ou por oficina
- consultarMaisAdquirido(top=5): top de descricoes mais adquiridas
- listasVolumeVendas(top=10): ranking de oficinas por volume de vendas
- visualizarEvolucaoDespesas(nifUtilizador=None): grafico temporal das despesas
Exportacao
- exportarParaJSON(): exporta os dados para dados_exportados.json
- exportarParaCSV(): exporta para
- utilizadores.csv
- oficinas.csv
- compras.csv
- categoriasOficinas.csv
Exemplo completo
from MadsAnaliseOficinas import *
addCatOficina("Mecanica", "blue")
addCatOficina("Pintura", "red")
addOficina(
nif="501234567",
nome="Oficina Centro",
categoria="Mecanica",
latitude=41.235,
longitude=-8.620,
morada="Rua Central 100",
cidade="Maia",
codigoPostal="4470-123",
horario="09:00-18:00",
)
addUser("Maria Silva", "123456789", "1990-01-15", "F")
registarCompra(
nifUtilizador="123456789",
nifOficina="501234567",
valor=79.90,
descricao="Mudanca de oleo",
dataCompra="2026-03-01",
catCompra="S",
)
listarCompras()
consultarVolumeFaturação()
exportarParaCSV()
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
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_analise_oficinas-0.1.5.tar.gz.
File metadata
- Download URL: mads_analise_oficinas-0.1.5.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3245aec165b171a9cd5dec928e2be287c8353f77e12c97d06aa4b2afb0e2a21a
|
|
| MD5 |
97a332dad7ec80b3f60d670f6ef15e06
|
|
| BLAKE2b-256 |
cfa8365d1c7901cc9f4467b2f2c783f35d65d366769c6f756de8285fe754389a
|
File details
Details for the file mads_analise_oficinas-0.1.5-py3-none-any.whl.
File metadata
- Download URL: mads_analise_oficinas-0.1.5-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a72045d446b4b650ca36bd7074c03b7cca319888bc1e42cebd9e611374a8bb75
|
|
| MD5 |
2aafbf8a6007e8b3313ecc105e3be618
|
|
| BLAKE2b-256 |
ceb1d5efe8ff07297b0b8eb8a73180da792e51b03ce43e9a66d0b0858bca0be9
|