<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Erivelton da Silva</title>
    <description>The latest articles on DEV Community by Erivelton da Silva (@eriveltondasilva).</description>
    <link>https://dev.to/eriveltondasilva</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1076225%2Fbe8b8f8a-679f-4402-99a5-dc6b567008a9.jpeg</url>
      <title>DEV Community: Erivelton da Silva</title>
      <link>https://dev.to/eriveltondasilva</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eriveltondasilva"/>
    <language>en</language>
    <item>
      <title>Comece API Node.js por aqui</title>
      <dc:creator>Erivelton da Silva</dc:creator>
      <pubDate>Fri, 22 Mar 2024 08:01:06 +0000</pubDate>
      <link>https://dev.to/eriveltondasilva/comece-api-nodejs-por-aqui-3k5k</link>
      <guid>https://dev.to/eriveltondasilva/comece-api-nodejs-por-aqui-3k5k</guid>
      <description>&lt;p&gt;Olá, vcs&lt;/p&gt;

&lt;p&gt;Estou aprendendo a utilizar Node.js, e é fantástico usar a linguagem do meu frontend ReactJS também no backend. Depois de muito estudar as melhores práticas, acredito que tenha encontrado uma forma muito organizada e atualizada para se construir uma API Node.js, dentre as outras mil formas.&lt;/p&gt;

&lt;p&gt;Neste projeto, por procurar ser o mais simples possível, evitei usar POO e por isso não utilizei também TypeScript, pois a minha intenção com ele é servir de referência para aqueles que estão começando a desbravar o backend js e se perdem com o tanto de informações dispersas que existem por aí ou com a falta de informações atualizadas. Minha pretensão com este projeto é ser um simples ponto de partida para nós, iniciantes em backend Node.js.&lt;/p&gt;

&lt;p&gt;Qualquer sugestão, será muito bem aceita. Grato a todos que leram e/ou me ajudaram a evoluir com alguma sugestão🙏.&lt;/p&gt;

&lt;p&gt;Minha solução para uma API Node.js:&lt;br&gt;
&lt;a href="https://github.com/eriveltondasilva/my-nodejs-api"&gt;https://github.com/eriveltondasilva/my-nodejs-api&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>node</category>
      <category>express</category>
    </item>
    <item>
      <title>Minha Primeira API Em Nodejs</title>
      <dc:creator>Erivelton da Silva</dc:creator>
      <pubDate>Sat, 17 Feb 2024 09:36:40 +0000</pubDate>
      <link>https://dev.to/eriveltondasilva/minha-primeira-api-em-nodejs-53h</link>
      <guid>https://dev.to/eriveltondasilva/minha-primeira-api-em-nodejs-53h</guid>
      <description>&lt;p&gt;Olá, devs&lt;br&gt;
Recentemente, desenvolvi uma API utilizando Node.js para gerenciamento de tarefas (to-dos). Esta API oferece autenticação segura, garantindo a proteção dos dados dos usuários, e operações CRUD (Create, Read, Update, Delete) para manipulação das tarefas, tudo isso utilizando TypeScript e Express.js. Também foi adotado Orientação a Objetos para tornar o projeto escalável e obtendo assim todas as vantagens que traz esse paradigma.&lt;/p&gt;

&lt;h3&gt;
  
  
  Estrutura de pastas:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsozy6yi41tirnw3iho7y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsozy6yi41tirnw3iho7y.png" alt="estrutura de pasta do projeto" width="321" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Documentação da API de To-Dos:
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Autenticação
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;POST /api/auth/register: Registra um novo usuário na aplicação.&lt;/li&gt;
&lt;li&gt;POST /api/auth/login: Autentica um usuário existente.&lt;/li&gt;
&lt;li&gt;POST /api/auth/logout: Descola o atual usuário, expluindo os tokens.&lt;/li&gt;
&lt;li&gt;POST /api/auth/token-refresh: gera um novo token de acesso para manter o usuário autenticado.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Endpoints de To-Dos
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;GET /api/tasks: Lista todas as tarefas do usuário autenticado.&lt;/li&gt;
&lt;li&gt;POST /api/tasks: Adiciona uma nova tarefa para o usuário autenticado.&lt;/li&gt;
&lt;li&gt;DELETE /api/tasks: Remove tarefas existentes do usuário autenticado.&lt;/li&gt;
&lt;li&gt;GET /api/tasks/id: Exibe uma tarefa existente do usuário autenticado.&lt;/li&gt;
&lt;li&gt;PUT /api/tasks/id: Atualiza uma tarefa existente do usuário autenticado.&lt;/li&gt;
&lt;li&gt;DELETE /api/tasks/id: Remove uma tarefa existente do usuário autenticado.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Recursos Principais da api:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Autenticação Segura: Implementei um sistema de autenticação utilizando JWT (JSON Web Tokens), garantindo que apenas usuários autorizados possam acessar e manipular suas tarefas, juntamente com criptografia de senha com a lib Bcrypt.&lt;/li&gt;
&lt;li&gt;Operações CRUD: A API oferece as operações básicas de criação, leitura, atualização e exclusão de tarefas, permitindo aos usuários gerenciar sua lista de afazeres intuitivamente.&lt;/li&gt;
&lt;li&gt;Endpoints Claros e Documentados: Todos os endpoints da API estão bem definidos e documentados, facilitando sua integração com diferentes clientes front-end e simplificando o processo de desenvolvimento.&lt;/li&gt;
&lt;li&gt;Segurança e Validação de Dados: Utilizei técnicas de validação de dados para garantir a integridade das informações e prevenir possíveis ataques de segurança, como injeção de SQL, XSS (Cross-Site Scripting) e validação através da lib express-validator.&lt;/li&gt;
&lt;li&gt;Persistência de Dados: Os dados das tarefas são armazenados de forma segura em um banco de dados SQLite, através do ORM prisma, garantindo alta disponibilidade e escalabilidade conforme a demanda aumente.&lt;/li&gt;
&lt;li&gt;Deploy: Utilizei a vercel para o processo de deploy da API, garantindo uma implantação rápida e eficiente.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Acesse: &lt;a href="https://github.com/eriveltondasilva/todo-app.server"&gt;https://github.com/eriveltondasilva/todo-app.server&lt;/a&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>api</category>
      <category>prisma</category>
      <category>backend</category>
    </item>
  </channel>
</rss>
