nandomaciel / companyandhero

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Company and Hero

API

companyandhero

Problema

Eu como Dev Frontend na Company Hero, gostaria criar empresas com um formulário simples. Preciso saber quais dados enviar em JSON e para qual URL. A ideia é criar um diretório de empresas e seus funcionários, estes funcionários seriam os usuários da plataforma porem precisamos considerar que um usuário pode pertencer a mais de uma empresa.

O que falta

  • Exibir funcionários na listagem das empresas
  • A busca por um funcionário utiliza o filters do Django Rest o que retornar usernames similares.

Testes

  • Foi feito um simples teste de criação de funcionario e de empresa

Deploy

Dependendo de como for utilizar é necessario modificar as configurações para o banco de dados.

Via CLI

  • Crie o ambiente para instalação das dependências
python -m venv env
  • Ative o ambiente
source env/bin/activate
  • Instale os pacotes necessarios para executar o projeto
pip install -r requirements.txt
  • Execute a criação das tabelas do banco de dados
python manage.py makemigrations
python manage.py migrate
  • Criando um super usuário para acessar o Django Admin (opcional)
python manage.py createsuperuser
  • Execute o projeto
python manage.py runserver

Se todos os passos ocorreram sem apresentar nenhum erro. O projeto vai estar executando no endereço:

127.0.0.1:8000

Docker

Em breve!


Endpoints

Endpoint Método Ação
/api/v1/empresa/ GET Listar todas as empresas cadastradas
/api/v1/empresa/ GET Cadastrar uma empresa
/api/v1/empresa/:id GET Informação de uma empresa
/api/v1/empresa/:id PUT Editar informações de uma empresa
/api/v1/empresa/:id DELETE Detelar informações uma empresa
/api/v1/funcionario/ GET Listar todos os funcionários cadastrados
/api/v1/funcionario/ GET Cadastrar um funcionário
/api/v1/funcionario/:id GET Informação de um funcionário
/api/v1/funcionario/:id PUT Editar informações de um funcionário
/api/v1/funcionario/:id DELETE Deletar um funcionário
  • Buscar funcionário pelo username

Para realizar a buscar por um usuário deve ser inserido o paramento search e o valor (username) a ser pesquisado no enpoint api/v1/funcionario/


Modelo de JSON

Cadastrar empresa

{
"nome": "nome da empresa",
"cnpj": "cnpj da empresa"
}

Cadastrar funcionário

{
"nome": "Nome do Funcionário",
"username": "funcionariousername",
    "empresas": [
        {
            "nome": "nome da empresa já cadastrada"
        }
    ]
}

Exemplo de Modelo JSON

Cadastrar empresa

endpoint: /api/v1/empresa/

{
"nome": "Google",
"cnpj": "12345"
}
{
"nome": "Company Hero",
"cnpj": "54321"
}

Cadastrar funcionário

endpoint: /api/v1/funcionario/

Cadastrando em uma única empresa

{
"nome": "Mark Down",
"username": "md",
    "empresas": [
        {
            "nome": "Google"
        }
    ]
}

Cadastrando em mais de uma empresa

{
"nome": "Java Script",
"username": "js",
    "empresas": [
        {
            "nome": "Google"
        },
        {
            "nome": "Company Hero"
        }
    ]
}

About


Languages

Language:Python 99.0%Language:Dockerfile 1.0%