2012 esta ai…

Bom, o novo ano esta ai à porta e muita gente trata de deixar os seus pensamentos e projectos para o novo ano, é interessante ver chegar ao final do ano e perceber se todos os objectivos definidos para este ano foram atingidos, claro que isso não influencia em nada a nossa vida mas o sentimento de missão cumprida e desafio é sempre muito saudável.

No final do ano passado tinha estipulado como metas o aumento de conhecimento de Java, C#, Postgress e claro, Flex 4. Em todos eles consegui alguns avanços o que me deixou com um otimo espectro de linguagens, mas infelizmente não consegui tempo para dar uma olhada  no FMS nem nas bases de dados Oracle mas quem sabe para o próximo ano o consigo fazer.

Este ano que passou, trouxe grandes novidades, muitas surpresas e algumas desilusões, desde o inicio da penetração do flash para mobile nos smartphones ate ao seu abandono. O grande avanço da plataforma Flash para mobile também marcou o mercado, como o deploy de aplicações em flash/flex para markets mobile, mas ao mesmo tempo mais uma triste noticia que deixou muita gente surpresa, a Adobe acabava por abandonar o desenvolvimento do Flex, concentrando-se nas tecnologias emergentes como o HTML5 e jQuery Mobile.

Sem esquecer da morte do visionário Steve Jobs, que apesar de não ser Apple fan, reconheço que ele foi um “game changer” tanto na própria Apple, como no mundo da tecnologia, principalmente mobile.

O final deste ano também me fez mudar de ambiente de trabalho, juntando-me a um amigo de longa data numa empresa onde acabei por iniciar-me no mundo mobile (HTML5/jQuery Mobile) mesmo ainda antes do abandono do Flash Mobile e do Flex SDK o que acabou por ser muito curioso. Claramente ainda muito pouco maduras, ambas as tecnologias (HTML5 / jQuery Mobile) ainda mostram muitos pontos fracos principalmente a fragmentação e as diferentes/próprias implementações de variados elementos não compatíveis com os padrões (w3) faz com que o desenvolvimento se torne mais dispendioso. Se contar com a falhas de performance em mobile, falta de componentes, fracos comportamentos, muitos problemas de compatibilidade cross-browser e conhecendo o Flex como conheço, dificilmente nos próximos 3 a 5 anos o flex será substituído pelo HTML5 como muitos o afirmam.

Bom, neste novo ano muitos desafios se avizinham nesta nova etapa do meu trabalho principalmente a nível de aprendizagem e desenvolvimento em outras tecnologias. Pensado que o HTML5 / Mobile vai ser um grande foco, será com certeza uma grande experiência e enriquecimento para mim.

Finalmente, 2011 também ficou marcado por cada vez menos tempo disponível para actualizar o blog, mas sempre que possível la fui colocando um ou outro artigo. Sera algo que também quero mudar no próximo ano, dedicando um pouco mais de tempo a ele.

Bom, resta-me apenas desejar-vos um otimo 2012 com muito sucesso pessoal!

Um grande abraço.

Sem Comentarios

SIGCOND, Gestão de forma inteligente. (Flex)

Olá caros leitores, infelizmente tenho andado meio afastado do blog devido a algumas mudanças na vida profissional, mas também por falta de tempo. Mas bom, hoje venho falar de um projecto que elaborei antes desta mudança profissional, e que foi bem interessante não só a nivel tecnológico, mas também a nivel funcional.

O seu nome é SIGCOND, um sistema de gestão de condomínios muito completo. Todo o sistema foi elaborado em Adobe Flex 4, com recurso ao ZendFramework, MySql e PHP mas não se limitou a estas tecnologias, já que também conta com um sistema interno de chat / conferencia feito com recurso ao Red5 Media Server / Java. Conta com variadas áreas, 4 niveis de utilização: Super Administrador, Administrador de Condomínio Master, Administrador de condomínio e Condómino. Cada um deles apenas pode aceder a algumas funções e menus da aplicação devido a um sistema de UAC implementado.

