Ride2Provide Website - Development Overview
15 de julho de 2024
Durante o meu tempo trabalhando com a Stack Five, A Mission Without Borders, organização sem fins lucrativos por trás deste projeto, entrou em contato conosco buscando desenvolver um site para sua nova campanha, Ride2Provide. O pedido deles incluía a construção de um site que também pudesse servir como modelo para as futuras campanhas que eles executariam, já que o Ride2Provide estava programada para ser uma campanha anual com duração de um mês.
Abordagem
O cliente não tinha uma opinião muito forte sobre o design e o desenvolvimento do site, no entanto, havia duas solicitações principais que eles consideravam absolutamente necessárias: 1) ter um formulário de doação incorporado para que os usuários pudessem receber doações diretamente por meio de sua página de perfil e 2) ter uma maneira de rastrear a quilometragem dos passeios de bicicleta de um usuário.
Na busca por uma plataforma de doação apropriada para todos os nossos propósitos, encontramos a Donately, que permitiu uma conexão direta com o Stripe para receber pagamentos e forneceu um componente de formulário incorporável que conseguimos embutir facilmente diretamente em nosso site por meio de um iframe.
Por meio da Donately, também conseguimos acompanhar quantas doações um usuário específico recebeu, o que nos permitiu adicionar um pouco de "gamificação" por meio de um pequeno recurso de termômetro (mostrando o progresso das doações recebidas pelo usuário) no perfil de um usuário registrado.
Quando se tratava de rastrear a quilometragem do usuário, usamos as APIs do Strava. Ao permitir que os usuários conectassem seus perfis à conta do Strava, conseguimos receber muitas informações úteis que nos permitiram decorar ainda mais a página do perfil, como mapear passeios de bicicleta por meio de dados do Strava e do Mapbox, além de adicionar um indicador de progresso de quilometragem.
A parte mais desafiadora do trabalho veio com a implementação do back end e as integrações de API. Havia uma conexão bidirecional que precisava ser gerenciada, especialmente durante o fluxo de inscrição, para garantir que tudo funcionasse como deveria. As contas de usuário eram gerenciadas diretamente pelo Firebase, mas o fluxo de inscrição usando o Firebase foi estendido ainda mais pela Donately, pois um usuário também precisava ser criado na plataforma. Essa experiência de inscrição conectada foi necessária para que pudéssemos criar um formulário de doação individual do usuário e ter um ID da Donately gerado para o usuário para que suas doações pudessem ser referenciadas por meio das APIs.
O tratamento adequado de erros nessa área era essencial; qualquer transação com falha exigiria uma reversão completa de quaisquer dados criados (por exemplo, os usuários poderiam ser potencialmente bloqueados de se inscrever novamente ou bloqueados de ter um formulário de doação caso seu email tivesse sido registrado com sucesso, mas uma falha tivesse ocorrido com a Donately). Eu queria manter a necessidade por intervenção manual do nosso cliente em um mínimo absoluto, e acho que o resultado final refletiu nossos objetivos muito bem
O projeto era bem simples, mas veio com seu próprio conjunto de desafios. É sempre um prazer poder trabalhar com organizações sem fins lucrativos para construir um produto com impacto, e ainda mais gratificante ver tudo em movimento e as interações que vêm disso.