07 Software Relatorio TrainEnergy

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 31

Técnico de Gestão e Programação de Sistemas de

Informáticos (TGPSI)

2015/2018

Prova de Aptidão Profissional

TrainEnergy - Store

Loja online de brinquedos de comboios e acessórios

Av. Pedro Nunes, nº1, Rio de Mouro, Lisboa - Escola Secundária


Leal da Câmara - 14/06/2018
Escola Secundária Leal da Câmara
Técnico de Gestão e Programação de Sistemas de Informáticos
2015/2018

TrainEnergy – Store
Relatório referente à Prova de Aptidão Profissional

Av. Pedro Nunes, nº1, 2635-317, Portugal

Professores responsáveis pela disciplina de


programação ao longo dos 3 anos de curso:

– Prof. Ivo Perico (1º Ano)


– Prof. Natacha Pereira (2º Ano)
– Prof. Vitor Alves (3º Ano – 1º Turno)
– Prof. Júlia Barata (3º Ano – 2ª Turno)

Orientador e professor responsável de estágio:


– Prof. António Saraiva (Professor responsável)
– Filipe Ildefonso (Orientador)

Rinchoa – Portugal, 2018

Prova de Aptidão Profissional (PAP) – TrainEnergy – Bruno Gabriel Nunes Martins 3P2
Nº32956
Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Dedicatória

Dedico este trabalho principalmente a todos os intervenientes que me ajudaram nesta jornada na
programação, pais, amigos, colegas de trabalho, principalmente a um amigo cujo o seu nome é Luís.
Embora não seja um colega de turma, foi uma das pessoas que sempre esteve comigo e que de
alguma forma conseguiu mudar a minha forma de ver e pensar para um determinado
problema/solução.

Para finalizar a dedicatória, quero agradecer ao meu colega de trabalho, amigo e mentor, João
Emídio Cortes. Sem os ensinamentos desta pessoa não conseguia de forma nenhuma evoluir de
forma clara e simples na programação.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 1


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Agradecimentos

Agradecer em primeiro, à escola por disponibilizar este curso e ao diretor do Agrupamento de


Escolas Leal da Câmara por todo o apoio dado às atividades e melhorias de todos os cursos e
ensinos regulares.

Seguidamente, agradecer a todos os Professores e amigos por todo o apoio dado.

Gostaria de agradecer à empresa Linkare TI - Tecnologias de Informação, Lda. por me ter dado a
possibilidade de participar no mundo de trabalho e perceber o nível dos desafios que a vida nos
proporciona. E claro, por ter conhecido pessoas excelentes e competentes com quem tive o prazer de
trabalhar/aprender.