Foram também integradas algumas API’s que tornam a aplicação muito funcional, de entre as quais:

  • Google Charts API, permitindo assim criar relatórios de consultas com gráficos tornando os relatórios bem mais agradaveis.
  • Clickatell SMS API, permite que o sistema possa enviar notificações por SMS para os telefones dos condóminios e administradores, tornando a troca de informação mais directa entre os administradores e o sistema. Esta API é implementada de uma forma totalmente automática, já que as notificações sao apenas configuradas (activas/inactivas) e o sistema encarrega-se de enviar as devidas notificações consoante várias operações iniciadas por parte do utilizador, ou automaticamente por parte do sistema. Estas notificações incluem falta de pagamentos, agendamentos, notas, reuniões de condomínios, lançamento de quotas / facturas, etc.
  • EasyPay – Gateway MB. Esta API torna o sistema ainda mais funcional, permitindo o lançamento em tempo real de Facturas com uma referencia MB / Home-banking que imediatamente fica disponível para pagamento. Sendo que os administradores podem pagar o aluguer da plataforma e os condóminos as suas quotas / facturas sem sair de casa. Assim que o cliente/condómino paga a factura numa caixa electrónica, ponto de pagamento ou home-banking o sistema é de imediato notificado e efectua o fecho do registo a pagamento.
O sistema conta com vários recursos automatizados que são efectuados diariamente para criar e lançar quotas, criar relatórios, notificar faltas de pagamento e prazos, bloquear contas, lançar facturas, etc…
Internamente também poderá encontrar um sistema de agendas, troca de mensagens privadas, chat de texto, video e audio em tempo real em várias salas, além do chat privado entre a administração e um condómino ou com o proprio suporte da aplicação. Existe ainda um fórum interno para dúvidas, centro de documentos onde podem encontrar documentos pessoais, ou administrativos, calculadora, calendario / agenda, etc.. Bom, convido-vos a lerem um pouco mais sobre a parte comercial do sistema escrita pelo próprio proprietário do sistema, Fernando Mendes, aqui em baixo. De notar que ao fundo do artigo pode encontrar dados para acederem ao sistema em modo de teste.

Uma aposta na tecnologia

 

O presente projecto tem como principal objectivo a disponibilização na Internet de uma plataforma que contém um conjunto de recursos necessários para a gestão de condomínios. O público-alvo reporta-se a administradores de condomínio, condóminos e empresas de administração de condomínios.

O SIGCOND diferencia-se pelo facto de ser totalmente online, e desenvolvido de forma a dinamizar a relação entre condóminos / administrador. Com esta plataforma, procuram-se colmatar eventuais dificuldades de comunicação, transparência e rigor que, na maior parte das vezes, se manifestam entre a administração e os condóminos, proporcionando, simultaneamente, uma gestão simples, automatizada e integrada de todo o processo.

O SIGCOND permite realizar a contabilidade, controlo, suporte e automatização das tarefas inerentes à actividade referida, bem como motivar a uma maior participação entre os agentes envolvidos.

O desenvolvimento desta nova solução incorpora as questões político legais nacionais em vigor, referentes a este âmbito, e as que são possíveis de enquadrar na aplicação.

No sentido de uma melhor compreensão dos conteúdos contabilísticos, para além dos dados numéricos disponíveis, existem também painéis de bordo com a disponibilização gráfica dos valores mais pertinentes, o que permite uma consulta mais intuitiva da informação por parte dos condóminos.

Como referido, e para dinamizar a relação condóminos / administrador, foi criado um módulo de comunicação (um fórum e um chat interno ao condomínio), facilitando desta forma a interacção entre aqueles, o que representa uma mais-valia neste projecto.

O acesso é realizado através de um portal desenvolvido para o efeito e que permite ainda a colocação de publicidade de empresas relacionadas com esta actividade.

Com a utilização do SIGCOND, o público-alvo pode usufruir de benefícios relativamente à concorrência, em particular:

 

  •  Disponibilização da solução totalmente online, sem necessidade de instalação de software adicional.
  • Pagamentos disponíveis por MB.
  • Notificações por SMS.
  • Possibilidade de escriturar toda a contabilidade do condomínio, permitindo ainda uma visão da variação de despesas ou receitas, através de painéis de bordo, sendo que os condóminos podem ter uma perspectiva dos dados “24 horas por dia”, o que se reflecte numa total transparência de processos.
  • Optimização de tarefas inerentes à actividade do administrador.
  • Envio automático de notificações de eventos (ex.: pagamentos de mensalidade em falta, convocatórias, entre outros).
  • Promoção da comunicação através de um conjunto de facilidades, nomeadamente, de um fórum de discussão para cada condomínio e da integração de chat / conferência em reuniões de condomínios.
  • Possibilidade de colocação de legislação referente aos condomínios num espaço partilhado online.
  • Custo reduzido de licenciamento.

 

