Jump to content
dec0

Construção do sistema de base de dados online

Recommended Posts

taviroquai

Olá pessoal!

Como projeto de final de curso estou a desenvolver um website que permita ao meu cliente fazer a gestão de alunos da sua instituição.

Decidi então desenvolver o projeto em PHP, uma vez que é de fácil integração com o SGBD MySQL, e sendo sincero: estou habituado a estes 2 linguagens.

A questão agora passa por descrever as linguagens que irei utilizar.

Assim tenho o "típico" para a construção do website:

PHP - código de implementação das funcionalidades

SQL - linguagem para utilizar no SGBD (MySQL, como dito)

HTML, CSS - Estruturação do website

Javascript - scripts de interação com o cliente

Se estás à vontade com essas linguagens e com HTML e CSS tens todas as condições para avançares.

No entanto colegas meus falaram-me em mais algumas linguagens:

jQuery, XML e AJAX.

Todas elas são linguagens que já ouvi falar, mas nunca trabalhei com elas. Sendo sincero, a que conheço melhor é XML

Pesquisei um pouco e não sei como descrever estas linguagens na implementação do meu projeto.

Então as minhas dúvidas são:

Em que medida posso usar jQuery, uma vez que é uma biblioteca do JavScript?

Em que medida posso usar XML ou AJAX?.

Aguardo uma resposta :)

Obrigado!

Considerando que o projeto é desenvolver um conjunto de páginas HTML com interface CRUD (adicionar, listar, atualizar e apagar dados) que permite ao utilizador enviar instruções para manipular os dados no servidor, não precisas de jQuery ou de AJAX para realizares o projeto.

Aliás podes começar a pensar nos comandos. Só com PHP e enviando estes comandos podes manipular os dados...

GET index.php?module=student&action=list&page=1 - Devolve a página 1 com a lista dos alunos (página limita o numero de alunos a mostrar)

GET index.php?module=student&action=create - Devolve a página com o formulário do aluno

POST index.php?module=student&action=create - Salva os dados do novo aluno

GET index.php?module=student&action=update&id=1 - Devolve a página com o formulario para alterar o aluno com ID igual a 1

GET index.php?module=student&action=update - Atualiza os dados do aluno

GET index.php?module=student&action=delete&id=1 - Marca o aluno como eliminado

Agora basta aplicar o mesmo conceito de comandos para outras operações...

Share this post


Link to post
Share on other sites
dec0

Epá eu são tão mas tão noob... Mas temos que ter em consideração que programação não é a minha área favorita (nada mesmo!) e que o tempo para estudar outras tecnologias é pouco, uma vez que o curso são 5 anos (com mestrado integrado) e vocês sabem como é: é estudar as cadeiras e o tempo já fica bem, mas bem ocupado.

A escolha de PHP deve-se ao facto de estudar apenas esta linguagem web a escola. No entanto sabem como é: esta justificação não chega, temos que fundamentar a escolha (e é nisso que estou a trabalhar neste momento).

Eu quero começar a programar mas neste momento ainda não posso, porque toda esta parte inicial do projeto "não deixa".

A prática e o gosto pela programação, espero que venham durante a execução da aplicação.

Todo este tópico deve-se ao facto de os meus colegas me terem alertado que poderia usar outras estruturas de dados (AJAX, XML, jQuery etc) e eu não saber onde e como utilizá-las... Nem sequer saber o que eram!

O mesmo digo destas execuções acima dadas pelo taviroquai xD "module"? que é isso? :/ eu só trabalhei com coisas "simples" e desconheço isso... Só sei mesmo o básico do básico...

Share this post


Link to post
Share on other sites
shumy

Em termos práticos o que queres fazer é um SI (Sistema de Informação) e tendo em conta que todos os SI têm grande peso na consulta/inserção/interação com uma BD, as escolhas aqui referidas são muito "low level" para o que pretendes.