Finalmente, agradecer à minha família por toda a preocupação que tiveram comigo durante a
realização deste curso profissional.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 2


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Indice
Dedicatória............................................................................................................................................. 1
Agradecimentos..................................................................................................................................... 2
Resumo................................................................................................................................................. 4
Estrutura técnica.................................................................................................................................... 5
1 Introdução...................................................................................................................................... 6
1.1 Ideia do tema e fundamento teórico................................................................................... 6
1.2 Problema e/ou sugestão.................................................................................................... 6
1.3 O pretendido do projeto...................................................................................................... 6
1.4 Tipos de Utilizador.............................................................................................................. 7
1.5 Indicação das linguagens utilizadas................................................................................... 7
1.6 Segurança e integridade dos dados................................................................................... 7
1.7 Objetivos a alcançar após aprendizagem........................................................................... 7
1.8 Propostas de ações........................................................................................................... 8
1.9 Apresentação da ideia para o pagamento.......................................................................... 9
1.10Apresentação visualmente do website............................................................................... 9
2 Desenvolvimento.......................................................................................................................... 10
2.1 Fundamento téorico......................................................................................................... 10
2.1.1 Front-End............................................................................................................. 10
2.1.2 Back-End............................................................................................................. 10
2.1.3 Sistema de Informação........................................................................................ 10
2.2 Linguagens, técnicas e frameworks utilizadas.................................................................. 11
2.2.1 Cliente (Front-End)............................................................................................... 11
2.2.1.1.1 AJAX (Asynchronous Javascript and XML).................................. 11
2.2.1.1.2 jQuery – extensão de javascript................................................... 11
2.2.1.1.3 Javascript..................................................................................... 11
2.2.2 Servidor (Back-End e base de dados).............................................................................. 12
2.2.2.1.1 PHPMailer.................................................................................... 12
2.2.2.1.2 TCPDF......................................................................................... 12
2.2.2.1.3 PHP Data Objects (PDO)............................................................. 12
2.2.2.1.4 PHP: Hypertext Preprocessor...................................................... 13
2.2.2.1.5 SQL – Structure Query Language................................................ 13
2.2.2.1.6 Conceito de portlet ou isolamento................................................ 13
2.3 Continuação do desenvolvimento........................................................................................ 14
3 Lista de Eventos........................................................................................................................... 17
4 Diagrama de Entidades e Associações – pt.1.............................................................................. 18
4.1 Diagrama de Entidades e Associações – pt.2.................................................................. 19
5 Wireframes................................................................................................................................... 20
6 Melhorias e correções ................................................................................................................. 21
7 Conclusão.................................................................................................................................... 23
Bibliografia........................................................................................................................................... 24

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 3


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Resumo

Este projeto tem como finalidade promover mais sobre loja de brinquedos onlines, isto é,
brinquedos de coleção. Neste caso, artefactos de miniaturas de comboios bem como os seus
acessórios.

Para a realização desta loja online, foi feito criado ao longo destes 5/6 meses um website
desenvolvimento na escola, casa e local de trabalho.

O website tem como objetivo promover o conceito de coleção de artefactos, lembranças de


objectos reais, uma situação que infelizmente não tem a sua devida valorização nos dias de hoje.
Com base nisto, decidi criar um produto relacionado a algo que eu sempre gostei de ver e de andar,
os comboios.

Para a descrição de objetos não ficar confuso, foi dividido em pequenos tópicos com uma breve
explicação para cada argumentação.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 4


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Estrutura técnica

A estrutura técnica deste trabalho está representada da seguinte forma:

• Introdução – indicação da ideia e/ou problema(s)

◦ Entrada com a descrição simples do projeto

◦ Subcapítulos necessários para fundamentar a questão

• Desenvolvimento – apresentação de estratégias para a concretização dessas ideias e


resoluções, caso necessárias, para os problemas

◦ Apresentação das linguagens, ferramentas e técnicas

▪ Justificação para a sua utilização

◦ Continuação da descrição do projeto

◦ Lista de Eventos

◦ Planeamento do Projeto - (Calendarização)

◦ DER – Diagrama de Entidades e Relações

▪ Apresentação das Entidades

◦ Protótipos de Ecrãs – esboços

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 5


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

1 Introdução

1.1 Ideia do tema e fundamento teórico


Transpondo as ideias do resumo, a ideia do projeto foi baseada em factos da minha vida. Desde
pequeno que gosto imenso de andar de comboio, ouvir os seus sons, e principalmente a sua vibração
das linhas, o que chamava bastante a minha atenção.

Com este projeto quero aprofundar mais em desenvolvimento web estudando mais javascript que
me levará a outras frameworks como por exemplo, AngularJS, Angular +6 (…), CSS, que me
permitirá estudar pré-processadores de CSS como por exemplo, SASS e SCSS e PHP, utilização de
objetos com uma maior frequência.

1.2 Problema e/ou sugestão


Não é muito notório a presença de websites que promovam antiguidades, algo que já foi bastante
famoso nos tempos mais antigos. Juntando o “útil ao agradável” o tema deste projeto será um
website para compra de produtos (comboios e acessórios).

1.3 O pretendido do projeto