Neste sentido, espera-se uma receptividade significativa da aplicação, dado que se oferece aos utilizadores uma alternativa que lhes possibilita uma redução de custos e de tempo na escrituração dos dados do seu condomínio com total transparência, o que se traduz, por outro lado, na possibilidade de retorno financeiro decorrente da exploração da solução.

WebSite: www.sigcond.pt    Telf: +351 93 922 3808    Informações: info@sigcond.pt

Para acederem ao site em modo de demonstração, usem as seguintes informações:

http://gestao.sigcond.pt

User Condómino:
USER: userdemo
PASSWORD: demo

User administrador de condomínio:
USER: demoadmin
PASSWORD: demo

De notar que na versão demonstração muitas das opções estão bloqueadas, ou simplesmente nao estão visiveis. Para mais informações ou testar o sistema com dados reais e sem limitações entre em contacto com o email de informações:  info@sigcond.pt

Como o sistema ainda se encontra em fase inicial de testes podem encontrar alguns erros ou bugs, pelo que se encontrarem algum deixem os vossos comentarios.

Cumps.

 

Sem Comentarios |Tags: , , , , , , ,

RedeRIA Android & iOS (quase).

Venho falar do projecto RedeRIA que se têm revelado um sucesso e conta já com mais de 50 autores e cerca de 2500 artigos sobre Ria’s. Devido a este sucesso decidi à algum tempo fazer uso da minha ferramenta de trabalho diária (Flash Builder) para criar uma aplicação para Android e iOS visto que já é possível isso muito facilmente. Vou falar um pouco da App criada tanto para Android disponível para download no market ou seguindo este link: https://market.android.com/details?id=air.com.msdevstudio.RedeRIA, como para iOS. (Não publicada)

A aplicação foi criada com 2 layouts diferentes que são carregados consoante a plataforma (iOS e Android), e usa componentes nativos da framework flex, como o mobile view navigator e list, usando também um item render nessa lista, algo bem simples de fazer.

Para a listagem de artigos, carregados a partir do feed, foi usada uma libraria para ler e converter os feeds para objectos que são adicionados um arrayCollection  usado na lista. Já no caso dos autores, foi usada a API AS3 do WordPress que desenvolvi (podem ver a documentação aqui), que infelizmente ainda não consegui coloca-la publicamente disponível, mas em breve o farei. Usando apenas uma simples função: wpas3api.getAuthors() tive a listagem dos autores do blog e suas informações. Como o RedeRIA usa algumas plugins para gerir thumbnails e informações os autores, tive que fazer uma pequena alteração no “core” do XMLRPC Server do wordpress para devolver mais alguns campos já que por defeito o wordpress apenas devolve nome, id e login de cada autor.

De resto, foi só compilar a aplicação para ambos os markets.

Para o Android (muitooooo facil) foi só compilar com o certificado de assinatura de código, pagar os 25 USD para poder publicar e enviar o arquivo apk (ficando a conta de imediato activa) junto com uma pequena descrição e algumas imagens.

Já a brincadeira para a compilação par iOS foi bem mais complicada… alem de termos que gerar alguns certificados, temos que registar os nossos “testing” devices na area de developer da apple, criar os certificados de aprovisionamento, de aplicação e device para depois poder compilar o .ipa final com todos estes certificados para finalmente podermos testar a nossa aplicação no nosso device com drag-n-drop directo para o itunes (+syncronização). Complicado não? pois piora quando querem publicar a aplicação na apple store, pois precisam de repetir todo este processo de certificados, voltar a compilar a aplicação para terem o ipa final.

Voltamos ao site developer.apple.com (ah, pequeno detalhe, aqui pagamos 99 USD por ano para poder publicar app’s e que estive 2 semanas à espera da activação manual já que deu um erro na automática), fazemos o login no iTunes Connect e preenchemos os dados para publicar a nossa aplicação até que chegamos ao ultimo passo que é o envio do nosso ipa para aprovação; Uma estranha notícia: Não têm um mac? não pode publicar na apple store! WTF???
Pois é, a única aplicação que permite o envio dos nossos ficheiros ipa para aprovação é o Application Loader que apenas têm uma versão para… MAC OS. Como no site não temos opção de fazer upload ficamos na mer**! Boa Apple!!

