Dados gerais sobre a disciplina
Código: QXD0020
Curso: Redes de Computadores
Turma: 6º Período
Turno: Noite
Carga Horária: 64h
Local: Bloco 1 - Sala 3 / Laboratório 3
Horários: Segunda e Terça das 18 às 20h
Modelo Cliente/Servidor da WEB. Evolução da WEB. Linguagens de Programação e WEB. Tendências tecnológicas do lado servidor para programação Web. Modelo de Divisão da Aplicação em Camadas. Implementação de Aplicações WEB. Desenvolvimento ágil na Web; Web 2.0; AJAX (Asynchronous Javascript and XML); Web Services; Mapeamento Objeto-Relacional.
- Modelo Cliente-Servidor. Servidor Web.
- Geração dinâmina de páginas. Protocolo HTTP: métodos.
- HTML
- CSS
- JavaScript
- JQuery
- Framework Front-End
- PHP - Introdução e Primeiros Passos
- PHP - Sessões e Cookies
- Cabeçalho HTTP. Redirecionamento de páginas.
- Compartilhamento de código: include, include_once, require, require_once.
- Programação Orientada a Objetos com PHP
- PHP - Acesso a banco de dados com PDO (PHP Data Object)
- PHP MVC (Model, View, Controller)
- Front-Controler. Dispather. Reescrita de URL (mod-rewrite)
- Frameworks Web MVC. Framework CodeIgniter.
- Roteamento. Logging.
- Validação de dados.
- Autenticação e Autorização.
- AJAX
- Registro de domínio e Hospedagem de site.
- CMS - Content Management Systems.
- Code Academy - Aprenda a programar interativamente, grátis.
- HTML & CSS (One-Day) - Pamela Fox
- Apostila da K19 Treinamentos: K02 - Desenvolvimento Web com HTML, CSS e JavaScript
- HTML Reference - W3Schools
- Templates CCS3 Gratuitas
- Twitter Bootstrap - Framework de front-end elegante, intuitivo para um desenvolvimento web mais rápido e fácil.
- HTML5 Boilerplate - The web’s most popular front-end template.
- HTML5 Boilerplate helps you build fast, robust, and adaptable web apps or sites.
- Kick-start your project with the combined knowledge and effort of 100s of developers, all in one little package.
- Initializr - Comece seu projeto HTML5 em 15 segundos.
- Initializr is an HTML5 templates generator to help you getting started with a new project based on HTML5 Boilerplate.
- It generates for you a clean customizable template with just what you need to start!
- Documentação em português
- Desenvolvimento com Frameworks: Bom ou Mau?
- Hospedagens Gratuitas
- Hostinger - Hospedagem gratuita com PHP e MySQL.
- 3 Jelly - Best Free Unlimited Hosting
- Koding - VM Gratuita com 1.2GB de espaço em disco e 1GB de RAM
- Usar para desenvolvimento / testes.
- Já vem com PHP, Java, C, Python, Ruby, etc.
- Inclusive com acesso a terminal via Browser.
- Crie sua VM em: https://koding.com/
- Heroku - Cloud Application Platform
- E-book gratuito sobre como montar um servidor gratuito por um ano na Amazon Web Services
- "CodeIgniter and Doctrine from Scratch" Series (http://www.phpandstuff.com):
- Como realizar a integração do CodeIgniter com Doctrine 2
- Integrando Doctrine 2.1 com CodeIgniter 2.1.0
- Composer - Dependency Manager for PHP
- Can I use... - Tabelas de compatibilidade para HTML5, CSS3, SVG e mais em navagadores desktop e mobile.mobile browsers.
- Básica
- NIEDERAUER, J. Web Interativa com Ajax e PHP. Novatec, 2ª Edição, 2013.
- GABARDO, A. C. PHP e MVC com CodeIgniter. Novatec, 1ª Edição, 2012.
- Complementar
- MINETTO, E. L. Frameworks para Desenvolvimento em PHP. Novatec, 1ª Edição, 2007.
- NIEDERAUER, J. Desenvolvendo Websites com PHP. Novatec, 2ª Edição, 2011.
- NIEDERAUER, J. PHP para Quem Conhece PHP. Novatec, 1ª Edição, 2004.
- MELO, A. A. & NASCIMENTO, M. G. F. PHP Profissional. Novatec, 1ª Edição, 2007.
- DALL’OGLIO, P. PHP Programando com Orientação a Objetos. Novatec. 2ª Edição, 2009.
- CRANE, D. & PASCARELLI, E. Ajax em Ação. Prentice-Hall, 1ª Edição, 2006.
- FREEMAN, Elisabeth; FREEMAN, Eric. Use a cabeça!: HTML com CSS e XHTML. 2. ed. Rio de Janeiro, RJ: Alta Books, 2008.
- Apostila da Caelum - WD-43: Desenvolvimento Web com HTML, CSS e JavaScript (Recomendadíssima!!!)
- Também fala sobre PHP, jQuery e Bootstrap.
- Apostila da K19 Treinamentos: K02 - Desenvolvimento Web com HTML, CSS e JavaScript
- E-book gratuito sobre como montar um servidor gratuito por um ano na Amazon Web Services
Lista de Exercícios 01 - Prazo de Entrega: 02/09/2013 (segunda).
Lista de Exercícios 02 - Prazo de Entrega: 09/09/2013 (segunda).
Lista de Exercícios 03 - Prazo de Entrega: 23/09/2013 (segunda).
Lista de Exercícios 04 - Prazo de Entrega: 06/10/2013 (domingo).
Lista de Exercícios 05 - Prazo de Entrega: 21/10/2013 (segunda).
Lista de Exercícios 06 - Prazo de Entrega: 28/10/2013 (segunda).
Lista de Exercícios 07 - Prazo de Entrega: 04/11/2013 (segunda).
Lista de Exercícios 08 - Prazo de Entrega: 11/11/2013 (segunda).
Lista de Exercícios 09 - Prazo de Entrega: 25/11/2013 (segunda).
Lista de Exercícios 10 - Prazo de Entrega: 03/12/2013 (terça).
Lista de Exercícios 11 - Prazo de Entrega: 09/12/2013 (segunda).
Entrega 1 - Documento de Especificação
O documento de especificação deverá conter pelo menos os seguintes tópicos:
- Introdução.
- Visão geral do projeto.
- Justificativa.
- Requisitos.
- Requisitos funcionais.
- Requisitos não funcionais.
- Diagrama de classes UML com as principais classes envolvidas e as associações entre elas.
- Digramas de Casos de Uso UML.
- Cronograma de desenvolvimento.
- Conclusões.
Veja também esses documentos:
- Prazo: 18/11/2013 (segunda)
- Autenticação via PHP (login) e autorização em todas as páginas da aplicação para só permitir o acesso de usuário logado.
- Todas as páginas da aplicação devem ser páginas PHP. Os nomes dos arquivos devem finalizar com a extensão '.php'.
- A aplicação deve ter uma página principal (index.php) que é exibida automaticamente ao acessar a raiz da aplicação.
- Modularização de trechos html usados em várias páginas.
- Exemplo: Deixar cabeçalho e rodapé em arquivos PHP separados e incluí-los nas páginas onde serão necessários.
- Baseado no código de CRUD implementado pelo professor em sala de aula e disponibilizado no GitHub, criar um CRUD de alguma entidade simples de sua aplicação.
- Deve-ser enviado o script SQL para criar e povoar o banco de dados.
- Em caso de dúvida(s), envie email para o professor.
- Entrega pelo SIPPA e também através de apresentação de 5 minutos em sala de aula sobre a aplicação desenvolvida.
- As apresentações iniciarão antes das 18h para os alunos que puderem chegar antes deste horário.
- Prazo: 17/12/2013 (terça)
- Usar CSS para estilizar a aplicação, preferencialmente através do uso do Bootstrap.
- Usar JavaScript para melhorar o dinamismo e interatividade da aplicação, preferencialmente através do framework jQuery.
- Modularização de trechos html usados em várias páginas.
- Exemplo: Deixar cabeçalho e rodapé em arquivos PHP separados e incluí-los nas páginas onde serão necessários.
- A aplicação deve ter uma barra de navegação/menu com todas as opções/links funcionando.
- Autenticação via PHP (login) e autorização nas páginas que precisem desta funcionalidade.
- Caso a aplicação não necessite login, deve-se criar uma área administrativa simples que exija essa funcionalidade (login).
- Todas as páginas da aplicação devem ser páginas PHP. Os nomes dos arquivos devem finalizar com a extensão '.php'.
- A aplicação deve ter uma página principal que é exibida automaticamente ao acessar a raiz da aplicação.
- A aplicação deve necessariamente implementar o padrão MVC - Modelo, Visão, Controlador e usar as boas práticas de desenvolvimento apresentadas em sala de aula.
- Preferencialmente o MVC deve ser implementado usando o framework Web CodeIgniter.
- Deve ser enviado o Script SQL para criar e povoar o banco de dados.
- Também deve ser criado um Controller específico para permitir a execução desse Script. Na aula do dia (10/12) mostramos um (bd.php).
- A aplicação deve ter implementado pelo menos um CRUD completo (Inserir, Ler e Exibir, Atualizar e Excluir) da(s) entidade(s) principal(is) da aplicação.
- As listagens de entidades preferencialmente devem realizar paginação.
- Publicar a sua aplicação em uma hospedagem PHP gratuita, como o Hostinger. OBS: Muitas hospedagens só suportam MySQL.
- A aplicação remota na hospedagem gratuita deve funcionar exatamente como a aplicação local.
- No dia da apresentação deve-se mostrar as duas aplicações funcionando: aplicação local em seu computador e aplicação remota na hospedagem PHP.
- Entrega pelo SIPPA e também através de apresentação de 5 minutos em sala de aula sobre a aplicação desenvolvida.
- As apresentações iniciarão pontualmente às 18h.
OBS: A entrega dos trabalhos deve ser necessariamente realizada através do SIPPA.