Reinvente seu guarda-roupa com o Bazine

Após um mês de intenso trabalho, perdendo algumas madrugadas e finais de semana, venho aqui anunciar o lançamento de mais um projeto pessoal. Colocamos no ar (o parceiro Bruno Neves e eu) no final da última semana o Bazine, comunidade on line dedicada a brechós virtuais e seus fãs.

Objetivo do Bazine

Como dito acima, pretendemos ser o local apropriado para que donos de brechós físicos e on line se encontrem com seus fãs. Para isso, criamos uma ferramenta de fácil utilização, onde o dono do brechó poderá adicionar produtos, caprichar em suas descrições e enviar por upload belas imagens. Além disso, o brechozeiro ganha uma URL única no site, funcionando como sua loja exclusiva. Em breve, teremos diversas customizações disponíveis para quem assinar o Plano Profissional.

Fase atual

Ainda estamos em fase beta, entendendo como funciona o mercado de brechós e como as pessoas consomem esses produtos. Já temos diversas funcionalidades planejadas em nosso Road Map, e esperamos que no início de 2012 possamos lançar a versão 1.0 do projeto.

Onde queremos chegar ?

Esperamos que o Bazine seja a principal plataforma quando alguém pensar em brechós on line. Para isso, sabemos que existe uma longa trajetória de desenvolvimento de funcionalidades focada no brechozeiro e de exposição de seus produtos. Estamos dedicados em oferecer a melhor plataforma possível para que a interação entre vendedores e compradores seja a mais harmônica possível.

Desenvolvimento em ambiente local com Omniauth e Facebook

Faz tempo que não publico nada técnico, não é ? Pois lá vai uma dica rápida porém bastante útil para quem não desenvolve mais módulo de autenticação em seus sistemas. Faz tempo que a maioria dos meus projetos pessoais utiliza o Facebook como sistema de autenticação. E essa facilidade foi possibilitada pela utilização da gem Omniauth. Entretanto, como o Facebook não possui Sandbox, era muito chato ter que ficar alterando a URL de retorno da Facebook App a todo momento que eu queria fazer alterações locais.  Além disso, não é nada inteligente fazer isso.

A solução

Tirei algumas horas pra pensar e seguei a seguinte solução:

1) Crio uma aplicação nova no Facebook, com a minha url de ambiente local setada;
2) Adiciono a seguinte linha no initializar do Omniauth:

if Rails.env == 'development'
  provider :facebook, 'xxxxxxxx', 'xxxxxxxxxxxxxxxxxxxxxxxx', :setup => true
else
  provider :facebook, 'yyyyyyyy', 'yyyyyyyyyyyyyyyyyyyyyyyy', :setup => true
end

Acredito que tenha demorado a chegar nessa solução pela inexperiência em fazer integrações. Mas é vivendo que se aprende, não é mesmo ? Até a próxima!

Mais um projeto no ar e os novos desafios

Uma das coisas mais prazerosas dessa profissão de desenvolvedor web é que durante nossa vida iniciamos e concluímos muitos ciclos, traduzidos aí em projetos. A história até parece ser repetitiva e seguir um modelo típico, onde o início é bem motivador (a fase do desconhecido), o caminho é árduo e cheio de percalços e o final geralmente é gratificante e prazeroso. Embora haja essa tal “repetição” do modelo, não há nada de sacal no processo, pois cada projeto é tecnicamente  diferente um do outro, sendo este fator determinante para sempre eu estar me renovando tecnicamente durantes os projetos que aparecem.

O projeto

Nos últimos 5 meses de 2010 estive envolvido em um projeto onde utilizamos Ruby on Rails como tecnologia principal. É claro que Rails foi apenas uma, pois a aplicação é bastante complexa e ampla, então utilizamos tudo que há de melhor possível para promover agilidade e facilidade de uso ao nosso usuário. Célula Z é um produto criado e direcionado a pequenos e micro negócios, além de profissionais liberais que queiram divulgar seus negócios assim como interagir e aumentar seu networking com outras pessoas.

Os desafios

Como disse anteriormente, esta foi uma aplicação repleta de desafios. As partes que fiquei responsável possuíam muitas interações em AJAX, além de grandes consultas ao banco de dados. Então, como Javascript nunca foi meu forte, tive que correr atrás do prejuízo e estudar mais para conseguir alcançar os resultados. Também precisei estudar mais banco de dados para fazer algumas otimizações de SQL e ainda utilizei o  Memcached para liberar a carga do banco e melhorar a performance da aplicação.

Conclusão

Virar a página e finalizar um projeto com sucesso é sempre bom: é a chance de ser reconhecido pelo trabalho realizado e ainda ter futuras  oportunidades de novos negócios. É também o momento de sintetizar um ciclo que termina, fixar o conhecimento adquirido, e mais do que nunca, compartilhá-lo. Afinal, quem ensina, aprende duas vezes.