Resumindo, por enquanto menos uma app na apple store! (Engraçado que para pagar a anuidade pode ser feito até de um windows 95, agora publicar só com um MAC)

Seguem alguns screenshots da aplicação.

 

A aplicação foi bastante simples, não me demorou mais que umas horas a fazer e ficou bem agradavel, servindo como prova que o Flash Builder / Flex + AIR vieram para ficar na area do desenvolvimento mobile.

E você? ja testou algum projecto mobile feito em flex, e a aplicação RedeRIA Android, o que achou?

Abraço.

 

Sem Comentarios |Tags: , , , , ,

Qnap TS-210; Um tudo em 1!

Bom, de volta ao blog, venho falar de uma recente aquisição minha, o Qnap TS-210.

Este pequeno dispositivo além de um grande aliado na hora de backups também um gadget fantástico. Quando procurava por um substituto para o NAS (Network Attached Storage, leia-se disco de rede) aqui da empresa que queimou a carta de rede, dei de caras com os produtos da Qnap que vagamente me lembrava do nome de algum lado. Depois de ler um pouco sobre eles fiquei de boca aberta com as enumeras capacidades e acabei por recomendar a sua compra e fazer eu própria a compra de um.

Qnap TS-210, mas o que é?

É uma caixa externa para montagem de até 2 discos duros com possibilidade de disposição em RAID fisico para redundancia de dados no caso de falha de um dos discos.

Mas esta pequena caixinha, que até se poderia chamar de mágica, é muito mais que isso. Além de uma ligação de rede (duh) ela possuí um sistema operativo baseado em Linux com muitas caracteristicas que até podem substituir um pc em muitos casos, vou apenas enumerar algumas. Se o principal objectivo era arranjar um sistema fiavel de backups, quem compra um Qnap ganha mais, muito mais do que isso, veja o que por defeito o sistema inclui:

- Servidor Web, com suporte a PHP 5.x e Mysql (possibilidade de personalizar o php.ini)
- Servidor FTP
- Servidor RSync
- Servidor Multimedia DLNA / UPNP  (que permite com que as imagens/videos/audio possa ser lido por qualquer dispositivo com ou sem fios ligado à rede doméstica)
- Servidor de shoutcast/Stremming com suporte a playlists e reencode
- Servidor Squeezbox, permitindo controlar dispositivos logitech / compativeis DLNA permitindo por exemplo disponibilizar a libraria em players como o SqueezeBox Touch, o Boom ou o Radio podendo até controla-los remotamente. Isso, é possivel a partir do seu PC/Smartphone/TV na Sala iniciar uma musica e controlar o volume da mesma num Quarto ou Cozinha onde esteja instalado um dispositivo destes da logitech / DLNA. Permitindo montar sistemas de som ambiente en varios espaços, tal como o hardware sonos faz (compatível com o qnap também)
- Web File Manager
- Web & Mobile Media Server
- Servidores Replication, Itunes, Syslog, Radious, TFTP,  Backup & Webdav
- Possiu uma Download Station capaz de carregar torrents e links diretos para fazer o seu download incluindo a possibilidade de iniciar e gerir downloads remotamente. (já se tornou o meu cliente de torrents por defeito até porque foi baseado no utorrent)
- Capaz ainda de receber e gravar imagem e som de até duas camaras de vigilancia ligadas à rede.
- One-Touch USB Copy, permitindo, quando configurado, fazer backups de uma chave/disco usb para o QNAP ou do qnap para a chave/disco
- Suporta multi-utilizadores, contas e home folders.
- Antivirus, Print Server, USB Externo (2x), etc..
- E o mais fantastico, suporte a plugins onde podemos facilmente encontrar dezenas de outros serviços, linguagens, servidores e aplicações como: WordPress, sugarCRM, vTiger, tomcat, asterisk, Magento, Mono, eyeOS, iSat, GLPI, openLDAP, python, Joomla, xDove, PS3 Media Server, java, piwik e muito mais… além da lista estar sempre a crescer…

Podemos ainda gerir o nosso qnap via SSH. Conta também com leia mais »

Sem Comentarios

Adobe Air; LiveGuardian

Conforme tinha falado no artigo anterior, aqui vai a preview da aplicação.

Pode ver mais informações sobre este projeto no artigo que escrevi ontem. Clique aqui para o visitar.

