2

API PicPay desenvolvida em Kotlin 💶💸💲

#Kotlin #Spring Boot
Francisco Rasia
Francisco Rasia

O Kotlin brilha no desenvolvimento Android, mas isso não quer dizer que essa linguagem fantástica não possa ser também utilizada para soluções de back-end.

Nas últimas semanas eu encarei um desafio gigantesco: desenvolver o clone da API do PicPay em Kotlin.

Esse projeto é o tema de um dos módulos do DIO Labs, onde ele é desenvolvido em Java.

Mas eu decidi deixar as coisas ainda mais difíceis para mim mesmo e fazer em Kotlin. Não foi um processo tão linear como eu imaginava no início - não se trata de simplesmente traduzir o projeto classe a classe do Java para o Kotlin. O processo foi (e está sendo) repleto de idas e vindas e paradas para estudo e pesquisa.

Ah, uma coisa importante: não fiz nenhuma modificação no app do PicPay! Em outras palavras: adaptei a API às necessidades do app e não o contrário.

Resumindo, a minha versão da API do PicPay envolve as seguintes tecnologias:

  • 100% Kotlin
  • Springboot
  • Spring data JDBC
  • Jpa e Hibernate
  • PostgreSQL
  • Database H2 para testes
  • Documentação da API com Swagger
  • Organizado conforme princípios de Clean Architecture


Veja a API em ação nesse vídeo do projeto no youtube.


💻Repositório no GitHub: https://github.com/chicorasia/picpayclone-kt-v2

💻App que consome a API: https://github.com/chicorasia/picpayclonekt-app


pgAdmin screenshot with overlaid app


Curtiu? Ficou curioso ou curiosa? Quer aprender mais sobre Kotlin com Spring no back-end? Deixe seu comentário aqui no artigo!


📷

Photo by Louis Tsai on Unsplash

2
24

Comentários (7)

0
Isaias Bueno

Isaias Bueno

15/05/2021 21:06

Eu apoio 100% uma série de vídeos sobre esse assunto no seu canal, faço questão de divulgar pros meus contatos assim que estiver no ar.

0
Ana Guerra

Ana Guerra

15/05/2021 13:52

Sensacional chico! Muito legal, estuou bastante para fazer a API em Kotlin, parabéns. 🚀🚀😄

1
Francisco Rasia

Francisco Rasia

15/05/2021 07:03

Olá Anna, Isaias, Edson.

Obrigado!

Eu não cheguei a gravar o desenvolvimento da API - como eu comentei no artigo, o processo foi bem complicado, cheio de idas e vindas. Na verdade, eu acabei desenvolvendo a API duas vezes - na primeira vez, tentei seguir as aulas do Labs e fazer a tradução para o Kotlin classe a classe. Consegui chegar bem longe mas não consegui colocar a API para funcionar no final.

Então eu decidi mudar minha abordagem: suspendi o desenvolvimento da API e segui o tutorial do app. Baixei a API em Java do repositório do Cícero e desenvolvi o app, conectando com a API. Imaginei que, se eu compreendesse bem as interações entre o app e a API teria uma chance melhor de sucesso na API em Kotlin.

Nesse meio tempo, li vários artigos e fiz vários tutoriais sobre Springboot com Kotlin, para entender melhor o framework (Spring era minha nêmesis).

Com o app funcional eu comecei uma nova API do zero, usando uma organização diferente (mais parecida com os projetos que vi no kotlinlang e baeldung); depois de montar a estrutura geral da API eu comecei a recriar os endpoints, usando a API em Java como referência e aproveitando uma ou outra classe que eu tinha criado para a primera versão da API em Kotlin. O último passo foi integrar a API com o servidor PostgreSQL - isso foi mais fácil do que eu imaginava.

Ao longo do processo aprendi muito sobre Spring, JPA e REST e até mesmo coisas simples, como usar o Postman para criar objetos no servidor e testar as requisições.

Vendo o interesse que o assunto gerou aqui na plataforma (foi meu artigo com mais visualizações e comentários) eu acho que vale a pena produzir uma série de vídeos para o canal 😉..

Abraços e ótimos estudos.


Chico


0
William Lopes

William Lopes

15/05/2021 08:30

Parabéns pelo projeto, ficou sensacional, excelente conteúdo!

1
Ana Guerra

Ana Guerra

14/05/2021 16:45

Olha chico, meus parabéns! 🚀😊


Uma dúvida, você gravou o desenvolvimento dessa API para o seu canal no Youtube?


Nossa, ficou muito legal!!! Parabéns, de verdade. Eu já dizia, quando crescer quero ser igual a você! kkkk


Muito bacana, obrigada por compartilhar, já fiz o famoso fork para estudar logo quando terminar banco de dados.

1
Isaias Bueno

Isaias Bueno

14/05/2021 16:57

Vou conferir seu projeto! Muito obrigado pelo excelente conteúdo!

0
Edson Kokado

Edson Kokado

14/05/2021 21:14

Meus parabéns pela iniciativa. Obrigado por compartilhar e achei o máximo.

Arquiteto, urbanista, desenvolvedor Java & Android e criador em chefe na chicorialabs.com.br

Brasil