• Stars
    star
    100
  • Rank 340,703 (Top 7 %)
  • Language
  • License
    Apache License 2.0
  • Created over 8 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Repositório informativo com diretrizes empíricas para o desenvolvimento de um Projeto Web.

Projeto para Web

Vou procurar listar neste repositório, uma checklist de ítems a serem cumpridos em um projeto web.

Essas métricas se aplicam a projetos simples, com curto prazo de desenvolvimento, mas ajudam a garantir o mínimo de qualidade para um projeto funcional.

É importante que a cada etapa, sejam gerados artefatos a serem armazenados de acordo com algum padrão. Pode ser com a ajuda de algum software ou até mesmo uma planilha. A forma com que estes dados serão organizados fica a critério de cada equipe.

Índice

  1. Briefing
  2. Coleta dos Colaboradores
  3. Formalização
  4. Preparação do Ambiente
  5. Documentação
  6. Criação
  7. Desenvolvimento
  8. Testes
  9. Publicação
  10. Otimização
  11. Apresentação ao Cliente
  12. Liberação
  13. Divulgação
  14. Conclusão

A seguir os passos para a criação de um Projeto Web:

1. Briefing

Esta é a etapa em que se deve entender o negócio do cliente, suas necessidades, e junto com ele identificar:

  1. Como é seu negócio? Como é o seu produto? Como será o seu serviço?
  2. Qual será o objetivo do website?
  3. Qual será o público-alvo? Quando possível identificar:
  4. Classe Social;
  5. Sexo;
  6. Faixa-etária;
  7. Limitações Técnicas;
  8. Necessitam de algum tipo de Acessibilidade?

Com estas informações, é hora de definir o escopo do projeto. Neste momento é importante definir quais serão as funcionalidades que o website deverá apresentar.

O Briefing pode gerar um Documento de Escopo. Este documento servirá de guia para o desenvolvimento, e é uma garantia por ambas as partes de que o projeto sairá como o combinado.

Um importante artefado que pode ser incluído no Documento de Escopo é o SiteMap, no qual todas as páginas e ligações entre elas estarão identificadas em um diagrama.

2. Coleta dos Colaboradores

É importante saber quais serão as pessoas envolvidas no projeto, por isso é importante catalogar todos os colaboradores que participarão do projeto, armazenando informações como:

  1. Nome Completo;
  2. RG;
  3. CPF;
  4. Redes Sociais;
  5. Endereço;
  6. Telefones;
  7. Emails.

Essas informações serão úteis na elaboração do contrato e na comunicação entre os envolvidos.

Além das informações de cada membro da equipe de desenvolvimento, é imporante coletar os mesmos dados para os contatos responsáveis no cliente.

3. Formalização

Com o Documento de Escopo e as informações dos colaboradores, é o momento de formalizar seu projeto. É nesta etapa que um contrato deve ser elaborado e assinado por ambas as partes.

4. Preparação do Ambiente

Antes de trabalhar, temos que arrumar a mesa.

Então nesta etapa seguirão algumas dicas de como organizar seu projeto antes de começar o seu desenvolvimento.

  1. Comunicação - Defina algum veículo de comunicação entre os colaboradores do projeto e entre o responsável pelo projeto e seu cliente. Isso pode ser feito por Email, Skype, ou alguma ferramenta específica como o Slack;
  2. Repositórios - Trabalhar com repositórios é indispensável para agilizar e manter a equipe sincronizada, é importante nesta etapa criar, e configurar seus repositórios, além dar permissão para os outros colaboradores;
  3. Definir o nome para o domínio e registrá-lo ou transferí-lo;
  4. Contratar um plano de hospedagem que atenda os requisitos técnicos do projeto;
  5. Configurar o servidor para receber o repositório criado;
  6. Se for comércio eletrônico:
  7. Definir as instituições bancárias e formas de pagamento;
  8. Abrir conta, assinar convênios e solicitar serviços de comércio eletrônico;
  9. Definir e criar contas de e-mail. Isso é muito importante pois impulsiona o cliente por já ter uma conta de e-mail no seu próprio domínio;
  10. Definir e criar uma conta de email específica para o site no gmail. Isso é importante para cadastrar Plugins, Serivços e principalmente Analytics;
  11. Criar contas em redes sociais. É importante que um projeto web tenha seu reflexo nas redes sociais, então, dependendo do que foi acordado, este é o momento para definir os nomes e criar as redes sociais, dentre as mais comuns:
  12. Twitter;
  13. YouTube;
  14. FaceBook;
  15. Instagram;
  16. Google Plus;
  17. Criar ou resgatar conta de monitoramento (Google Analytics)
  18. Caso o site já exista:
  19. Fazer um backup de segurança do site antigo;
  20. Fazer um backup de segurança do banco de dados antigo;
  21. Análise de popularidade (Estatísticas de Acesso, Ranking em Ferramentas de Busca). Isso ajudará a mostrar os resultados em comparações com os resultados a serem obtidos com o novo projeto;

