Git Product home page Git Product logo

fclx-nextjs-challenge-02's Introduction

Docker Next.js

Fase 02

Informações do desafio

Informações do desafio Neste desafio, você deve criar uma aplicação Next.js com Docker que rode na porta 3000. Esta aplicação precisa expor 2 rotas de API Rest:

  • Criar chat - POST /api/chats

  • Listar chats - GET /api/chats

Um chat tem 2 dados, o ID é auto-incrementado e a mensagem que é string.

O Next.js precisa salvar e buscar os dados do banco de dados usando o Prisma, o banco de dados a ser utilizado precisa ser o SQLite e precisa ser commitado no projeto.

Crie o arquivo api.http para declarar as 2 chamadas a serem realizadas.

Notas sobre o desafio
  1. Criar uma aplicação Next.js com Docker na porta 3000;
  • Primeramente iniciando o next.js npx create-next-app --typescript
  • Após cria-lo, criei o Dockerfile e o docker-compose com suas configurações iniciais, para copiar o next para o container.
  • Configurei o .devcontainer, para testar a extensão apresentada pelo Luiz Carlos
  • Por padrão o Next.js usa a porta 3000
  1. Realizei a instalação do Prisma npm i prisma -D
  • Inicializei o prisma definindo o sqlite como banco npx prisma --datasource-provider sqlite
  • Criei o model solicitado, com ID gerado automáticamente com autoincrement e o campo message como string
  • Realizei a conexão do prisma no arquivo prisma na pasta app, para evitar leak de conexões, conforme orientado na aula do chatgpt.
  1. Criei a pasta chats, onde ficam as rotas para as solicitações GET e POST
  1. Revisei o docker-compose para realizar a instalação dos modulos e iniciar a aplicação de forma automática.

  2. Após iniciar a composição dos container(docker compose up --build para visualizar as instalações e inicializações ou adicione a flag -d, para inicialização de fundo, gosto de usar --build para forçar a remontagem da imagem caso ja tenha montado ela alguma vez), e todas inicializações concluirem, basta usar o api.http ou outra http client, para realizar o post desejado, e para o get podemos acessar via navegador.

Rodar a aplicação

$ docker compose up --build

fclx-nextjs-challenge-02's People

Contributors

davidrogger avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.