A aplicação WEB “TrainEnergy” pretende ser uma aplicação que simula uma montra de comboios
de miniatura, juntamente com outros recursos como por exemplo, cancelas, pontes, linhas e postos de
comandos relacionados à questão ferroviária.
O utilizador poderá efetuar um registo no site para realizar compras, adição de produtos ao
carrinho, sugestões, comentários, pagamentos, edição dos dados do seu perfil, pesquisas a produtos,
noticias e sugestões.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 6


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32956 2015/2018

1.4 Tipos de Utilizador


Para este projeto, foram definidos 3 tipos de entidades iniciais neste projeto: Administrador,
Moderador e Normal.

1.5 Indicação das linguagens utilizadas


Para a realização deste projeto serão necessárias as linguagens: MySQL, PHP e JavaScript.

Cada uma destas linguagens serão detalhas mais para a frente, bem como técnicas associadas à
mesma para a consecução de algumas tarefas.

1.6 Segurança e integridade dos dados


A proteção e integralidade dos dados deve ser levada em conta e assegurada por parte da
administração. O site está preparado para combater possíveis “bugs”, ou tentativas “ilicitas” de
entrada ou visualização de conteúdos inexistentes. Como por exemplo: tentar visualizar um produto,
noticia que não existe ou por exemplo, entrar como administrador usando SQL Injection, método este
que permite entrar colocando código SQL em input. (Explicado mais abaixo)

1.7 Objetivos a alcançar após aprendizagem


Graças a este projeto pude aprofundar bastante os meus conhecimentos de JavaScript, CSS e
PHP, dominando perfeitamente cada uma delas. Ou seja, pretendo dar o próximo passo, deixando o
PHP e apostando para servidor: NodeJS e para Front-End: Angular, framework de JavaScript

Em termos de estilização, pretendo começar usar pré-processadores de CSS, nomeadamente


SCSS.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 7


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

1.8 Propostas de ações

O ambiente que será apresentada ao utilizador apresentará a seguinte estrutura:

• Menu horizontal

◦ Caso o utilizador seja um Administrador, terá acesso ao painel de administração

◦ Aponta para as diversas áreas da página principal isto é, um item que ao ser clicado, a
página redireciona o utilizador ao conteúdo pretendido.

◦ Capacidade de iniciar sessão e de encerrar sessão

▪ Com sessão iniciada – capacidade de adicionar itens a um carrinho de compras e


proceder ao seu pagamento

• Página inicial – apresentação dos conteúdos

◦ Lançamentos

▪ Capacidade de visualizar lançamentos

◦ Produtos – opção para o utilizador aceder a uma área de pesquisa

▪ Possibilidade de utilizador comentar sobre um certo produto

▪ Produtos mais vendidos

▪ Comentar outros comentários

◦ Noticias – opção para o utilizador aceder a uma àrea de noticias

▪ Possibilidade de utilizador comentar sobre uma certa noticia

▪ Comentar outros comentários

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 8


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

1.9 Apresentação da ideia para o pagamento


Tratando-se de um projeto pedagógico e como uma loja online necessita de ter formas de
pagamentos, decidi investigar bastante sobre o paypal, um método seguro e famoso para realizar o
pagamento.

Será usado um ambiente teste para a concretização do pagamento. Sandbox paypal.

(Será explicado mais a baixo.)

1.10 Apresentação visualmente do website


Este projeto foi planeado para ter um aspeto bastante agradável no Front-End, com animações.

O site está programado de forma a ser o mais simples com o utilizador. Praticamente, todas as
ações realizadas entre cliente e servidor são feitas em background, ou seja, sem precisar que o
utilizador precise “refrescar” a sua página, isto é, carregar novamente um conteúdo para que
alterações feitas previamente sejam persistidas.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 9


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

2 Desenvolvimento
Entrando agora para uma parte mais técnica, vamos entender primeiro o que é que se entende
por Back-End e Front-End

2.1 Fundamento téorico