Desta forma vais ter mais controle sobre toda a aplicação, mas também tens de montar todo o sistema de comunicação cliente/servidor, criando stubs/skeletons DTO's de ambos os lados comunicar com AJAX, tratar os erros, etc, etc. Em suma será imenso trabalho com estas mesmas tecnologia referidas.

Ninguém no seu perfeito juizo faz um SI desta forma. Estas tecs. juntamente com bootstrap e afins são para criar sites de apresentação de empresas, ou em geral páginas ao público para ficarem bonitas e com o mínimo de formulários possíveis. Em suma tudo o que seja web e não se enquadre como SI (que em princípio será inerentemente intranet).

Procura uma framework adequada para montar um SI seja em PHP ou Java. Em java eu pessoalmente gosto bastante desta www.zkoss.org que já aqui referi várias vezes (sou quase promotor!). Em PHP alguém certamente estará mais dentro do assunto.


Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Share this post


Link to post
Share on other sites
oxyzero

O mesmo digo destas execuções acima dadas pelo taviroquai xD "module"? que é isso? :/ eu só trabalhei com coisas "simples" e desconheço isso... Só sei mesmo o básico do básico...

O que ele escreveu é uma maneira de escreveres as tuas páginas. Podes chamar aqueles parâmetros o que tu quiseres. Consegues apanhar o valor daqueles parâmetros através do método GET ( $_GET['parâmetro']; ).

A meu ver o @taviroquai definiu module em relação às tuas necessidades. Referis-te que a tua aplicação era para professores, alunos etc, para registar faltas e assim.. ora o "module" que o @taviroquai definiu retrata isso. Por exemplo:

&module=student

&module=teacher

Se não souberes o que isto do POST e do GET é: http://www.w3schools.com/tags/ref_httpmethods.asp

Mas assumo que já deves de conhecer :P

Share this post


Link to post
Share on other sites
dec0

@oxyzero

sim sei o que são ambos :P essa questão de módulos é que não trabalhei com eles ainda...

Quanto às frameworks... Encontrei a Yii que já foi referida, mas digam-me uma coisa:

Isto retrata um jardim de infância que acolhe crianças dos 3 meses aos 5 anos. Neste momento com o bootstrap consegui criar "infantil", ou seja, fazer parecer ao utilizador que mesmo mexendo num computador (que nada tem a ver com educar crianças) está "dentro" do ambiente da instituição, e assim o facto de trabalhar naquele ambienta torna-se mais fácil de integrá-lo no sistema, do que se for um ambiente mais profissional, mais técnico, como este:

http://yii.tomobuddy.com/images/yii-1.png

Relativamente às frameworks todas elas fornecem as mesmas funcionalidades?

Ou seja, estou habituado ao Bootstrap. As outras podem incluir funcionalidades a mais?

Share this post


Link to post
Share on other sites
Knitter

Estás a falar do Twitter Bootstrap? Não é a mesma coisa que a Yii, com Bootstrap apenas fazes a interface, não fazes nada no servidor. A imagem que apresentaste não é mais que o estilo padrão (no que toca à tabela) que a Yii fornece se usares os mecanismos de gerar interfaces automaticamente, mas não tens de usar esses mecanismos nem usar esses estilos.

Yii engloba toda uma framework PHP seguindo o padrão MVC (podes colocar isto no relatório do projecto :) ), e oferece já um conjunto de "componentes" (jQuery + jQuery UI) e geradores de código CRUD, entre muitas outras funcionalidades. Podes até usar Yii com Bootstrap.

Nem todas oferecem as mesmas funcionalidades, as funcionalidades básicas estão lá todas e todas as frameworks MVC te permitem dividir o projecto em vistas, controladores e models, todas possuem uma camada de abstracção no acesso à base de dados (não escreves SQL nem usas as funções de PHP para acesso a MySQL, usas o que a framework te der) e quase todas suportam algum tipo de extensão (módulos, plugins, etc), além de suportarem sistemas de templates para as vistas. Nem todas têm componentes, algumas deixam isso à escolha do programador (e à responsabilidade deste).

