Skip to content

Latest commit

 

History

History
98 lines (71 loc) · 4.9 KB

README.md

File metadata and controls

98 lines (71 loc) · 4.9 KB

Kobana project

Ruby on Rails CI GitHub Tag Static Badge Static Badge GitHub repo size GitHub issues GitHub closed issues GitHub closed pull requests

Screenshots ou GIFs

Image

O projeto consiste em uma aplicação Ruby on Rails que realiza a integração direta com rotas de API da Kobana em um ambiente de Sandbox, para a gestão de boletos, abrangendo funcionalidades como criação, listagem atualização e cancelamento.

Stack utilizada

Front-end: TailwindCSS

Back-end: Ruby 3.2.2, Rails 7.1.3.2

Database: Não utilizado

Rodando localmente

  1. Clone o projeto
  git clone https://github.com/PhilipeeX/kobana_project
  1. Entre no diretório do projeto
  cd kobana_project
  1. Instale as dependencias
  bundle install
  npm install flowbite
  1. Configure sua credencial em um arquivo .env na raiz do projeto:
  KOBANA_ACCESS_TOKEN=
  1. Execute a aplicação através do foreman
  ./bin/dev

Acesse a aplicação em localhost porta 3000

Rodando os testes

image

Pipeline de ci/cd no link abaixo

GithubActions

Setups e deploys

Rubyonrails.yml

  • Verifica a qualidade do código usando linters como rubocop.

Atribuições

Tip

  • Não é necessário ter sistema de login/autenticação.
  • O form de criação poderá ter somente os campos obrigatórios da API
  • A integração entre o projeto e a API pode ser feita tanto usando a gem oficial publicada, quanto códigos novos feitos por você.
    > Pull Request

Tip

  • Deverá ter algum CSS/JavaScript deixando as telas bonitinhas.
    > Pull Request

Tip

Essas seriam as próximas tarefas:

  • Responder ao webhook da rota de atualização de boleto com status referente.
  • Implementar as requisições da API via gem boleto_simples.
  • Configurar cache para não atingir limite das requisições.
  • Implementar funcionalidade que permite exibir o boleto para o usuário.
  • Implementar os teste no pipeline de CI/CD.
  • Executar a aplicação em um contêiner Docker com docker-compose.
  • Board das tarefas

Observações e destaques

  • Minha principal dificuldade tem sido ajustar a resposta ao webhook de atualização de boleto. Num primeiro momento, consegui receber o webhook com o "ping", mas, por alguma razão, não estou mais recebendo. Idealmente, se houvesse mais tempo, me dedicaria mais pra melhorar meu entendimento na documentação da API.
  • Acredito que seja importante informar que tentei utilizar a gem boleto_simples, porém enfrentei alguns erros e na documentação da API versão 1 a requisição exemplo é: BoletoSimples::Extra.userinfo ao tentar realizar a requisição recebo uninitialized constant BoletoSimples::Extra então pra não perder mt tempo decidi não seguir por esse caminho, com certeza com mais tempo iria tentar implementar a gem e também configurar o cache para não atingir o limite de requisições.

Github Workflow

O fluxo de trabalho e como as tarefas foram desenvolvidas pode ser acessado em:
Board das tarefas

Apêndice

Author: Philipe Rodrigues ([email protected])

Voltar ao topo