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.

Screenshots: