Você está na página 1de 8

Projeto final de Python

Imagina que fazes parte da equipa da empresa CodeLab Solutions, de


desenvolvimento de sistemas e o teu primeiro desafio é desenvolver um
programa de gestão para aluguer de veículos, para uma empresa chamada
Luxury Wheels. Esse programa é composto por um site, que será
direcionado a utilização do cliente, e de uma app, direcionada
especificamente para a gestão da frota da empresa, ou seja, somente os
gestores da empresa terão acesso.

Para o desenvolvimento deste projeto final, terás a opção de desenvolver


o programa completo de gestão para aluguer de veículos ou apenas parte
dele.

Contexto:
A Luxury Wheels, é uma empresa de aluguer de carros que deseja
desenvolver um site, onde os clientes deverão conseguir registar-se e
alugar um veículo, e uma app para a gestão da frota, a partir do qual a
empresa consiga gerir todos os seus veículos.
Como parte da equipa de programadores, tens a opção de escolher
colaborar com o programa completo ou com parte dele. Para isso, escolhe
uma das 3 propostas a seguir.

Proposta A: Assumir a responsabilidade do desenvolvimento do site,


onde os clientes da Luxury Wheels deverão conseguir registar-se e alugar
um veículo.

OU
Proposta B: Assumir a responsabilidade do desenvolvimento de uma
app, pela qual a Luxury Wheels consiga gerir a sua frota de veículos.

OU
Proposta C: Assumir a responsabilidade de desenvolvimento do site
e também da app, tendo em conta que és um profissional completo e
queres demonstrar isso como reflexo da proatividade no trabalho.

A considerar:

Para o desenvolvimento do site e da app, devemos considerar que os


veículos de que a empresa dispõe são carros e motas.

Qual deve ser o foco?

Deverás utilizar o que aprendemos no curso, mais concretamente:


Linguagem de Python (tipos, funções, loops, condições, classes), base de
dados, conexão ao excel e csv, análise de dados com bibliotecas externas.
Deverás também utilizar o que aprendeste no módulo 6, sobre criação de
aplicações e websites.
Proposta A – Desenvolvimento do site
O objetivo é criar um site para a empresa poder divulgar os veículos
disponíveis para os seus clientes e possibilitar a rápida contratação do
serviço. Deves ter em consideração os seguintes requisitos:
1. Vai ser necessário a criação de uma aplicação web (site) como
forma do utilizador alugar o veículo.
2. Vamos ter de organizar toda a informação necessária para o projeto em
bases de dados em SQL (módulo 5, exercício 4) (os veículos da empresa e
clientes). Deverás apresentar também os metadados de cada tabela (nome
da tabela e das suas colunas, com uma pequena ilustração do propósito da
mesma).

3. Através do site, os clientes terão categorias (gold, silver e económico) e


deveremos ter uma forma de autenticar o cliente, que consoante a sua
categoria (podes definir por filtro de valores em que o cliente está disposto
a pagar), terá acesso aos veículos correspondentes ao mesmo.

▪ Categoria Gold: 600€


▪ Categoria Silver: 250€
▪ Categoria Económico: 50€

4. A ideia é que o cliente consiga realizar uma transação do início ao fim


dentro do teu site, inclusive que seja finalizado o pagamento e
agendamento de recolha do veículo. Deverá ser colocado na base de dados,
qual o veículo que escolheu, a data, e na conclusão do contrato de aluguel
temporário, o site deverá mostrar o preço total do aluguer.

Proposta B – Desenvolvimento da app

O objetivo é criar uma app para que a empresa faça uma gestão inteligente
da frota. Deves ter em consideração os seguintes requisitos:

1. Através da app, os gestores devem conseguir aceder a todos os veículos


que podem ser alugados pelos clientes, e visualizar se estão disponíveis ou
alugados, e a que categoria correspondem.

2. Vamos ter de organizar toda a informação necessária para o projeto em


bases de dados em SQL (módulo 5, exercício 4). Deverás apresentar
também os metadados de cada tabela (nome da tabela e das suas colunas,
com uma pequena ilustração do propósito da mesma).
3. Os veículos desgastam-se. A empresa deve receber um alerta da
necessidade de manutenção, para cada veículo (podes colocar uma data de
última revisão e próxima revisão na base de dados). Deverá haver uma
opção de manutenção que ao ser acionada, o veículo fica indisponível por
30 dias (e durante esta fase, não pode ser alugado pelo cliente).