2.1.1 Front-End
O Front-End é o ambiente proposto para o utilizador, ou seja, será a informação resultante entre
a comunicação de um cliente, o Front-End, com o servidor, Back-End ou Base de Dados.

O FE. é uma das páginas mais importantes para o utilizador porque será aquela onde deverá
despertar o interesse do utilizador estando concisa, simples e de agradável aspecto. Pegando neste
argumento, podemos afirmar que o Front-End deverá ser uma página trabalhada com mais calma e
com uma vertente simples destinado ao utilizador

2.1.2 Back-End
O Back-End por outro lado, já exige um conhecimento mais programático, isto é, com alguns
mecanismos/técnicas/linguagens mais aprofundado(a)s para fazer a administração do website.

O Back-End deverá conter uma maior segurança do que o Front-End justamente para a proteção de
dados, já que tem como função fazer o preenchimento de tabelas no nosso sistema de informação.

2.1.3 Sistema de Informação


Falando em termos mais gerais, um sistema de informação é um aglomerado de máquinas e/ou
pessoas que em conjunto, têm um objetivo em comum, a transmissão de dados para o
cliente/utilizador. Ou seja, podemos dizer que são pequenos “subsistemas” que trabalham para o
mesmo fim/objetivo.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 10


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

2.2 Linguagens, técnicas e frameworks utilizadas


Nesta parte, irei referir as linguagens, técnicas e metodologias utilizadas para a realização deste
projeto e para isso, vamos dividir entre Cliente e Servidor.

2.2.1 Cliente (Front-End)


Linguagens e mecanismos utilizados para o lado do cliente.

2.2.1.1.1 AJAX (Asynchronous Javascript and XML)


O AJAX é uma técnica utilizada com bastante frequência nos websites mais recentes.

É um técnica de programação que permite estabelecer uma comunicação de dados entre o


cliente e servidor de forma assíncrona, ou seja, em segundo plano sem estar dependentes de
outras ações que estejam a decorrer no nosso ambiente.

• Exemplo prático: Comunicação de dados entre JavaScript e PHP sem precisar aceder
diretamente a um ficheiro PHP. Com isto, consegue-se evitar o famoso “refrescamento” nas
páginas. Dando um ar mais profissional e simples para o utilizador

2.2.1.1.2 jQuery – biblioteca de JavaScript


O jQuery é uma biblioteca derivada do javascript. O seu objetivo é muito simples, simplificar ao
máximo, conceitos e instruções de javascript de modo a poupar linhas de código, estruturar melhor o
raciocino a nível de código e dando um aspeto agradável ao código. Responsável pelas animações
às páginas.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 11


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

2.2.1.1.3 Javascript
Para terminar, nada melhor do que falar na linguagem “principal” que deu origem às demais
referidas acima. O javascript é uma linguagem de programação que corre no lado do cliente e tem
como função o total controlo personalizado e acesso à nossa página de forma a concretizar as
vontades do programador.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 12


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

2.2.2 Servidor (Back-End e base de dados)


Linguagens e mecanismos utilizados para o lado do servidor.

2.2.2.1.1 PHPMailer
Como mecanismo para o envio de e-mails, utilizados na faturação e ativação de contas no web
site, o PHPMailer ficou responsável por essas ações.

É um classe em PHP permitindo o envio de e-mails a e-mails válidos. Esta classe tem por
exemplo, alguns métodos para fazer o envio a múltiplos e-mails, anexo de ficheiros e codificação em
utf8. Tendo muito mais que são mais para configuração.

2.2.2.1.2 TCPDF
Para fazer a criação de faturas em modo *.pdf, o TCPDF é uma classe de PHP responsável por
carregar e criar novos documentos que podem ser vistos em modo: view, transferência ou anexo para
e-mails.

2.2.2.1.3 PHP Data Objects (PDO)

Com o passar do tempo, o mysqli (uma das forma de se conectar à base de dados), acabou por
ser bastante inseguro e com uma sintaxe um pouco desagradável.

