Skip to content
/ NDM Public

Full Stack project using NodeJs, React, SQL and Docker

Notifications You must be signed in to change notification settings

gui-sa/NDM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NDM

Desafio proposto por IGOR (Tech Lead do projeto) e Luiz, sócio do neǵocio. NDM é uma empresa cujo foco é assesoria Juridica para novos empreendimentos e Startups. O desafio esta na área de TI. Criar um servidor usando Node e que serve um frontend para o client usando REACTJS. O banco de dado é POSTGRESQL.

Requisitos:

Durante o desenvolvimento, por questões de treinamento, imutabilidade, versionamento e requisitos de instalação, utilizei a ferramenta DOCKER (meu sistema operacional base é o LINUX UBUNTU).

Entretando, na pasta, todos os códigos estão a mostra. As imagens do docker rodam o mesmo código ali exposto, logo, caso seja preferido, simplesmente rode usando os comando na aba Orientações sem DOCKER.

Orientações via DOCKER:

  1. Dentro da pasta do arquivo abra um terminal de comandos e rode:
docker build -t backendgsa:1.0.0 ./backend/
docker build -t frontgsa:1.0.0 ./frontend/page/
docker compose -f app.yaml up

Configuração do banco de dados

Naturalmente as credenciais ficam em variaveis de ambientes e não devem ser mostradas. Vale enfatizar que este exercicio é demonstrativo e por isso as variaveis de ambiente estão abertas.
Para configurar o banco de dados:

  • Postgresql
  • user: admin
  • senha: password
    Ao entrar clique no banco de dados 'esport', em seguida em 'Comando SQL' e execute os comandos que estão nos arquivos DDL.sql e DML-examples.sql.
    Os comandos DML-examples serve apenas para demonstrações posteriores.

Aguarde os servidores estabilizar e entre na página WEB (dev)

Desativando e excluindo os containers:

docker compose -f app.yaml down
docker rmi frontgsa:1.0.0
docker rmi backendgsa:1.0.0

Resultados:

Tanto o logo tanto a imagem da pagina home foi criada usando uma API do unsplash (para ganhar tempo).
A aplicação é responsiva.

image

image

image

image

image

image

image

image

Regras de negócios:

A regra de negócio: cada time pode ter somente 5 jogadores foi implementado no servidor backend:

image

A regra de cada jogador poder fazer parte de um único time foi resolvido pela forma com que o schema do banco de dados foi criado.

Features:

O front não deixa o usuario digitar valores invalidos, e ele não envia ao backend formularios que não possuam dados.
Ao registrar um time, este aparece dinamicamente na barra de seleção de times no cadastro de jogadores.
Ao registrar um jogador em um time, este aparece dinamicamente na pagina de overview.

About

Full Stack project using NodeJs, React, SQL and Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages