Skip to main content

Sistema de gestão de aluguer de veículos

Project description

Gestão de Alugueres de Automóveis

Explicação do Projeto

Este projeto tem como objetivo o desenvolvimento de um sistema completo de gestão de alugueres de automóveis, permitindo a administração eficiente dos clientes, da frota de veículos e dos alugueres realizados. Para além disso, a aplicação oferece relatórios e estatísticas operacionais úteis para apoiar a tomada de decisões.

O sistema contempla as seguintes funcionalidades:

  • Gestão de Veículos
  • Gestão de Clientes
  • Gestão de Alugueres
  • Relatórios e Estatísticas

Como Utilizar

Siga os segintes passos:

from gestao_aluguer import GestorVeiculos, GestorClientes, GestorAlugueres
gestor_veiculos = GestorVeiculos()
gestor_clientes = GestorClientes()
gestor_alugueres = GestorAlugueres()

Dados para teste dos veículos:

# Adição de veículos diferentes sem dar erros
gestor_veiculos.adicionar_veiculo("AA-00-BB", "Ford", "Focus", "2019", "Diesel", 40000, 25.5) # Matricula, Marca, Modelo, Ano, Combustível, Quilómetros, Preço/Dia
gestor_veiculos.adicionar_veiculo("ZZ-11-CC", "Peugeot", "208", "2021", "Gasolina", 30000, 30)
gestor_veiculos.adicionar_veiculo("CC-00-BB", "Honda", "Civic", "2018", "Gasolina", 60000, 22)

# Adição de veículo para provocar o erro de matrícula repetida
gestor_veiculos.adicionar_veiculo("AA-00-BB", "Honda", "Civic", "2018", "Gasolina", 60000, 25.5)

# Adição de veículo para provocar o erro de ano inválido
gestor_veiculos.adicionar_veiculo("GG-00-BB", "Honda", "Civic", "1910", "Gasolina", 60000, 25.5)
# Atualização do veículo sem dar erros
gestor_veiculos.atualizar_veiculo("AA-00-BB", nova_matricula="XY-98-ZT", marca="Seat", modelo="Ibiza", data="2010", combustivel="Diesel", quilometros=120000, preco_dia=25.5)

# Atualização do veículo para provocar o erro de matrícula inexistente
gestor_veiculos.atualizar_veiculo("BB-00-BB", nova_matricula="XY-98-ZT", marca="Seat", modelo="Ibiza", data="2010", combustivel="Diesel", quilometros=75000, preco_dia=25.5)

# Atualização do veículo para provocar o erro de nova matrícula repetida
gestor_veiculos.atualizar_veiculo("CC-00-BB", nova_matricula="ZZ-11-CC", marca="Seat", modelo="Ibiza", data="2010", combustivel="Diesel", quilometros=75000, preco_dia=25.5)

# Atualização do veículo para provocar o erro de ano inválido
gestor_veiculos.atualizar_veiculo("ZZ-11-CC", nova_matricula="ZZ-11-CC", marca="Seat", modelo="Ibiza", data="2030", combustivel="Diesel", quilometros=75000, preco_dia=25.5)

Listagens dos veículos:

# Listar todos os veículos
gestor_veiculos.listar_veiculos()
# Listar a distância total percorrida pela frota
gestor_veiculos.quilometragem_total()
# Listar os veículos com mais de 100000km e com necessidade de manutenção preventiva
gestor_veiculos.manutencao_preventiva(100000)
# Listar veículos disponíveis num determinado período
gestor_alugueres.veiculos_disponiveis("13-05-2025", "15-05-2025", gestor_veiculos)

Dados para teste dos clientes:

# Adição de clientes diferentes sem dar erros
gestor_clientes.adicionar_cliente("111222333", "Ana Costa", "10-03-1990") # NIF, Nome, Data Nascimento
gestor_clientes.adicionar_cliente("444555666", "Carlos Martins", "21-07-1982")
gestor_clientes.adicionar_cliente("555555666", "Maria Oliveira", "20-10-1985")

# Adição de clientes para provocar o erro de NIF repetido
gestor_clientes.adicionar_cliente("111222333", "Maria Oliveira", "20-10-1985")

