Amaterasu é um dos deuses presentes na mitologia japonesa, outro fato que me levou a escolher este nome foi uma das habilidades especial de um personagem no anime Naruto.

Objetivo

Esta api tem um objetivo estremamente claro dentro da aplicação, ela foi escrita para gerir uma camada entre o extrato gerado pela VISA em tempo real, e a aplicação final do cliente. Era necessário que toda transação realizada dentro de um contexto especifico fosse tratada de uma maneira “especial”, exemplo: Uma compra de um grupo especifico / pré-definido deveria gerar pontos baseando-se em tal evento.


Porque AMATERASU?

Neste caso o nome é puramente estético, e o utilizei para batismo por conta de uma habilidade de personagens do anime Naruto (do qual sou um bocado fã), mas sei também que existe conexão com a mitologia oriental.


Tecnologias

Está api é escrita em Ruby, e utiliza quase que completamente uma gema chamada Shouryuken para executar seus serviços. A gema Shouryuken se conecta com uma fila de dados recebidos pelo serviço SQS da Amazon, e os absorve para dentro do banco de dados, para que posteriormente sejam consumidos pelas APIs que alimentam os aplicativos legados, podendo então exibir o extrato atualizado, a contagem de pontos, ou até mesmo as operações que podem ser realizadas naquele dia (com seu custo atualizado).



Github: Não disponível

API integradora escrita em Node.js, serve para gerir usuários, imagens das quais aplicações dependem, conexões com banco de dados, etc.

A API serve para integrar os serviços principais das quais os apps dependem, como realizar consultas a banco de dados, se conectar a outros serviços (como por exemplo o S3), gerir usuários e níveis de acesso, dentre outras coisas.


Objetivo

Criar esta API backend tem como objetivo principal separar adequadamente minhas camadas e serviços, com a criação da CYANO para cuidar do frontend, não seria adequado incorporar no projeto toda a camada de backend, até funcionaria se fosse feito mas não ficaria devidamente modularizado, e posteriores substituições ou atualizações de recursos e tecnologias (bem como o próprio deploy da aplicação) teriam grandes chances de se converter em dor de cabeça com o avanço do projeto.


Porque ATLAS?

Na mitologia grega ATLAS é um dos titãs que carrega o mundo, esta API por sua vez tem uma responsabilidade parecida na estrutura que estou dos serviços que estou montando aqui. O ATLAS se conectará com o frontend do domínio principal, e com front-ends como Android, iOS e outros que podem vir.


Tecnologias

O ATLAS é escrito em Node.js, e possui algumas dependências que podem ser consultadas no repositório da aplicação, bem como FS, MySQL, JWT, e PASSPORT (para autenticações).


Estrutura

Nada é muito complexo aqui, a estrutura da ATLAS é quase que totalmente baseada no modelo REST, e a maior parte das chamadas retornam um JSON com a informação requisitada. O amadurecimento da mesma é mais focado em rotas, porque a medida que mais apps forem incorporados no sistema, novas rotas irão surgindo para alimentar a demanda de protótipos.



Github: https://github.com/jhonattas/atlas

Estrutura

O que existe por trás.

Este post basicamente é uma briga minha comigo mesmo, parte de mim esta lutando para convergir de maneira saudável muita coisa que vim aprendendo e acumulando, de que vale algo que eu sei se isto por sua vez já não é usado para nada? Ok que nada neste caso foi muito exagerado, mas preciso mudar algumas coisas que vinham me deprimindo com frequência em decorrência dos últimos 3 anos.

Me esforcei muito para aprender algumas tecnologias das quais eu dependia para trabalhos que executei, e que por sua vez eu também possuia muita curiosidade e vontade de dominar. Cheguei a trabalhar em projetos paralelos, mas passei a maior parte do tempo dentro de empresas, as vezes abrindo mão de tempo livre meu (e que provávelmente passaria investindo em projetos próprios) para aprimorar habilidades e soluções que eu cuidava nas mesmas. Admito que me orgulho de ter evoluído muitas skills como desenvolvedor, mas isso (também por descuido próprio) me deixou sem nenhum recurso público meu.

Fica bem difícil bater no peito que você é um desenvolvedor, e que conhece um monte de tecnologias, que domina Android, iOS, que é um Full Stack super foda, administra servidores… Quando você não tem um site para mostrar, quando você não possui aplicativos relevantes, quando você sequer teve muito tempo de participar da comunidade… Ainda que não seja verdade, você fica parecendo uma fraude, posso ser muitas coisas mas sei que não sou isso, logo com este pensamento em mente de organizar os pontos dessa jornada que venho vivendo e dos próximos passos que virão, estou voltando ativamente ao meu projeto pessoal: o Sou Criador.
Compilando um pouco de tudo que construi, e explicando algumas das decisões envolvidas no processo (quando for o caso).