Rent for All
Tecnologias Empregadas
Ruby on Rails
Javascript
HTML/CSS
Bootstrap
PostgreSQL
Git
Cloudinary
Descrição
O Rent For All é um marketplace focado no aluguel pontual de itens. Desenvolvido principalmente com Ruby on Rails, o projeto surgiu da necessidade identificada de alugar artigos por períodos específicos. A plataforma permite que os usuários anunciem, busquem e aluguem itens de diferentes categorias.
Para melhorar a experiência do usuário, integramos a API Cloudinary, facilitando o upload e armazenamento de fotos dos produtos. Além disso, com o auxílio da Gem Pundit, implementamos políticas de autorização, permitindo diferentes níveis de acesso e funcionalidades dependendo do tipo de usuário. (Veja o código).
Principais Desafios:
Primeiro versionamento em grupo: Trabalhar em equipe em um ambiente de versionamento foi uma das tarefas mais desafiadoras. Aprender a resolver conflitos de merge, estabelecer uma boa comunicação sobre alterações e manter uma organização de branches foram fundamentais para garantir o bom andamento do projeto.
Projeto autônomo em bootcamp: Sem um roteiro definido ou um guia passo a passo, o grupo foi lançado no desafio de criar algo totalmente do zero. Isso envolveu a concepção da ideia, estudos de viabilidade, prototipação e finalmente, desenvolvimento. Além disso, gerenciar o tempo foi crucial, já que havia apenas uma semana para mover-se da ideia à implementação.
Implementação de APIs: Integrar APIs externas, como Cloudinary, ao nosso projeto foi um aprendizado tanto técnico quanto conceitual. Lidar com documentações extensas e adaptar essa integração às nossas necessidades exigiu paciência e persistência.
Definição de escopo: Com tantas ideias e funcionalidades em mente, uma das dificuldades foi definir o que seria realmente viável implementar no curto período disponível. Isso exigiu do grupo priorizar funcionalidades e tomar decisões estratégicas sobre o que seria essencial para o MVP (Produto Mínimo Viável).
Testes e depuração: Garantir que todas as funcionalidades funcionassem conforme o esperado foi um desafio. O grupo teve que dedicar um tempo significativo para testar, identificar bugs e depurar o código para assegurar uma boa experiência ao usuário final.
Integração frontend e backend: Garantir que a interface visual se integrasse perfeitamente com as funcionalidades do backend foi crucial. O grupo enfrentou desafios ao sincronizar estilos, scripts e dados, garantindo que tudo funcionasse de forma coesa.
Adaptação à nova tecnologia: Embora familiarizados com algumas das tecnologias, houve elementos e ferramentas que o grupo teve que aprender "on the go". Isso significou muita pesquisa, testes e aprendizado acelerado para se adaptar às demandas do projeto.
Feedbacks e iterações: Após a apresentação inicial do projeto, receber feedbacks e realizar ajustes rápidos foi um desafio. A equipe teve que ser ágil em identificar áreas de melhoria e implementar mudanças em um curto espaço de tempo.
Decisões de design UX/UI: Criar uma experiência de usuário intuitiva e visualmente agradável foi essencial. O grupo enfrentou decisões sobre layouts, fluxos de usuário e design responsivo, garantindo que o aplicativo fosse acessível em diferentes dispositivos.