Code Monkey home page Code Monkey logo

desafio-fullstack's Introduction

Desafio fullstack

Executando a aplicação

pnpm

Definição da .env

É necessário criar uma .env no diretório desafio-fullstack-api. O valor de API_PORT deve ser 8080.

Configurando Banco de Dados

Após feito o clone do repositório, é necessário instalar as dependencias, execute o comando pnpm install nos diretório de API e Web. Dentro da pasta "desafio-fullstack-api" confirme primeiro se a variavél POSTGRES_HOST no arquivo .env está como localhost. Os valores da .env devem ser:

API_PORT=8080

POSTGRES_HOST="localhost"
POSTGRES_PORT="5432"
POSTGRES_USER="admin"
POSTGRES_PASSWORD="admin"
POSTGRES_DB="desafiofullstack"

Então execute o comando docker compose up postgres. Com o docker em execução, utilize o comando pnpm db:migrate para executar as migrations, e após a execução, pnpm db:seed opicionalmente para o caso de seed do BD. A execução do docker pode ser finalizada.

Utilizando Docker

Após instalações das dependencias nos diretórios de API e Web, verifique se a variavel POSTGRES_HOST está como postgres, sendo assim, o network do docker pode se comunicar entre as aplicações.

POSTGRES_HOST="postgres"

Com isso feito, basta rodar o comando docker compose up na raiz da aplicação, desafio-fullstack.

Para utilizar apenas o BD no docker é necessário alterar o valor da variavel POSTGRES_HOST no arquivo .env para localhost.

Backend

Tecnologias utilizadas

NestJs Knex.js como query builder.

Nivel

  • GET

/levels?page=1&limit=10

Retorna todos os níveis do BD, com o a estrutura.


{
id: number,
level: string
}

  • POST

/levels

Retorna o nível que foi criado.

  • PATCH

/levels/:id

Retorna o novo nível editado.

  • DELETE

/levels/:id

Deleta o nível selecionado, se não houver desenvolvedores associados.

  • GET

    /levels/:id

Retorna o nível do ID correspondente.

  • GET

    /levels/:id/developers

Retorna todos os desenvolvedores associados aquele nível.

Desenvolvedor

  • GET

/developers?page=1&limit=10

Retorna todos os desenvolvedores do BD, com o a estrutura.


{
id: number,
name: string,
gender: string,
birthday: Date,
age: number,
hobby: string,
level: {
id: number,
level: string
}
}

  • POST

/developers

Retorna o desenvolvedor que foi criado.

  • PATCH

/developers/:id

Retorna o novo desenvolvedor editado.

  • DELETE

/developers/:id

Deleta o desenvolvedor selecionado.

  • GET

/developers/:id

Retorna o desenvolvedor do ID correspondente.

Frontend

Tecnologias utilizadas

Nextjs e SWR para o fetch de dados no client-side.

desafio-fullstack's People

Contributors

sarahanduca 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.