Actualmente, quase todas as frameworks PHP a considerar oferecem o que a Yii oferece, mas atenção que posso muito bem ser parcial a esta, já usei várias e esta foi a única a que não precisei de me adaptar, por isso gosto dela, mas não quer dizer que seja a melhor para ti.

Mais importante que estas discussões era apresentares os requisitos da tua aplicação, eventualmente podem ser-te dadas sugestões mais práticas de acordo com os requisitos ou até ajudar a justificar uma tecnologia que prefiras.

Share this post


Link to post
Share on other sites
dec0

Bom tudo isso é muito espetacular, é verdade! :P

O meu medo aqui é se por alguma razão isto pode parecer pouco trabalho, porque não usamos funções MySQL nem nada disso. É algo com que eu nunca trabalhei e tenho só até Junho para entregar isto... Até lá tenho que contar com tempo gasto em aprendizagem e testes e tudo isso... Tempo que pode ser escasso pois tenho mais cadeiras...

Eu ainda não consegui foi entender todo este conceito de framework... (é só coisas que eu não entendo :/ )

Os requisitos da aplicação são:

Admin

Gestão de Alunos e respetivos familiares.

Gestão de Salas

Gestão de Funcionários

Funcionário

Gestão de presença de alunos

Estas são as funções obrigatórias a implementar.... Todo este sistema correrá no próprio computador da instituição, não sendo necessária uma ligação à Internet (por agora, daqui amanhã não sei).

Basicamente é este o meu projeto.

É simples, eu sei. Mas eu não quero tornar isto numa coisa tão "cháchá". Queria introduzir AJAX, jQuery. Javascript...

mas é tudo algo que eu não aprofundei nunca. Tudo isto levará o seu tempo a aprender, e depois o tempo será escasso.

Share this post


Link to post
Share on other sites
shumy

Provavelmente farias isto em OpenXava em 1 dia.


Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Share this post


Link to post
Share on other sites
taviroquai

Hmm... mete Javascript nisso :P

Podes usar uma ferramenta PHP para te criar um web-service (aqui tens trabalho quase zero) e a maior parte do "trabalho" fica no lado do cliente com Javascript (por exemplo ExtJS http://www.sencha.com/products/extjs/examples/).

Desta forma vais ter mais controle sobre toda a aplicação, mas também tens de montar todo o sistema de comunicação cliente/servidor, criando stubs/skeletons DTO's de ambos os lados comunicar com AJAX, tratar os erros, etc, etc. Em suma será imenso trabalho com estas mesmas tecnologia referidas.

Isso é relativo... Pode acontecer é escolher uma determinada ferramenta pelo o que ela "vende" mas o tempo que se perde em aprender a API e a debugar é muito maior do que quando trabalhamos com ferramentas em que somos mais produtivos, seja em camadas low ou high level.

Share this post


Link to post
Share on other sites
I-NOZex

recomendo yii ;)

podias começar por usar o Yiiboilerplate, que ja tras uma hierarquização dos ficheiros, em outros termos:

tens uma pasta para backend, outra para frontend e outra para common (para ficheiros comuns, como as bibliotecas da framework ) ;)

na backend tras-te para a parte visual o bootstrap, e podendo usar o que quizeres na frontend (por defeito tras o HTML5 BOILERPLATE)


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
yoda

mas é tudo algo que eu não aprofundei nunca. Tudo isto levará o seu tempo a aprender, e depois o tempo será escasso.

Tens mais que tempo, só depende da tua motivação. Aquilo que queres fazer pode ser complicado ou simples, mas se quiseres dominar o que fazes recomendo que faças tudo à mão e aprendas assim, pode parecer mais difícil mas é a melhor forma de aprender.

  • Vote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.