Desenvolvimento de Aplicações NestJS Profissionais

  • Antes de começar, certifique-se de ter o Node.js e npm instalados em seu sistema. Caso ainda não os possua, você pode baixá-los do site oficial do Node.js.
  • Em seguida, será necessário criar uma conta na Square Cloud, o que pode ser feito através da página de cadastro. Você pode utilizar seu email para criar uma conta.
  • Por fim, você precisa ter um plano pago ativo em sua conta. Você pode visualizar nossos planos e adquirir um de acordo com suas necessidades aqui.

Configuração da CLI do NestJS

Para utilizar a interface de linha de comando (CLI) do NestJS, você precisa instalá-la globalmente em seu sistema. Execute o seguinte comando:
npm install -g @nestjs/cli
Este comando instala o pacote @nestjs/cli globalmente em seu sistema, permitindo que você use o comando nest de qualquer lugar em seu terminal.

Criação de Projeto NestJS

Para criar um novo projeto NestJS, execute o seguinte comando:
nest new my-app
Neste comando, nest new my-app é usado para criar um novo projeto NestJS. O comando nest new é uma ferramenta que vem com o nest, a CLI (Interface de Linha de Comando) do NestJS. É usado para inicializar uma nova aplicação NestJS. my-app é o nome da nova aplicação. Este comando cria um novo diretório chamado my-app e configura os arquivos e dependências necessários para uma aplicação NestJS básica.

Configuração da Porta 80

Após gerar o projeto NestJS com o comando nest new my-app, o arquivo que você precisa modificar para alterar a porta é main.ts. Este arquivo está localizado na raiz do diretório do seu projeto, dentro da pasta src.
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(80); // Alterar o número da porta aqui para 80
}
bootstrap();
A porta 80 é a porta padrão para tráfego HTTP.

Compilação da Aplicação

O NestJS utiliza TypeScript, portanto você deve compilar seu código TypeScript para JavaScript antes de executar sua aplicação. Você pode compilar sua aplicação executando o seguinte comando:
npm run build
Este comando executa o script build definido em seu arquivo package.json, que por sua vez executa o comando nest build. Este comando compila seu código TypeScript para JavaScript.

Criação do Arquivo de Configuração da Square Cloud

Saiba mais sobre: como criar o arquivo de configuração para a Square Cloud.

O arquivo squarecloud.app é um arquivo de configuração que será usado para configurar sua aplicação; ele será usado para definir o nome, descrição, versão, arquivo principal, entre outras coisas.

Configuração do Campo MAIN

Você precisa especificar o arquivo principal da sua aplicação no campo MAIN do squarecloud.app. Para uma aplicação NestJS, o arquivo principal é o arquivo JavaScript compilado do seu arquivo main.ts, que é dist/main.js. Veja como você pode configurá-lo:
squarecloud.app
MAIN=dist/main.js

Configuração do Campo START

No arquivo de configuração da Square Cloud, o campo START é opcional e só é necessário se você estiver usando um script personalizado para iniciar o website ou API. No exemplo fornecido, o campo START não é necessário.

Aquisição de Plano Antes do Upload do Projeto

Antes de fazer o upload do seu projeto para a Square Cloud, é importante entender que você precisa adquirir um plano. O tipo de plano que você escolher dependerá dos recursos exigidos pela sua aplicação. Você pode visualizar nossos planos aqui.
Está se perguntando quanta RAM e CPU seu plano precisa para hospedar uma aplicação NestJS? Não se preocupe, estamos aqui para ajudar. O NestJS é um framework Node.js progressivo para construção de aplicações server-side eficientes e escaláveis. É modular, testável e fortemente tipado com TypeScript, tornando-o uma excelente escolha para desenvolvimento back-end complexo. Nosso plano Standard oferece 4GB de RAM e 4vCPU, que deve ser suficiente para a maioria das aplicações NestJS. No entanto, se você está trabalhando em um projeto maior ou precisa de mais estabilidade, recomendamos considerar nosso plano Pro. Com recursos adicionais, você pode garantir desempenho suave mesmo sob alta demanda. Para adquirir, simplesmente clique aqui.

Upload do Projeto para a Square Cloud

Após preparar os arquivos do seu projeto, agora você pode fazer o upload deles para a Square Cloud e hospedar seu projeto.
Acesse o Dashboard da Square Cloud e faça o upload dos arquivos do seu projeto.

Recursos Adicionais

Para mais informações sobre NestJS e suas ferramentas, visite a documentação oficial do NestJS. Lá, você encontrará guias detalhados, tutoriais e documentação da API para ajudá-lo a aproveitar ao máximo o NestJS.

Solução de Problemas

Domínio Personalizado

Para usar domínio personalizado (ex: meusite.com) ao invés da URL padrão https://meusite.squareweb.app/, você precisa do plano Standard ou superior. O subdomínio é definido pelo campo SUBDOMAIN no arquivo de configuração. Veja: Como configurar seu domínio personalizado.

Requisitos Mínimos de RAM

Mínimo: 512MB de RAM para websites/APIs simples. Para sites com frameworks (Next.JS, React, Vue, Angular, etc.), sugerimos sempre pelo menos 1GB de RAM. Para aplicações maiores, use mais RAM para evitar erro LACK_OF_RAM e garantir performance.

Não foi possível encontrar esse site.

Verifique se o subdomínio/domínio corresponde ao configurado no campo SUBDOMAIN ou nas configurações de domínio personalizado. Se você acabou de enviar o site, aguarde até 60 segundos para a Square liberar o primeiro acesso.

Site demorou demais para responder...

Verifique se configurou corretamente a porta 80 e host 0.0.0.0 na aplicação. Recomendamos usar as variáveis de ambiente forçadas da Square: PORT e HOST do arquivo .env.
Se você continuar enfrentando dificuldades técnicas, nossa equipe de suporte especializada está disponível para auxiliá-lo. Entre em contato conosco e teremos prazer em ajudá-lo a resolver qualquer questão.