Em breve disponibilizo o LiveStreamer, visto que ainda estou a terminar alguns detalhes visuais nele.

Abraço.

Sem Comentarios |Tags: , , , , , , ,

Red5; LiveStreamer & LiveGuardian

Olá a todos!

Estou de volta à ativa, depois de alguns tempos longe do blog, volto com mais algumas novidades em breve, principalmente sobre as minhas novas investidas no Java e no ColdFusion 9 que estou agora a conhecer, mas que já me está a surpreender positivamente em muitos pontos e negativamente em outros… mas deixo isso para outro artigo.

Venho aqui falar de 2 projetos que fiz ja a algmas semanas, tratam-se de 2 sistemas parecidos, mas com diferentes funcionalidades e de seus nomes LiveStreamer & LiveGuardian.

Vou falar-vos um pouco deles e mais à frente talvez coloque alguns screenshots e um video de seu funcionamento. Ambos partilham algumas características como a distribíção no desktop usando adobe AIR, necessidade de um servidor Red5 e ambos usarem captura de webcam.

O LiveStreamer foi uma variação do projeto LiveGuardian (veja em baixo) que consiste num simples sistema de captura de webcam & audio e envio para um servidor Red5 online. A principal caracteristica dele é que no caso de falha de internet ele não deixa de funcionar, simplesmente interrompe o stream, e fica a aguardar que a ligação à internet volte para iniciar novamente o stream.

O sistema pode também iniciar junto com o sistema operativo (windows) e de imediato iniciar o stream… caso seja configurado pode ainda fazer isto tudo em modo silencioso, ou seja, o utilizador nem dá conta que a aplicação está a correr. Util para quem não quer estar sempre a chatear-se com a minimização do mesmo.

O stream publico pode ser facilmente inserido em qualquer pagina, blog, aplicação web, desktop ou até mobile usando um player que suporte leitura de streams RTMP como no caso do JW player!

Podem desde já imaginar enumeras utilidades para este dispositivo, principalmente de colaboração, vigilancia à distancia, captura de ecra (usando um driver “webcam” de captura), etc..

Este foi um projeto super interessante, não pelo motivo de usar também red5, mas pelo desafio que apresentava. A principal função deste software é fazer sessões de gravação de video e audio (se configurado) para o computador local. A instalação do Red5 é feita localmente tal leia mais »

Sem Comentarios |Tags: , , , , , , ,

Dica Adobe Air – Drag & Drop Ficheiros + Pastas

O Adobe Air está cada vez mais evoluido, e no decorrer de um projeto que estou envolvido foi necessário criar uma area na minha aplicação que aceitasse o drag-n-drop de uma pasta da maquina do utilizador e que adicionasse os ficheiros que esta pode ter dentro. Nem todos os ficheiros seriam adicionados, apenas os ficheiros com as extensões que eu seriam apresentados na minha lista.

Bom, esta é uma questão que muita gente têm, como ler recursivamente o conteudo de uma pasta da maquina do utilizador?

Pois então, a solução é bem simples, segue o exemplo (não vou mostrar como fazer o drag-n-drop, mas apenas como lidar com a pasta que foi largada na nossa aplicação)

Na função onDrop, vamos buscar o arquivo (uma pasta é considerada como arquivo tambem) da area de “transferência” do evento(clipboard), para isso fazemos:

var arr:Array = evento.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;

onde o ‘evento’, é o nosso evento NativeDragEvent disparado pela area que recebeu o drop do arquivo/pasta.

Vamos agora buscar o arquivo e fazer o seu cast como File:

var arquivo:File = File(arr[0]);

Temos então o File que pode conter um arquivo individual ou então uma pasta, vamos então identificar qual deles é: leia mais »

Sem Comentarios |Tags: , , , , , , , , ,

Flash/Flex+PHP; Encriptação AES 256

Olá fieis leitores!!

Imagem: pt.fotolia.com

Deve ter reparado que tenho andado meio ausente, deve-se ao facto de andar com bastante trabalho e da minha pequena Luana estar cada vez mais crescida e não fica quieta :) Mas bom, não se pode ter tudo não é verdade??! Ela é Linda!!

