Skip to content

This repository is my resolution to Cubo.network, a Itau project, Full-Stack developer challenger. Mainly used Python for back-end and Javascript for front-end.

License

Notifications You must be signed in to change notification settings

ribmarciojr/ItauFullStackChallenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sumário

Índices

Desafio técnico Cubo Network

Rodar por Docker

  • O Docker foi utilizado nesse projeto para encapsular os diferentes serviços — dashboard, api, database —, da aplicação, tal como as dependências necessárias para bom funcionamento.

Instalação de arquivos:

git clone https://github.com/ribmarciojr/itau-full-stack-challenger.git

Execução do projeto:

docker-compose up

Observação

O comando acima deve ser executado na raiz do projeto.


Agora o projeto pode ser acessado no browser através do endereço: http://localhost:3000

Rodar Manualmente

Requisitos

Lista de requisitos necessários para executar o projeto. Isso pode incluir software, hardware, bibliotecas específicas, etc.

  • Node.js: 18.17.0+
  • Python: 3.11.0+

Configuração do Ambiente

Passos para configurar o ambiente de desenvolvimento. Isso pode incluir a instalação de dependências, configuração de variáveis de ambiente, etc.

1. Dependências Python

# Em ./api/v1 
pip install -r requirements.txt

# Execução
flask --app run.py run --host=0.0.0.0

2. Dependências Node.js

# Em ./dashboard 
npm install

#Execução
npm run dev

Observação

O banco de dados PostgresSQL deve ser criado separadamente com as descrições do arquivo docker-compose.yaml


O Projeto:

Especificação da interface gráfica

Visão Geral

Como especificado no desafio, o front-end segue a implementação dinâmica da tabela, gráfico de pizza e formulário para adição de novos membros.


Especificação de Rotas da API

Base URL

A URL base para todas as requisições à API é: https://localhost:5000

Recursos

1. Cria participantes

[POST] /participant/create

Descrição: Insere um novo participante no banco de dados, caso válido.


Parâmetros esperados:

  • first_name: Deve conter apenas somente letras. Mínimo três.
  • last_name: Deve conter apenas somente letras. Mínimo três
  • participation: Deve conter números decimais.

Exemplo de Requisição:

POST /participant/create
{
    "first_name": "Jhon",
    "last_name": "Dow",
    "participation": "30.00" 
}

2. Lista participantes

[GET] /participants/all

Descrição: Obtém uma lista de todos os participantes.


Exemplo de Requisição:

GET /participants/all

3. Deleta participantes

[DELETE] /participant/delete

Descrição: Deleta um participante do banco de dados.


Parâmetros esperados:

  • first_name: Deve conter apenas somente letras. Mínimo três.

Exemplo de Requisição:

DELETE /participant/delete
{
    "first_name": "Jhon"
}

Tecnologias

Esse projeto foi construído com:

  • NextJS
  • Flask
  • PostgresSQL
  • Docker/Docker-compose
  • Typescript
  • Python
  • HTML
  • CSS

Contato

Email: [email protected]
Linkedin: https://www.linkedin.com/in/ribmarciojunior/


Copyright (c) 2024 Ribmarciojr

About

This repository is my resolution to Cubo.network, a Itau project, Full-Stack developer challenger. Mainly used Python for back-end and Javascript for front-end.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published