Skip to content

nandomaciel/companyandhero

Repository files navigation

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

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published