Bom, venho aqui escrever este artigo devido a uma dúvida que me foi colocada no fórum (http://forum.msdevstudio.com) onde me era perguntado como implementar uma encriptação 512 bits usando a conhecida libraria as3crypto. (http://code.google.com/p/as3crypto/)

Apesar de achar esta libraria bem completa, também a acho demasiado complicada.. foi por isso que quando pensei em implementar uma solução destas no passado andei à procura de uma outra solução que não fizesse apenas a encriptação em Flex/As3, mas também que a mesma string pudesse ser desencriptada no PHP. Encontrei depois de algumas pesquisas uma implementação super interessante no blog (http://www.lostinactionscript.com) que faz precisamente isto. Ecriptação AES duas vias (Flex<->PHP) e posso afirmar que até hoje não encontrei qualquer problema usando este mesmo método, apesar de ter que usar uma biblioteca diferente no php.

No fórum, perguntavam-me como implementar encriptação 512 bits (não enumerava qual o algoritmo, no entanto sugeri o AES 256). Na minha humilde opinião, uma encriptação AES usando  256 bits é mais que suficiente visto que, caso não saibam, o AES é dos algoritmos mais seguros do mundo e que se bem implementado com as devidas preocupações com chaves, é teoricamente impossível de desencriptar. Este algoritmo é largamente conhecido e até usado para encriptar dados de documentos do Governo dos Estados Unidos.

Esta implementação no flex e no php é bem simples, basta fazerem o download do arquivo usado no site lostinactionscript.com (download aqui) e no nele (.zip) encontram a class/caminho:  AES/com/lia/crypto/AES.as. Esta class será a que vamos usar no Flex, para isso criem a mesma estrutura de pastas no vosso projeto flex e copiem esta class para lá. (com/lia/crypto/Aes.as).

No php, as classes para download podem ser encontradas aqui: http://www.movable-type.co.uk/scripts/aes-php.html (Devem criar dois ficheiros .php com o conteúdo apresentado nesse artigo. AesCtr.php e Aes.php)

Depois disto, basta no flex usar:

protected function encripta() :void {

var stringEncriptada:String = AES.encrypt(“Texto a encriptar”, “chave”, 256); //Usamos 256bits

}

E no php para desencriptar:

function desencripta() {

$stringDesencriptada = AesCtr::decrypt($stringEncriptada,”chave”, 256);

}

Para o processo inverso (encriptar no php e desencriptar no flex), temos no PHP:

function encripta() {

$stringEncriptada = AesCtr::encrypt(“Texto a encriptar”,”chave”,256);

}

e no Flex:

protected function desencripta():void {

var stringDesencriptada:String = AES.decrypt(stringEncriptada, “chave”, 256);

}

E pronto, temos o nosso sistema para encriptação / desencriptação em ambos os sentidos. Torna-se muito util quando têm que passar dados mais sensí­veis via AMF (zend, amfphp. weborb) já que ao enviar os dados cifrados tornasse muito mais seguro. Fica o aviso, este algoritmo é seguro o suficiente para grande partes das necessidades, mas não esqueça de usar uma chave segura visto que a segurança depende sempre da implementação. Não é o algoritmo que têm falhas, nós que que as causamos! :)

Bom, espero que tenha seja util nos vossos projetos.

Abraço.

Sem Comentarios |Tags: , , , , ,

Adobe Air; Comunicação visual via TV

Venho falar de um projecto que terminei em Janeiro, e que foi bem interessante de desenvolver visto que foram optadas algumas práticas de desenvolvimento focadas em display’s TV / LCD.

O projecto trata-se de o desenvolvimento de uma plataforma de comunicação visual para apresentação publica em Televisores. Com certeza já passou num aeroporto, hotel, ginásio e viu alguns LCD’s espalhados por lá com as mais diversas informações, principalmente nos aeroportos com as chegadas / partidas, pois então, o projecto focou-se no desenvolvimento de uma plataforma dessas em Adobe AIR (Flex 4) que pudesse facilmente ser administrada pelo cliente, mas também que fosse facilmente personalizada para poder ser distribuída por vários clientes.

O sistema baseou-se me duas aplicações, uma front-end para distribuição pelos clientes, apenas com controlo de chaves (Numero de série gerado pela administração) e que carregará toda uma playlist de vários módulos, bem como toda a skin (cores e logo). A segunda aplicação consiste numa area administrativa onde o cliente pode gerir a sua playlist, noticias, videos, animações, aniversariantes, noticias manuais, etc’s. Esta area administrativa também permite no caso do login de Super Administrador de gerir todos os clientes, skins e restantes informações.

As playlists são ilimitadas, pelo que podem criar uma playlist completa para o dia!

Todo o sistema do cliente, ao abrir-se  (na primeira apresentação pede a chave da aplicação) carrega todas as informações do servidor; Skin, playlist e logotipo e adapta-se em fullscreen ao ecrã. Dá-se então inicio ao processo de carregamento da playlists e seus elementos. Esta palylist consiste na apresentação de variados modulos e respectivas durações de apresentações.  (Vejam as imagens mais em baixo…)

Os módulos desenvolvidos foram os seguintes:

  • Noticias; Vários modulos de noticias de varias categorias, quer com fonte num Feed RSS  ou na base de dados (Inserção manual). Categorias: Actualidade, Mundo, economia, tecnologia, inovação, desporto, cultura, saúde, país.
  • Tempo; Previsão de tempo para o dia e próximos 3 dias com a possibilidade de 1 ou mais locais na area central, e com os display das temperaturas para todas as grandes cidades no topo;
  • Informação financeira; Bolsa de valores (cotações em tempo real) e Cambios.
  • Aniversariantes; Possibilidade de apresentar aniversariantes e suas fotos /departamentos na area central para os próximos 7 dias.
  • Animações / Publicidade; Possibilidade de colocar animações em formato SWF para display apenas na area central ou em fullscreen.
  • Videos / Publicidade; Apresentação de videos em streamming na area central ou em fullscreen.

As noticias na area central podem conter também fotografias vindas de um feed RSS ou da base de dados. A playlist pode ser organizada com varios destes elementos / módulos, e facilmente gerida via “drag&drop”.  O sistema ficou preparado para a qualquer hora poder criar um novo módulo e integra-lo na playlist; Novos módulos se adivinham como conferências, dicas, publicidade, classificações de jogos, programação de canais de televisão, etc’s…

O sistema ainda conta com auto-update para se actualizar sem necessidade de intervenção do administrador, tal como a própria aplicação procura actualizações de noticias, skins, imagens, videos, playlist de 15 em 15 minutos para que desta forma apresentar sempre conteúdo actualizado.

Se eu ao inicio tinha algumas duvidas se o consumo de memória e processador da aplicação no leia mais »

12 Comentarios |Tags: , , , , , , ,

Portugal; Distritos, Concelhos e Freguesias

Bom, tenho andado bem ocupado com alguns projectos pessoais que nem tenho tido muito tempo aqui para o blog, no entanto venho falar de algo que com certeza vai ser bem util para quem desenvolve aplicações web que usem algum recurso de geo-localização. Devido a uma troca de mensagens no GTalk, o responsável pelo projecto que estou a desenvolver perguntou-se se eu conseguiria arrajar uma lista de Distritos, Concelhos e Freguesias de Portugal Continental e Ilhas, foi entõ que parti à procura.

Estava de caras que não seria facil encontrar isto de mão beijada, pois então parti em busca de tal informação, encontrada em alguns sites de vendas de imóveis em Portugal, nas paginas amarelas e também em alguns documentos dos CTT.

Claro que não vou aqui informar a fonte dos dados, mas com cerca de 45 Linhas de código PHP consegui obter todos estes elementos de um Request JSON de uma destes sistemas, e eis o resultado:

3 Tabelas MYSQL prontinhas a usar: Distritos, Concelhos e Freguesias. Todos os dados estão relacionados entre si, com uma simples query SQL facilmente listamos as freguesias de determinado concelho de um determinado distrito / ilha.
Para resumo, este SQL contém:
- 18 Distritos ( + 11 Areas administrativas das Ilhas )
- 308 Concelhos
- 4.284 Freguesias

Claro que não vou distribuir aqui publicamente, no entanto posso fornecer estas tabelas caso me seja feito um pedido explicando a sua necessidade e também o objecto do seu uso. Por isso, se necessitar disto para um próximo projecto é só entrar em contacto aqui.

P.S. Este post serve também para provar que os http requests, mesmo em SSL, expõem muitos dados, e com um pouco de criatividade e algum trabalho conseguimos consumir todos os dados do serviço.

Abraço.

Edit: Corrigi o artigo, na realidade (seguindo a dica de um dos comentários aqui em baixo, não expliquei bem), os distritos são 18, no entanto contam-se ainda as areas administrativas das ilhas (+11).

11 Comentarios |Tags: