Criando uma API em poucos minutos em Node.js com STRAPI

Conteúdo

1 - Softwares necessários

Neste tutorial eu não pretendo cobrir como instalar os seguintes softwares que serão necessários:




2 - Primeiros passos

2.1 - Instalando o CLI

Para começar, vamos instalar o STRAPI globalmente

npm install strapi@alpha -g



2.2 - Iniciando o projeto

Assim que estiver finalizado, vamos criar um projeto novo com o nome "trivia"

strapi new trivia

Conforme a imagem acima, a sequencia de escolhas foi a seguinte:

  1. Choose your instalation type:
    • Custom (manual settings)
  2. Choose your main database
    • MongoDB
  3. Database name
    • trivia
  4. Host:
    • 127.0.0.1
  5. +srv connection
    • false
  6. Port (it will be ignored if you enable +srv)
    • 27017
  7. Username
    • vazio
  8. Password
    • vazio
  9. Authentication database (Maybe "admin" or blank)
    • vazio
  10. Enable SSL connection
    • false



2.3 - Rodando o servidor localmente

cd trivia;
strapi start;

Se tudo deu certo, abra seu navegador e entre em http://localhost:1337/admin




2.4 - Configurando o administrador

  1. Defina o "login" / apelido do seu usuário, que será usado para autenticação sempre
  2. Insira uma senha
  3. Confirme a senha
  4. Adicione um email para validar seu usuário
  5. Click em "ready to start" para finalizar a instalação



3 - Conhecendo a STRAPI

3.1 - Painél de Administração

Essa é a principal visualização do CMS STRAPI.
Nele existe um menu de navegação à esquerda onde encontraremos tudo que vamos precisar neste tutorial.




4 - Adicionando Tipos de Conteúdo

  • No painél de administração, no menu à esquerda, click em "Content Type Builder"


  • Em "Content Type Builder" (imagem abaixo), click em "Add Content Type" no canto superior direito




  • Uma modal irá aparecer, requisitando que dê um nome ao seu novo "Content Type"
  • Feito isso, click em "Save"




  • A tela vai mudar, a modal vai sumir e agora click em "Add new Field"




  • Uma extensa lista com tipos de campos vai aparecer. Para este tutorial, vou abordar inicialmente campos do tipo "String" e "Text"
  • Click em "String"




  • Na nova janela, coloque como nome do campo "trivia"
  • E depois na aba "Advanced Settings"




  • Na nova aba, marque:
    • "Required Field"
    • "Unique Field"
    • Minimum Length
      • 5
  • Click em "+ Add new field"




  • Voltamos a tela de tipos de campos, click em "Text"




  • Na nova janela, coloque como nome do campo "descricao"
  • E depois na aba "Advanced Settings"




  • Na nova aba, marque:
    • "Display as a WYSIWYG"
  • Click em "Continue"




  • Agora que temos dois campos para o nosso tipo de conteúdo, click em "Save" no canto superior direito.




5 - Adicionando Conteúdo

Agora que temos um tipo de conteúdo "Trivia", podemos clicar no menu esquerdo em "Trivias", primeira opção em baixo de "Content Types"



  • Após entrar no menu de Trivias, click em "Add new Trivia" no canto superior direito




  • Dê um nome e uma descrição à sua nova entrada e click em "Save" no canto superior direito




6 - Permissões da API

6.1 - Dando/Removendo permissões

Agora que temos um tipo de conteúdo "Trivia", podemos clicar no menu esquerdo em "Roles & Permissions", na seção de "Plugins"



  • Na seção de "Roles & Permissions", na lista de tipos de usuários, click no ícone de lápis, na direita, na linha do tipo "Public"




  • Do meio da tela para baixo, na zona de "Permissions", existe uma lista de check-boxes para o tipo de conteúdo "Trivia", marque:
    • find
    • findone
  • Click em "Save" no campo superior direito da tela




6.2 - Testando permissões

Se você seguiu os passos das seções:







7 - Bônus!

7.1 - Suporte à outras linguas

Zuntini, você está de sacanagem que você me fez seguir o tutorial todo em inglês quando havia uma opção para traduzir o painél todo para português!
Sim, fiz!
Uma vez que o que vou mostrar a seguir só funciona para a interface e não para os plugins ou para todas as partes do sistema, preferi usar a interface em inglês para o tutorial ;p



  • No menu lateral esquerdo, opção "Configuration", na aba "Language", existem algumas das linguas que podem ser usada para grande parte do sistema
  • Mas no canto superior direito, ao lado do nome do seu usuário (no meu caso, felipe), existe uma bandeira, click nela e selecione pt-br




  • Deixando assim a bandeira verde e amarela selecionada e grande parte da interface em nossa língua maravilhosa




7.2 - Documentação

No menu lateral esquerdo, na opção "Marketplace" é possível encontrar vários plugins legais para a STRAPI



  • Um deles é o plugin de documentação, que gera uma documentação no visual SWAGGER, que pode ou não ser aberta (dá para colocar senha) - mas que não pretendo me aprofundar muito