5. Documentação

Nesta fase deve-se focar os esforços em projetar o website. Em projetos mais complexos, é nesta etapa em que se deve criar os diagramas de Entidades e Relacionamentos e de Classes, por exemplo.

Em projetos menores, basta uma reunião com a equipe de Design para transformar as funcionalidades descritas no Documento de Escopo em wireframes.

6. Criação

Esta etapa é focada aos Designers, que desenvolverão o layout do website.

Antes da criação do wireframe uma serie de atividades devem ser observadas:

  1. Analisar identidade visual da empresa, produto ou serviço;
  2. Definir seções e blocos de informação;
  3. Desenhar mapa do site e fluxo de navegação;
  4. Estudar e definir a paleta de cores;
  5. Estudar e difinir símbolos e ícones;
  6. Definir tipografia;
  7. Criação/Adaptação de um logotipo da empresa;
  8. Definir efeitos visuais (recursos multimídia);

Com estas etapas definidas e os wireframes prontos, o designer deve iniciar a criação dos arquivos de Imagem (PSD).

Via de regra, não é necessário a criação do layout final de todas as páginas do projeto. A criação da página principal e uma página interna agiliza muito o trabalho de todos os envolvidos.

Em projeto mais complexos, pode ser interessante a criação de um documento de "Guia de Design", no qual o designer define as etapas anteriores em um documento textual, que será o guia do desenvolvedor durante todo o desenvolvimento.

Mas é essencial que, pelo menos as telas mais importantes sejam desenvolvidas. Este será o material a ser aprovado pelo cliente antes da próxima etapa.

7. Desenvolvimento

Após a aprovação do layout pelo cliente, pode-se iniciar o desenvolvimento propriamente dito.

Quase sempre dividimos uma aplicação web em três partes: Front-End, Back-End e Integração.

A parte de Front-End é responsável por transformar a Imagem do site criada pelo Designer em uma página de base codificada (HTML5/JavaScript/CSS) funcional.

A parte de Back-End é responsável por implementar as funcionalidades definidas no Documento de Escopo.

A parte de Integração é responsável por ligar os as funcionalidades do Back-End com o Front-End. Normalmente isso pode ser feito através de integrações JavaScript do Front-End que consomem a API definida no Back-End.

Uma série de passos podem ser seguidos para realizar as três etapas com sucesso:

  • Criar estrutura de pastas;
  • Baixar, instalar e configurar dependências (_framework_s, plugins e APIs);
  • Recortar o layout e criar base codificada (HTML5/JavaScript/CSS);
  • Criar e organizar Meta-Informações de cada página (MetaTags);
  • Criar OG (OpenGraph) para cada página;
  • Criar Schemas (Schemas.org) para cada elemento da página;
  • Configurar rotas para as páginas (ou .httaccess);
  • Configurar ferramenta para minificação de CSS e JS;
  • Criar sitemap.xml;
  • Criar robots.txt;
  • Criar páginas com conteúdo estático;
  • Criar banco de dados;
  • Popular banco de dados com valores iniciais ou importação de dados pré-existentes;
  • Criar estrutura de Back-End: Criação dos CRUDS;
  • Realizar integração Back-End com Front-End;

Ps. A ordem destas tarefas pode ficar a critério de cada equipe.

Todas as funcionalidades devem ser testadas por cada colaborador, até que o sistema chege a um ponto de maturidade no qual precisa de testes mais específicos.

Cada projeto possui uma particularidade de como os testes serão realizados, testes automáticos quase sempre é uma boa opção para projetos maiores, entretanto, para projetos de medio e pequeno porte, o bom e velho teste convencional dá conta do recado. Pois você passará menos tempos testando que escrevendo os casos de teste.

8. Testes

Esta é uma fase importante, e que provavelmente será feita algumas vezes.

Alguns detalhes que não podem ser esquecidos:

  1. Renderização em diferentes navegadores;
  2. Renderização em diferentes versões de navegadores;
  3. Navegação da página;
  4. Leitura do conteúdo;
  5. Desempenho em ambiente de produção;
  6. Funcionalidades respondem como o esperado?
  7. Qualidade das Imagens;