Inseguro, porque se o utilizador injetar código html como data a ser inserida na base de dados, o
mysqli não consegue fazer essa validação. Não consegue de igual forma evitar as formas de
“danificar” uma base de dados, como por exemplo, SQL Injection. Exemplo: “OR 1 = 1” → Se for
inserida como password, o mesmo poderá iniciar sessão de uma forma ilegal, pondo em causa a
integridade dos dados.

O PDO vem resolver estes problemas...

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 13


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Ainda sobre o PDO


É também uma classe que é responsável por estabelecer uma conexão com a base de dados
de forma segurança. A sua sintaxe não é uma das melhores e mais agradáveis, no entanto, é
muito simples de ser utilizada, acabando por ser a escolha mais acertada para os programadores de
PHP .

O BindValue é uma função desta classe que permite retirar o significado html, convertendo-a a
uma string normal. (“<script>teste123();</script>” → “teste123()”)

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 14


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

2.2.2.1.4 PHP: Hypertext Preprocessor

O PHP é uma linguagem de programação que corre no lado de servidor e tem como função
receber pedido do cliente isto é, dados para processar. Podendo ou não retornar uma resposta de
volta para o cliente. É responsável igualmente por estabelecer ligação à base de dados.

2.2.2.1.5 SQL – Structure Query Language

O SQL é uma linguagem estruturada, justamente por ser uma linguagem capaz de armazenar,
manipular e consultar dados em uma base de dados. Compostas por três sub-linguagens:
• DML – Data Manipulation Language, responsável pelos comandos de manipulação:

◦ SELECT

◦ INSERT

◦ UPDATE

◦ DELETE

• DDL – Data Definition Language, responsável pelos comandos de definição:

◦ CREATE

◦ ALTER

◦ DROP

• DCL – Data Control Language, responsável pelos comandos de controlo:

◦ GRANT

◦ REVOKE

2.2.2.1.6 Conceito de portlet ou isolamento


Na edição de dados do utilizador pode-se reparar que a página possui 3 formulários
independentes. Isto é inspirado no conceito de portlet.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 15


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Ainda sobre o conceito de portlet ou isolamento...

Um portlet é um “bocado de um todo”, ou seja, são pequenos programas que funcionam de forma
independente sem precisar estar dependente de respostas ou funcionamento dos outros. Consegue-
se obter um melhor controlo, evitando criar páginas desnecessárias para apenas um conteúdo.
(Inspirado do Liferay – conceito de portal)

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 16


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

2.3 Continuação do desenvolvimento


Será agora dada uma explicação mais pormenorizada.

Os produtos colocados no site não são reais, ou seja, são produtos simulados justamente por
este projeto ser pedagógico. Para começar, o utilizador deverá criar uma conta com dados válidos.

Ou seja, o utilizador necessitará de colocar um NIF e um e-mail válido caso contrário, o sistema
detectará mais tarde e procederá à remoção da conta. Ao registar, a conta deverá ser confirmada.
Para proceder a isto, o utilizador deverá ativar a mesma a partir do seu endereço eletrónico,
recebendo uma chave única que identificará a sua conta.

O utilizador, uma das entidades do nosso sistema, terá acesso a editar os seus dados de perfil
contando com 3 formulários totalmente independentes à sua disposição: Dados gerais, e-mail e
password.

O NIF, campo presente na aba dos dados gerais, é também validado.

Neste sistema não serão admitidos e-mails duplicados, ou seja, o e-mail acaba por ser uma
segunda opção que irá identificar o utilizador univocamente. (A primeira será a chave primária em termos de base
de dados.)

