Guarapi - Framework Brasileiro
Tags: node, javascript, webdev, opensource
Published: 2023-08-29 02:48:43

## Guarapi - Framework Brasileiro

Descubra o Guarapi, um framework revolucionário para desenvolvimento web em Node.js. Neste artigo, mergulhamos fundo no estágio atual de desenvolvimento do Guarapi, explorando funcionalidades emocionantes e oportunidades de colaboração. Acompanhe o progresso deste projeto de código aberto e saiba como fazer parte dessa jornada.

**Repositório no GitHub**: [Guarapi GitHub Repository](https://github.com/joaoneto/guarapi)

## Exemplo

```ts
import { IncomingMessage, ServerResponse } from "http";
import guarapi, { middleware, logger } from "guarapi";

const app = guarapi();

app.plugin(middleware);
app.plugin(logger);

app.use(async (req, res, next) => {
	app.logger("info", "My debug msg");
	next();
});

app.use(async (req: IncomingMessage, res: ServerResponse) => {
	res.end("ok");
});

app.listen(3000, "0.0.0.0", () => {
	console.log("> Running: http://localhost:3000");
});

```

O código de exemplo demonstra a estrutura básica de um aplicativo Guarapi. Vamos dar uma olhada nos principais componentes:

- **Imports**: O código começa importando os módulos `http` e o próprio `guarapi`. Ele também importa os módulos de middleware e logger.

- **Criação de uma instância Guarapi**: O código cria uma instância do Guarapi chamada `app`.

- **Adição de Middleware**: O código adiciona dois plugins ao Guarapi: `middleware` e `logger`.

- **Definição de Rotas**: Duas rotas são definidas usando o método `app.use()`. A primeira rota registra uma mensagem de log usando o logger do Guarapi e, em seguida, chama o próximo middleware. A segunda rota simplesmente envia uma resposta "ok" para o cliente. Posteriormente, teremos mais formas de definir rotas.

- **Inicialização do Servidor**: O código inicia o servidor na porta 3000 e no endereço "0.0.0.0".

## Funcionalidades Principais

Podemos destacar as seguintes funcionalidades principais do Guarapi até o momento:

1. **Middleware**: O Guarapi suporta a inclusão de middleware, como demonstrado pela adição dos plugins `middleware` e `logger`. Isso permite que desenvolvedores personalizem o processamento de solicitações HTTP.

2. **Logging**: O framework possui um sistema de registro integrado. O exemplo mostra como registrar mensagens de log com diferentes níveis (no caso, "info").

3. **Middleware (Tratamento de Rotas raiz)**: Rotas são definidas usando o método `app.use()`, permitindo que os desenvolvedores definam como as solicitações HTTP devem ser manipuladas.

## Próximos Passos

Agora, imagine as possibilidades! Você pode fazer parte do futuro deste framework emocionante:

- **Adição de Recursos**: Expandir a funcionalidade do framework adicionando mais recursos, como suporte a autenticação, validação de entrada e roteamento avançado.

- **Documentação Detalhada**: Criar documentação detalhada para que outros desenvolvedores possam entender e utilizar facilmente o Guarapi.

- **Testes Unitários e de Integração**: Implementar testes para garantir a robustez e confiabilidade do framework.

- **Comunidade e Colaboração**: Encorajar a participação da comunidade e receber contribuições para o projeto. Vamos construir algo incrível juntos!

## Conclusão

O Guarapi é mais do que um framework - é uma oportunidade de inovação e colaboração. Com um compromisso com a flexibilidade e uma visão ambiciosa, o Guarapi promete simplificar o desenvolvimento de aplicativos web em Node.js. Junte-se a nós nesta emocionante jornada de criação e transformação!

Fique atento às atualizações e evoluções deste framework. Juntos, podemos fazer a diferença no mundo do desenvolvimento web!