Além disso é importante utilizar algumas ferramentas de testes automáticos como:

Teste de responsividade

https://www.google.com/webmasters/tools/mobile-friendly

Schemas

https://developers.google.com/structured-data/testing-tool/

Meta Tags

http://www.seocentro.com/tools/search-engines/metatag-analyzer.html

http://analyzer.metatags.org/

SEO

http://seositecheckup.com/

9. Publicação

Depois que os testes foram relizados, é a hora de publicar o projeto.

Claro, que seu cliente já deve ter visto uma previa do website em algum ambiente de desenvolvimento, mas é neste momento que o presente deverá ser entregue, então é importante que tudo esteja testado e validado internamente entre a equipe de desenvolvimento antes de ser publicado, para causar uma boa impressão inicial.

E nós sabmos que, quase sempre, quando colocamos em um ambiente de produção, nem tudo ocorre como o esperado. Algum problema com versão da linguagem ou do banco de dados, então é importante refazer todos os testes também no ambiente final.

Um checklist pode ser executado:

  1. Validação de Código;
  2. Meta-informações;
  3. Título das páginas;
  4. Integridade de Links;
  5. Qualidade de Imagens;
  6. Qualidade de Textos;
  7. Funcionamento e navegação de formulários; 8.Pontos de acessibilidade.

É importante lembrar que nesta etapa normalmente se utiliza uma SplashScreen com alguma informação de "Site em Construção" até a etapa de liberação do website.

10. Otimização

Quando o site é efetivamente publicado, ainda temos que fazer alguns ajutes finos para colocar em ação os scripts de monitoramentos statísticos. Então, agora é a hora de configurar o Analytics do Google.

E é claro que o sitemap.xml tem que ser atualizado, e para isso você pode utilizar alguma programação interna ou ferramentas personalizadas.

11. Apresentação ao Cliente

Dependendo da complexidade, essa pode ser a hora para a criação de um manual de utilização do site, explicando passo a passo, como navegar no site, e até mesmo detalhes de sua área administrativa.

Além disso, é importante oferecer um treinamento para as pessoas que serão responsáveis alimentar as informações do website.

12. Liberação

Esta etapa é apenas a retirada da SplashScreen e a liberação do acesso ao público.

13. Divulgação

O site precisa de um empurrão inicial, então alguns pontos podem ser observados:

  1. Realizar parcerias ou trocas de banners ou links, entre sites de amigos ou parceiros de negócios;
  2. Buscar alternativas de publicidades online, como portais de conteúdo (UOL, TERRA, IG, GLOBO.COM), ou sites de conteúdo direcionado;
  3. Buscar alternativas de anúncios pagos em serviços de busca (Links Patrocinados);
  4. Realizar o acompanhamento e mensuração dos resultados de seus investimentos em publicidade de divulgação do site.

14. Conclusão

Este documento é apenas uma visão pessoal de todo o conhecimento empírico que venho adquirindo ao longo do tempo, e como nunca havia achado um material bacana neste formato, resolvi criar o meu próprio.

Gostou? Gostaria de colaborar?

Entre em contato: [email protected]

Além disso, uma serie de links podem complementar a sua pesquisa.

Estão neste repositório:

https://github.com/diogocezar/dctb-links

Obrigado.

More Repositories

1

dctb-utfpr

Lista dos materiais elaborados por mim para as aulas ministradas na UTFPR.
457
star
2

dctb-react-course

Just a simple index of React Course.
JavaScript
81
star
3

dctb-links

My Personal Links
69
star
4

sandybox

This is a little project to show combined HTML, CSS and JavaScript projects.
HTML
42
star
5

minicurso-reactjs

Repositório para armazenar o conteúdo do minicurso sobre ReactJS.
JavaScript
30
star
6

hyper-synthwave84

Just a Hyper theme based on SynthWave'84 Code theme.
JavaScript
22
star
7

dctb-node-crawler

Just a simple crawler in NodeJS
JavaScript
18
star
8

setup

Um repositório para listar os ítens do meu setup.
15
star
9

dctb-node-course

Just a simple index of an Node Course
15
star
10

dctb-utfpr-2018-1

Repositório para organizar os materiais e entregas das disciplinas ministradas pelo Prof. Diogo Cezar, na UTFPR-CP em 2018/01.
Java
14
star
11

rsxp-neon-api-nodejs

Repositório base para o Workshop apresentando na Rocketseat Experience 2019.
JavaScript
13
star
12

caption-craft

CaptionCraft é uma ferramenta CLI em NodeJS para extrair informações de arquivos de vídeo e gerar automaticamente legendas e descrições para redes sociais como Instagram, TikTok e LinkedIn.
JavaScript
12
star
13