4. É necessário legalizar os veículos. Cada veículo deverá ter associado a


data na qual foi feita a sua última legalização e a próxima data para a sua
legalização, na qual um valor de 250€ para carros e 150€ para motas, terá
de ser pago pela empresa. No caso da data se aproximar, deverá ser
apresentado um alerta. Podes ter em consideração, neste ponto, que é
necessário anualmente a legalização do veículo.

5. Teremos de ter atenção ao estoque. É esperado que o cliente da Luxury


Wheels tenha sempre 5 veículos disponíveis para escolher. Uma boa forma
de perceber se existem veículos suficientes, é fazer o seguinte cálculo:
Número de Veículo é igual ou maior que o número de clientes mais 5 (nº de
veículo = ou + nº de clientes + 5). Caso este cálculo não seja válido, deve-
se colocar um aviso sobre a necessidade de comprar mais veículos.
Proposta C – Desenvolvimento do site e da app
O objetivo é criar o site e a app das propostas A e B, de forma integrada.
Devem levar em consideração os seguintes requisitos:

1. Nessa abordagem, terás de seguir as orientações das propostas A e


B, além de criar uma ligação entre o site e a app, de forma que quando o
cliente realizar a contratação do aluguer, automaticamente o veículo deixe
de estar disponível no estoque da empresa.

2. Base de dados financeiro: teremos de ter guardados em BD todas as


transações financeiras efetuadas, tanto recebidas como pagas, o saldo
corrente e um histórico mensal do dinheiro em caixa. A empresa deverá
conseguir visualizar estes dados em gráficos, através da app (o gráfico
mais apropriado para cada dado ficará ao critério d@ formand@).
Nota importante: O que se pretende ao longo do projeto final é que todas
as dimensões lecionadas ao longo do curso, sejam transformadas num
produto final funcional. Ora, a ideia é que se invista mais nos cálculos
Python, do que no design do site e da app, porém um design apelativo será
também valorizado.

Tem em conta que a realização do projeto final é um requisito para a


conclusão do curso, mas que também é uma oportunidade de aprendizado.
:)

Resumindo, para fazer a interface vamos utilizar:

- Classes
- Base de Dados
- Export Excel ou CSV
- Programas de decisão
- Criação de gráficos (Aplicável nas propostas B e C)

Estrutura do site:

- BD de carros e motas
- BD de clientes
- BD de veículos por categoria (gold, silver e económico)
- Programas a criar:
- Sistema de aluguer
- Cliente terá determinado a categoria,
consoante o categoria pode ter melhores carros
Estrutura da app:

- BD de carros e motas
- Programas a criar:
- Sistema de aluguer
- Carro disponível a partir da data xx/xx/xxxx
- Manutenção
- Após x utilizações, o veículo terá de ser
enviado para a manutenção
- Alerta de necessidade de levar os veículos
à manutenção
- Legalização
- 30 dias para legalizar (carro) pelo Estado
- Por exemplo, 5 em 5 anos, deve voltar a
ser legalizado
- Parametrizar o alerta que informa a necessidade
do aumento do estoque.
- Aspeto financeiro (opcional ou apenas para a
Proposta C)
- Entrada e saída de dinheiro

Tem em conta:

• O projeto final é mais complexo do que as tarefas realizadas


anteriormente, justamente por se tratar de um projeto final de curso, onde
será construído um software por inteiro. Não te preocupes, tudo o que é
pedido neste projeto, é baseado no que foi aprendido ao longo do curso e
terás, ao longo de todo o processo, o auxílio do teu formador.
• As aulas e tarefas não substituem, totalmente, a nossa pesquisa
pessoal. Devemos sempre procurar saber mais, e aprender estratégias que
facilitem o nosso trabalho.
O que está descrito acima são passos orientadores, estás à vontade para
adicionar alguma ferramenta extra ao projeto que te faça sentido e
melhore o trabalho.
Ao longo das recomendações para que elabores este projeto final, pode
haver informações que não estejam totalmente descritas, como é o caso
da quantidade de veículos em estoque. Nestes casos, tens liberdade para
escolheres de acordo com aquilo que te fizer mais sentido.

Bom trabalho, Tokier.

Você também pode gostar