domingo, 30 de agosto de 2009

mód. Gráficos (Infinity Chart Engine)

(Fabrício)
olá pessoal.

Na segunda semana de aulas que se passou, continuei o desenvolvimento do módulo de gráficos.

Vou dividir este em alguns tópicos:
  • Criação das classes para cada tipo de gráfico que recebe as informações necessárias e gera o XML referente a aquele gráfico para que ele possa ser re-enderizado mais tarde. Status: Pausada
  • Criação dos Windows Forms que gerem cada tipo de gráfico a partir do banco de dados e ao mesmo tempo permitem toda a personalização dos mesmos. Status: Pausada
  • Criação da classe ExportCE, responsável pela exportação dos gráficos em imagens. Status: Pausada
  • Criação do Wizard para geração dos gráficos. Status: Andamento


Abraços

quarta-feira, 26 de agosto de 2009

Página de Dicas - site

(Bruna)

Olá pessoal
Como havia sido comentado, na página de dicas do site, além de ter dicas de uma boa apresentação, fórmulas estatísticas, etc. haverá também uma página de downloads. Nessa página disponibilizaremos fontes para download, wallpapers, estilos de apresentação...
Então segue abaixo alguns dos wallpapers que eu fiz, não sei se ficaram bons e se realmente estarão no site.

Obrigada





Site

(Bruna)

Olá pessoal,

Ontem depois de arrumar algumas coisas no texto da página da Instituição, eu já arrumei o texto na página como pode ser visto na imagem abaixo.
Esta foto to CTI será alterada, farei uma montagem com algumas fotos e colocarei no lugar desta.


segunda-feira, 24 de agosto de 2009

Volta às aulas - Semana 2 - Segunda-Feira

(Felipe)

Olá pessoal,

Hoje eu encriptei as senhas dos usuários na tabela de usuário em MD5. E preparei o web service e o sistema desktop para gerar as senhas encriptadas em md5.
Também ajustei os projetos da soluçãodesktop.
Por último começei a elaborar o cadastro de usuários e seus métodos no web service e todo o resto necessario.

trecho do código do web service que retorna o usuario do login passado:
[WebMethod]
public DataTable listaUsuariosByLogin(String username, String password, String login)
{
clUsuario u = new clUsuario();
if (u.autenticaSenha(username, password))
{
return u.listaUsuarios(login);
}
else
{
throw new Exception("Login e senha inválidos!");
}
}


Boa noite a todos,

Felipe Campos

Classe!

(Vinicius)

codigo botões!

Vinicius


visual teste !

(Vinicius)

Vinicius


Lista de conteudo

(Vinicius)
Lista de conteudo !!


Criação de uma aplicação rodando com base em list ainda,esta em andamento a criação de uma classe de calculos com (moda media,mediana ,soma,maior, menor, frequência, Frequência %, frequencia acumulativa, amplitude, criação de classe, apresentação das classe, variância e informações sobre dados. )

Ferias!!!

(Vinicius)
Desculpe pessoal por não postar nessas ferias , mas estava sem internet...

Mascote Vetorizado

(Kamila)
Bom, finalmente ficou pronto o vetor do nosso mascote. Com ele faremos o Display para a apresentação final do nosso projeto.


Log

(Gabriel)

Olá!
Informo a todos que os processos para o registro de atividades do banco na tabela de Log está quase finalizado. Faltam alguns ajustes finais e tudo estará pronto.
Acredito que até o final desta semana estará tudo concluído.

Até mais.

---
Gabriel B. Casella

Site

(Bruna)

Olá pessoal,
Na semana passada, eu, a Renata e a Kamila continuamos a desenvolver o site e pesquisamos maneiras para fazer a nossa galeria de fotos e vídeos.
Resolvemos colocar o link dos vídeos diretamente do youtube para não deixar o site pesado.
Logo mais a Renata estará postando alguns pedaços de códigos do site.
A imagem a seguir, era um teste de como seria a página de vídeos, portanto não haverá vários vídeos na mesma página.
Lembrando que estamos estudando algumas coisas em flash, etc. para fazer uma galeria de vídeos e fotos diferente.