dctb-utfpr-2018-2

Repositório para organizar os materiais e entregas das disciplinas ministradas pelo Prof. Diogo Cezar, na UTFPR-CP em 2018/02.
HTML
12
star
14

pizzaiolo

SlackBoot to report Pull Requests from Github
TypeScript
10
star
15

dctb-utfpr-2019-1-web

Repositório para organizar os materiais e entregas das disciplinas de web ministradas pelo Prof. Diogo Cezar, na UTFPR-CP em 2019/01.
HTML
10
star
16

dctb-digital-ocean-for-zombies

Um pequeno tutorial de como criar um servidor web com U$ 5,00 por mês
9
star
17

dctb-utfpr-2017-2

Repositório para organizar os códigos apresentados nas disciplinas da UTFPR em 2017-2
HTML
8
star
18

dctb-play-this

It is a system aiming to amuse and entertain people. Inspired by the old jukebox, a machine that reproduces music to insert coins, this system enables the choice of music that will be played on the environment.
PHP
8
star
19

linkbase

É um projeto para nós guardarmos os nossos links!
CSS
7
star
20

dctb-materiais-ux

Materiais mágicos da @mjcoffeeholick
7
star
21

dctb-ninja-react-redux-firebase

Implementation of React, Redux & Firebase App Tutorial created by The Net Ninja avaliable on http://bit.ly/2xrK5RX
JavaScript
6
star
22

dctb-nodejs-boilerplate

A simple boilerplate to construct NodeJS web application.
JavaScript
6
star
23

dctb-front-boilerplate

Just a simple boilerplate to front-end stuffs, using Gulp, Babel and Browserify.
JavaScript
6
star
24

dctb-automated-corrector

It's an automated corrector that consider similarity and correct students works.
C
6
star
25

reactjs-course-utfpr

JavaScript
5
star
26

dctb-bootstrap-model

This is a simple Front-End structure model
CSS
5
star
27

dctb-utfpr-2019-1-intro

Repositório para organizar os materiais e entregas da disciplina de Introdução a Engenharia de Software ministrada pelo Prof. Diogo Cezar, na UTFPR-CP em 2019/01.
HTML
5
star
28

dctb-music-search

A simple music search and downloader
PHP
4
star
29

aulaweb

Um repositório para publicar um projeto em React no GitHub pages.
JavaScript
4
star
30

dctb-facial-recognition

Facial recognition with JS <3
HTML
4
star
31

node-course-sample

JavaScript
4
star
32

dctb-omnistack-backend

Repo to store some implementations of omnistack by rocketseat.
JavaScript
4
star
33

diocodes

This is my mentoring website
TypeScript
4
star
34

diogocezar.github.io

My GitHub Web Page.
JavaScript
4
star
35

dctb-startistics

Startistics is a social networks monitoring system.
PHP
4
star
36

dctb-utfware

Repositório para organizar os links dos materiais utilizados na UTFWARE 2017.
4
star
37

dctb-materiais

Repositório com Materiais Diversos Relacionados a Tecnologia
PHP
3
star
38

dctb-wp-react-boilerplate

Just a simple Boilerplate to develop with ReactJS and Wordpress.
PHP
3
star
39

dctb-templates-html

Coleção de Templates Free em HTML
3
star
40

dctb-front-end-checklist

Just a simple repository with modern Front-End checklist skills.
3
star
41

dctb-docker

Just simple Docker Hacks
3
star
42

dctb-bash-windows

Como ter um bash do ubuntu nativo em seu windows?
3
star
43

dctb-express-sequelize

Just a simple demo to use sequelize with express.
HTML
3
star
44

dctb-json-server

Just a simple example of Json Server usage.
3
star
45

dctb-omnistack-frontend

Repo to reproduce oministack ReactJS front-end
JavaScript
3
star
46

dctb-go-karatecas

Just a simple GO Lang API Studie
Go
3
star
47

utfpr-hello-world

Um simples repositório para testar o GitHub.
2
star
48

dctb-styleguide-js

Um repositório de exemplo com um style guide para JS.
JavaScript
2
star
49

dctb-get-ninja-react-native

React Native Studies
2
star
50

diogocezar.nextjs

JavaScript
2
star
51

dctb-merge-images

Just a simple example to merge images
2
star
52

dctb-pagseguro-lightbox

Just a simple example of PagSeguro integration with lightbox.
PHP
2
star
53

dctb-react-redux

Just a simple example that shows how to use Redux with ReactJS
JavaScript
2
star
54