A password contará com uma expressão regular, evitando assim passwords comuns, isto é,
fáceis de serem roubadas. Segue-se a política de passwords estabelecida: Mínimo de 8 caracteres,
estando presentes pelo menos uma letra maiúscula ou minúscula, com letras e números seguindo de
simbolos. “ (!..@# entre outros..)

Em relação aos produtos, o utilizador poderá usar o carrinho de compras como forma de
“desejos”, ou seja, pedidos que provavelmente serão comprados. Pode-se adicionar vários produtos e
no final ser realizado um pagamento geral para todos.

Um produto tem várias fotos juntamente com a categoria, corpo de detalhes, breve descrição e preço

Ao realizar o pagamento, o sistema de paypal será ativado. Para o teste do pagamento são
disponibilizados duas contas em que só vamos usar apenas duas: cliente e vendedor.

O vendedor será aquele que irá receber o pagamento e o cliente procederá com a compra.

Por cada produto, o utilizador terá a capacidade de comentar e responder a outros comentários
previamente inseridos. Tendo um tempo máximo de duas horas para poder apagar o seu comentário.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 17


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Seguindo a mesma metodologia dos produtos, as noticias também têm o mesmo sistema.

As noticias serão também alvo de comentários. O utilizador poderá pesquisar e selecionar a noticia
pretendida. A noticia conta com apenas uma fotografia com os campos: síntese, título, data e
descrição completa.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 18


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

3 Lista de Eventos

Administrador de sistemas:
• Controlo absoluto ao sistema. Deverá criar a base de dados e as tabelas necessárias com as
devidas configurações. De modo a ficar funcional, ou seja, permitir inserir, atualizar, remover e
consultar.
• Criação do sistema de compras. Deverá ter em conta que um cliente pode pagar em uma só vez,
vários pedidos.
• Criação de um sistema de Login/Logout – necessário para que uma compra seja válida e legal.
• Criação de um sistema de recibo após a compra.- Deverá enviar um email com a compra
finalizada ou então um ficheiro para imprimir.
• Sistema de stock.
• Possibilidade de manutenção pelo site – criação de um painel de controlo.

Cliente
• Possibilidade de criação de uma conta/identificação para concretizar as suas compras.
• Registar sugestões – poderá apresentar queixa/sugestões.
• Fazer alterações/definições – Poderá alterar todos os seus dados no painel de
controlo. (Exemplo: redefinir a palavra passe ou mudar o email).
• Sistema de carrinho de compras – juntar todas as compras e pagar uma só vez.

Moderador/Funcionário:
• Fazer a manutenção do site – acesso à base de dados para auxiliar as contas dos clientes, ou
seja, ficar responsável por este setor.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 19


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

4 Diagrama de Entidades e Associações – pt.1

Anexo 1 – Diagrama de Entidades e Associações – pt.1 - phpMyAdmin

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 20


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

4.1 Diagrama de Entidades e Associações – pt.2

Anexo 2 – Diagrama de Entidades e Associações – pt.2 - phpMyAdmin

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 21


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

5 Wireframes
Serão apresentados 4 modelos idealizados para ser colocado no site: Menu inicial, produtos,
comentários e modal de login.

Editor online: https://wireframe.cc/

Anexo 3 – Maquete para o navbar principal

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 22


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Anexo 4 – Maquete para o conteúdo principal: produtos

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 20


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Anexos 5 e 6– Maquete para os comentários: noticias e produtos, modal para a parte do login.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 21


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Planeamento
De momento, todas as tarefas encontram-se finalizadas exceto android.

O android, por motivos de má controlo do tempo, foi cancelado.

Para que eu pudesse ter um mais controlo do projeto, fiz diversas auditorias e avaliações ao projeto para que
pudesse ter o feedback atual do estado do projeto.

Dividi o projeto da seguinte forma:

• Segunda-Feira à Sexta-Feira – Front-End

• Sábado e Domingo – Back-End

Faltando apenas 3 semanas, inverti a ordem dos desenvolvimentos, ficando:

• Sábado e Domingo – Front-End

• Segunda-Feira à Sexta-Feira – Back-End

Anexo 7 – Planeamento (Em baixo)

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 22


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 23


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Melhorias e correções
O projeto não é perfeito, ou seja, possui algumas falhas em relação a: semântica de código e
uniformização de técnicas/hábitos.

Ao longo desde projeto fui aprendendo várias formas de resolver um problema, ou seja,
adquirindo vários conhecimentos de frameworks, etc..

Ou seja, a estrutura de código do projeto acabou por se tornar irregular e não tem uma estrutura
fixa para que por exemplo, outras pessoas poderem perceber o código de forma mais clara e simples.

Como eu fiz o projeto dividindo em partes, utilizei diversos “requires” para embeber várias páginas em
uma só, o que acabou por desregular o formato quando se vê no editor do browser.

Para futuras correções, melhoraria todo o CSS aplicando pré-processadores de CSS: SCSS.

Trocava a maior parte para fazer comunicações AJAX. Fazia uma nova organização de código, para
que o meu código pudesse ficar mais limpo, simples e fácil de compreender, caso outro aluno queira se
inspirar ou tirar apontamentos. Foi um ponto que infelizmente não consegui resolver a tempo.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 24


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Conclusão
Nos dias de hoje, cada vez mais as tecnologias estão em evolução tornando-se mais simples de
se compreender. Durante a consecução desde projeto, consegui perceber que um programador não
deve apegar-se a certas linguagens, isto é, manter-se na sua zona de conforto. Devemos sempre
apostar em mais conhecimento, nas linguagens mais recentes e modernas para que a nossa qualidade
de trabalho seja ainda melhor.

Eu gostei bastante de usar a linguagem PHP todavia não será uma linguagem que eu irei
prosseguir no futuro visto que atualmente existem melhores opções para melhor qualidade, sem querer
desmerecer claro, todo o ensinamento que tive por parte dos professores. Graças a esta nova visão,
consegui seguir em frente para buscar uma nova qualidade de código e de programação.

Em termos de trabalho, não senti muitas dificuldade durante a consecução desde trabalho. Apenas tive
uns momentos onde o meu projeto atrasou-se bastante a ponto de eu ter que abdicar de algumas noites
para repor todo o trabalho planeado para aquela semana em falta.

Graças aos meus estudos extra-curso, pude realizar este projeto da forma como tinha pensado e
idealizado, ficando até surpreendido com o resultado mas sempre com aquela incerteza de que
realmente este website é exequível ou não.

Gostaria de agradecer ao Professor Vitor Alves por todo o apoio prestado no e-mail em relação a
algumas frameworks, nomeadamente sobre a questão do PHPMailer e permissões de
pastas/ficheiros em linux.

Sem esforço, dedicação e empenho e o mais importante, motivação, era impossível terminar
este projeto que para mim já foi uma vitória tê-lo construido.

Dar também créditos a todos os meus colegas de trabalho e de curso pela motivação que me deram ao
longo do tempo para que eu pudesse ter novas ideias e implementá-las no projeto.

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 25


Prova de Aptidão Profissional (PAP) – Bruno Martins Nº32967 2015/2018

Bibliografia
[PortugalAProgramar - https://www.portugal-a-programar.pt/forums/topic/52752-codigo-valida
%C3%A7%C3%A3o-nifcontribuinte/ ]

[jQuery – Framework: https://jquery.com/]

[PHPMailer - https://github.com/PHPMailer/PHPMailer]

[PDO - http://php.net/manual/en/book.pdo.php]

[Funções assíncronas e síncronas & AJAX -


http://www.diogomatheus.com.br/blog/php/requisicoes-sincronas-e-assincronas/ ]

[Inspiração para a construção e estrutura do relatório: http://esalvieira-


m.ccems.pt/file.php/1/paulo_santos/pap_cptet2012/CPTET2012_RelatPAP_05CarlosMoco_Fi
nal.pdf]

Relatório referente à Prova de Aptidão Profissional (PAP) – ESLC | Pag. 26

Você também pode gostar