gestor_clientes.adicionar_cliente("245635465", "Carlos Oliveira", "20-10-1985")
# Atualização dos dados do cliente sem dar erros
gestor_clientes.atualizar_cliente("111222333", novo_nif="987654321", nome="João Pedro", data_nascimento="20-06-1991")

# Atualização dos dados do cliente para provocar o erro de NIF inexistente
gestor_clientes.atualizar_cliente("131222333", novo_nif="982654321", nome="João Pedro", data_nascimento="20-06-1991")

# Atualização dos dados do cliente para provocar o erro de novo NIF repetido
gestor_clientes.atualizar_cliente("555555666", novo_nif="444555666", nome="João Pedro", data_nascimento="20-06-1991")

Listagem dos clientes:

# Listar todos os clientes
gestor_clientes.listar_clientes()

Dados para teste dos alugueres:

# Criar alugueres
gestor_alugueres.adicionar_aluguer("987654321", "XY-98-ZT", "01-05-2025", "10-05-2025", gestor_veiculos, gestor_clientes) # NIF Cliente, Matrícula Veículo, Data Início, Data Fim
gestor_alugueres.adicionar_aluguer("444555666", "ZZ-11-CC", "05-05-2025", "15-05-2025", gestor_veiculos, gestor_clientes)
gestor_alugueres.adicionar_aluguer("245635465", "ZZ-11-CC", "25-05-2025", "28-05-2025", gestor_veiculos, gestor_clientes)

# Erro aluguer sobreposto
gestor_alugueres.adicionar_aluguer("444555666", "XY-98-ZT", "08-05-2025", "12-05-2025", gestor_veiculos, gestor_clientes)

# Erro NIF inexistente
gestor_alugueres.adicionar_aluguer("111222333", "XY-98-ZT", "01-05-2025", "10-05-2025", gestor_veiculos, gestor_clientes)

# Erro matrícula inexistente
gestor_alugueres.adicionar_aluguer("987654321", "AA-00-BB", "01-05-2025", "10-05-2025", gestor_veiculos, gestor_clientes)

Listagens dos alugueres:

# Listar todos os alugueres
gestor_alugueres.listar_alugueres()
# Lista dos 5 veículos mais alugados
gestor_alugueres.veiculos_mais_alugados()

Listagens dos relatórios de faturação:

# Exibir Relatórios
gestor_alugueres.relatorio_faturacao('semana')  # Por semana
gestor_alugueres.relatorio_faturacao('mes')     # Por mês
gestor_alugueres.relatorio_faturacao('ano')     # Por ano
# Exibir Relatórios Detalhados
gestor_alugueres.relatorio_detalhado('semana')
gestor_alugueres.relatorio_detalhado('mes')
gestor_alugueres.relatorio_detalhado('ano')

Links

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

gestao_aluguer_veiculos-1.1.5.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

gestao_aluguer_veiculos-1.1.5-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file gestao_aluguer_veiculos-1.1.5.tar.gz.

File metadata

  • Download URL: gestao_aluguer_veiculos-1.1.5.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gestao_aluguer_veiculos-1.1.5.tar.gz
Algorithm Hash digest
SHA256 1b044940004e6ece436354db297451e3aa6f3478401bd7f93f3c1442d66f6784
MD5 628645160dd02ead84a7ab0a07a7a51c
BLAKE2b-256 3ae3db41ef0eac1571b5daad2c1b2221bd8ddedc0b875f8b8b043767d79fe7b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for gestao_aluguer_veiculos-1.1.5.tar.gz:

Publisher: publish.yml on Diogo-Nandes/TIWM-MADS-Projeto1

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gestao_aluguer_veiculos-1.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for gestao_aluguer_veiculos-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 75e38148a610f86df625f3ff92a03846ea16e2ae717057521adf835973d9c3f6
MD5 672a04f0a0a836050c8538fee70234e5
BLAKE2b-256 e97ab5c7c0fae5a22a2c08a99db15e033a6bfc5294aaa78ab0539620297f98dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for gestao_aluguer_veiculos-1.1.5-py3-none-any.whl:

Publisher: publish.yml on Diogo-Nandes/TIWM-MADS-Projeto1

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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