phd-ihc

2
star
55

figurinhas-da-copa

TypeScript
2
star
56

nlw

TypeScript
2
star
57

bazar

Just a simple project to sell your stuffs with an unique JSON configurations file.
JavaScript
2
star
58

dctb-nodejs-mongodb-boilerplate-mvc

Just a simple boilerplate to construct a NodeJS + Express + MongoDB website
CSS
2
star
59

dctb-grafos

Repositório com um Material Criado por min juntamente com Robson Gomes de Melo e André Luiz Pires Guedes.
TeX
2
star
60

dctb-wp-as-admin-panel

This is a simple example of how you can use wordpress as just an admin panel to manage your news or posts.
PHP
2
star
61

minicurso-git

Minicurso sobre Git e GitHub apresentado na UTFWare 2017.
2
star
62

dctb-check-sites

Check Sites is a script to check hourly if each site in a list is online and send a daily report with that informations.
PHP
2
star
63

phd-ihc-topics

TeX
2
star
64

meetup-gdg-8

Repositório para a apresentação da API Node em 30 minutos.
2
star
65

dctb-qrcode-express

Just a simple example how to generate QRCode with NodeJs and Express
JavaScript
1
star
66

dctb-nodejs-graphql

Just a simple studie of GraphQL with NodeJS.
JavaScript
1
star
67

rs-ignite-lab-nestjs

TypeScript
1
star
68

dctb-adonisjs

Implementation of this studie: https://www.youtube.com/watch?v=aysgHRmzG3w
JavaScript
1
star
69

dctb-sublime

My plugins and theme of SublimeText
1
star
70

dctb-snake

Just trying to create some canvas game.
JavaScript
1
star
71

dctb-browsersync

Just a simple boilerplate to use BrowserSync.
JavaScript
1
star
72

dctb-candy-model

Just a NodeJS + MongoDB model to start new projects.
JavaScript
1
star
73

dctb-nodejs-mysql

Simple Example with NodeJS and MySQL
JavaScript
1
star
74

portfolio

Just my portfolio WebSites
CSS
1
star
75

dctb-react-context

Just a simple example used here: https://www.youtube.com/watch?v=XLJN4JfniH4
JavaScript
1
star
76

dctb-ejs

Simple example of EJS with NodeJs and Express usage
JavaScript
1
star
77

dctb-omnistack-mobile

JavaScript
1
star
78

phd-machine-learning-lab3

Jupyter Notebook
1
star
79

dctb-phpfb

Simple Facebook PHP SDK Integration to get user infos.
PHP
1
star
80

dctb-speech-commerce

Just a simple example os voice recognition in JavaScript.
JavaScript
1
star
81

dctb-geovanna-reactjs

Just a simple study how to convert a simple HTML page in React Structure.
CSS
1
star
82

dctb-docker-para-desenvolvedores

Just to store this free ebook!
1
star
83

dctb-chat

Simple Chat in PHP + JQuery
JavaScript
1
star
84

dctb-templates

Repository to store cool templates :D
CSS
1
star
85

studie-mongoose-ejs

HTML
1
star
86

dctb-back-less

Simple example of api that allows execute php commands with JavaScript in a remote server
PHP
1
star
87

diogocezar

Here i am.
1
star
88

bugs-bunny

Just a simple experiment in electron to connect and see some RabbitMQ informations.
TypeScript
1
star
89

dctb-arduino

Just an Arduino playground.
C++
1
star
90

dctb-signatures

Repository do Store my E-mail Signatures.
HTML
1
star
91

dctb-socials

Social is a helper to provide informations from some social networks
JavaScript
1
star
92

dctb-beu-qrcode

Just qrcode studies.
JavaScript
1
star
93

class-check

Este é um projeto pessoal para auxiliar na conferência de preenchimento de registros de aulas por parte dos professores.
TypeScript
1
star
94

dctb-bootstrap-js

A simple JS Literal Object to include other JS's at your HTML.
HTML
1
star
95

dctb-php-mvc

Just a simple repository with mvc pattern implemented in PHP.
PHP
1
star
96

dctb-marcelo-ids-visuais

Repositório com o material criado por Marcelo Kimura
1
star
97

dctb-go-weak-10

Repository to praticle Rocket Seat Go Weak #10
JavaScript
1
star
98

dctb-curriculo

This is my personal curriculum vitae storage
TeX
1
star
99

dctb-video-streaming-node

Just a simple example how to streaming video with NodeJS
JavaScript
1
star
100

dctb-jsonadmin

A simple JavaScript + PHP to edit your JSON's
JavaScript
1
star