Bruna Donida.

domingo, 23 de agosto de 2009

Indexação do site no Google

(Fabrício)

Pessoal, sabemos que um dos futuros itens para a disciplina de Aplicativos II será a indexação do nosso site nos buscadores, bem como sabemos que esse trabalho de SEO tem de ser feito o mais rápido possível.

Podemos dividir este em SEO interno e externo. O interno vai além das meta tags e meta informações como por exemplo o atributo alt e title de alguns elementos html, é formado também pelo conteúdo revelante de nosso site. É mais ou menos a comparação entre o que queremos que o google pense nas meta informações e o que realmente passamos no conteúdo como textos.

Nossa página inicial (http://infinity2009.com.br/) receio que ainda seja invisível para o Google. Visto que não possui meta tags dizendo para ver todo o site e não aponta para nenhum outro diretório do mesmo, e obviamente, o conteúdo em flash é irrelevante aos sistemas de busca.

Já o SEO externo, essencial para a classificação, é formado por links em outros sites que apontem para o nosso e do nosso para outros, herdando assim teoricamente page rank, algo configurado também pelas meta tags.

É mais complexo que isso, e eu não sou nenhum perito, mas de qualquer forma, vale uma pesquisa mais a fundo no assunto e a aplicação no nosso website.

Hoje para os termos infinity 2009 cti, tem os vídeos do youtube indexados na primeira página e também o blog.

É só.

Abraços

Fabrício JS

1ª semana - mód. Gráficos

(Fabrício)

Olá pessoal,

Nesta primeira semana de volta as aulas após as férias suínas, basicamente eu complementei o trabalho de pesquisa para a exportação dos gráficos em imagens, o que em meus últimos posts foi citado como problema crucial do módulo dos gráficos. Desta vez, fico feliz em dizer que obtivemos êxito.

A partir de agora trabalho já nos formulários de exportação que farão parte do projeto, para fazer um balanço fiél e otimista da minha posição quanto ao desenvolvimento, devo dizer que o módulo gráficos tem executado 20% de seu conteúdo. Pelo menos mais 20% dar-se-ão pelos formulários a serem desenvolvidos já a partir de segunda-feira.


Isso é tudo pessoal... (:

quinta-feira, 20 de agosto de 2009

Volta às aulas - Semana 1 - Quinta-Feira

(Felipe)


Olá a todos,

Hoje de noite na aula desenvolvi as stored procedures de nteração com a tabela de Perguntas.
Também desenvolvi a classe da entidade "Perguntas".
Ajustei alguns detalhes no web service e no projeto desktop.

Trecho dos códigos:

classe:
...
public ISingleResult buscaPerguntas(clQuestionario questionario)
{
var searchlike = db.sp_pergunta_select_by_IdQuestionario(questionario.Id);
return (searchlike);
}

///
/// Listagem de todas as Perguntas
///

/// Data table com todos os Perguntas
public DataTable listaPerguntas()
{
DataTable dt = new DataTable("Perguntas");
var query = buscaPerguntas();

dt.Columns.Add("Id");
dt.Columns.Add("IdPesquisa");
dt.Columns.Add("Nome");
dt.Columns.Add("TipoPergunta");
dt.Columns.Add("NumPergunta");
dt.Columns.Add("NumAlternativa");
dt.Columns.Add("Excluido");

foreach (sp_pergunta_selectResult result in query)
{
dt.Rows.Add(new object[7] { result.Id, result.IdQuestionario, result.Nome,result.TipoPergunta, result.NumPergunta, result.NumAlternativa, result.Excluido });
}

return dt;
}

...
stored procedure:
...
CREATE PROCEDURE [dbo].[sp_pergunta_select_by_IdQuestionario]
(
@IdQuestionario int
)

AS
SET NOCOUNT ON

select * from Pergunta
where Excluido = 0 and IdQuestionario = @IdQuestionario
order by IdQuestionario, NumPergunta;

...

Até mais, boa noite,

Felipe Campos

quarta-feira, 19 de agosto de 2009

Volta às aulas - Semana 1 - Quarta-Feira

(Felipe)

Olá a todos,

        hoje eu só fiz duas coisas:

1. Segurança do WebService:

Como o WebService é um serviço que está disponível na Web, resolvi colocar uma medida de segurança para evitar o uso alheio e leviano do nosso Web Service. Assim proporcionando mais segurança e confiabilidade para o nosso sistema como um todo. Uma das maneiras para fazer isso é colocar em cada Web Method os parâmetros Usuario e Senha. Esses valores são validados no nosso sistema e na base de dados. Assim permitindo o uso dos serviços apenas aos usuários do sistema que se identificarem.

Como exemplo modifiquei o metodo "Hello World". Ele ficou assim :

[WebMethod]
public string HelloWorld(String username, String password)
{
clUsuario u = new clUsuario();
if (u.autenticaSenha(username, password))
{
// Faz o que tem que ser feito
return "Hello World";
}
else
{
throw new Exception("Login e senha inválidos!");
return "Login e senha inválidos!";
}
}

2. Tentar corrigir bug que ocorre em tempo de desenvolvimento:

Após ter criado o formulário base para ser herdado por todos os outros, percebi que,em tempo de desenvolvimento, ao tentar visualizar qualquer form que o herde eu não conseguia. Recebia um erro dizendo que não foi encontrado no app.config (do projeto desktop) a configuração para acesso ao Web Service.

Então todo o desenvolvimento do design do projeto desktop teria que ser feito via .designer.cs, ue é meio "chato" de ser trabalhado.

Pesquisei por duas horas sem sucesso e sem nem mesmo chegar perto.


Até mais, tenham uma boa noite,

Felipe Campos

terça-feira, 18 de agosto de 2009

Volta às aulas - Semana 1 - Terça-Feira

(Felipe)

Olá a todos.

        Hoje me dediquei a padronizar, otimizar e melhorar o código feito ontem (17/08).

        Entre outras coisas criei um formulário pai para ser herdado por todos os formulário. Nele coloquei alguns valores padrão, para tamanhos e etc. E variaveis que todos os formulário devem ter. Como por exemplo uma variável com uma instância do objeto que acessa o WebService.

        Orientei o máximo possível a objeto e dividi o conteudo de cada classe em blocos usando as "regions" do C#.

        Trecho do código do formulário base e um formulário herdado por ele :

FORMULARIO BASE

namespace GraphMaticsAlphaDesktop
{
public partial class FormularioBase : Form
{
#region Variaveis
#region Web Service Required Variables
//protected GraphMaticsWS.GraphMaticsWSSoapClient ws = new GraphMaticsWS.GraphMaticsWSSoapClient("GraphMaticsWSSoap");
public String loginUsuarioLogado = "";
public String senhaUsuarioLogado = "";
#endregion
#endregion

#region Construtores
public FormularioBase()
{
InitializeComponent();
}

public FormularioBase(String Login, String Senha)
{
this.loginUsuarioLogado = Login;
this.senhaUsuarioLogado = Senha;
InitializeComponent();
}
#endregion
...

LOGIN

namespace GraphMaticsAlphaDesktop.Formularios
{
public partial class frmLogin : FormularioBase
{
#region Construtores
public frmLogin()
{
InitializeComponent();
}
#endregion

#region Eventos
private void frmLogin_Load(object sender, EventArgs e)
{

}

private void btnEntrar_Click(object sender, EventArgs e)
{
if (this.ws.autenticaSenha(txtUsuario.Text, txtSenha.Text))
{
efetuaLogin();
limpaFormulario();

}
else
{
frmMensagem mensagem = new frmMensagem("Senha ou usuários inválidos.");
mensagem.ShowDialog();
limpaFormulario();
}
}
...


Até mais e tenham uma ótima noite,

Felipe Campos


segunda-feira, 17 de agosto de 2009

Volta às aulas - Semana 1 - Segunda-Feira

(Felipe)

Olá a todos,

          hoje eu publiquei o projeto do Web Service que já pode ser acessado por qualquer pessoa. Se tiver curiosidade acesse http://200.145.153.93/GraphMaticsWS.asmx.

          Hoje também criei o projeto Desktop que irá consumir esses serviços. Coloquei nesse projeto a referência do Web Service e Os formulário já prontos de Login e do Menu. Através do web service fiz com que o login fosse feito atravez de uma autenticação via Web Service, que por sua vez valida na base de dados do sistema.

          Trecho do código do Web Method para validação:

[WebMethod]
public bool autenticaSenha(String username, String password)
{
clUsuario u = new clUsuario();

if (u.autenticaSenha(username, password))
{
return true;
}
else
{
return false;
}
}

Basicamente foi isso que fiz hoje.

Abraços a todos,

Felipe Campos.

quarta-feira, 12 de agosto de 2009

Banner Site!

(Renata)

Olá Pessoal,

está no ar o banner no nosso site..para quem quiser conferir..http://www.infinity2009.com.br/

criei uma ocnta de email tbm para deixar disponível no site.. contato@infinity2009.com.br
a senha e como acessá-lo eu passo por email ;)

Até mais tarde na reunião..
Renata

terça-feira, 11 de agosto de 2009

Site

Olá Pessoal,

Desculpem por não estar postando muito...ta uma correria aqui..e fica complicado postar as coisas que eu faço..bom..fiz um banner para colocar no site enquanto ele não vai ao ar..tentei colocá-lo ontem de noite mais minha conexão não estava muito boa..vou tentar colocá-lo novamente hoje..para quem quiser acompanhar.. www.infinity2009.com.br

O site..estou com dificuldade para fazer em tableless...nao tenho tido muito tempo para estudar isso...vou fazer o seguinte..vou montar ele inteiro em table ..faço isso rapidinho..aí ponho ele no ar..pra ir indexando no google..depois..com mais tempo eu vou estudando tableless e vou mudando ele.. ;)

Até mais,
Renata

sábado, 8 de agosto de 2009

Desenvolvimento do módulo de gráficos

(Fabrício)

Olá pessoal,
venho aqui para comentar sobre o andar do módulo de gráficos.

Continuo com o problema da exportação, aguardo um encontro com todos os desenvolvedores para analisa-lo.

Bom, já temos em mãos três tipos de gráficos: Colunas 3D, Pizza (ou torta) 3D, e Área 2D.

Seguem exemplos, de como serão criados os gráficos no Controle do sistema e seu resultado.







É isso.

Até mais, abraços

domingo, 2 de agosto de 2009

Triggers e Log

(Gabriel)
Olá!
Relato aqui que as triggers para a tabela de log estão sendo feitas, porém sua conclusão não será tão breve devido ao processo de manipulação sobre os dados alterados nas tabelas, entretanto as stored procedures já foram realizadas e permitem o acesso ao banco através do programa; elas são uma melhor forma de comunicação com o banco pois permite maior segurança e não referencia comandos SQL diretamente pelo programa.

Até mais.

---
Gabriel B. Casella

Dicionário de Dados

(Gabriel)
Olá!
Posto aqui uma referência do Dicionário de Dados feito há certo tempo atrás:

Dados dos Usuários = Nome + Login + Senha + Dica *Dica=Dica da senha*
Registro de Usuário = @ID + Excluido + Tipo + Dados dos Usuários
*Excluido=Indica, não fisicamente, se o usuário foi excluído* *Tipo=Referencia se o usuário é orientador (professor) ou pesquisador (aluno)*

Depósito Usuário = 1{Registro de Usuário}

Dados dos Grupo = Nome + Descricao
Registro de Grupo = @ID + IDOrientador + Excluido + Grupo
Depósito Grupo = 1{Registro de Grupos}

Registro de IntegrantesGrupo = @ID + IDUsuario + IDGrupo + Excluido
Depósito IntegrantesGrupo = 1{Registro de IntegrantesGrupo}
(...)


---
Gabriel B. Casella