olist-anuncios

1.0.2 • Public • Published

Olist API v0.0.1

Resumo

Está api fornece uma interface para manutenção de anúncios, no formato RESTful, como backend foi utilizado o Expressjs. Está API fornece os 4 métodos HTTP: GET, POST, DELETE e UPDATE

API valida todos os dados enviados antes de persistir na base.

Base de dados usado é MySQL

Instalação

Criação da Base de dados

Executar o seguinte script SQL em uma base de dados previamente selecionada:

    CREATE TABLE IF NOT EXISTS `anuncios` (
        `id` INT(11NOT NULL AUTO_INCREMENT,
        `categoria` ENUM('produto','serviço'NOT NULL,
        `titulo` VARCHAR(60) NOT NULL,
        `descricao` TEXT NOT NULL,
        `estoque` INT(11NOT NULL DEFAULT 0,
        `preco` DECIMAL(10,2) NOT NULL,
        `embalagem_largura` FLOAT(11) NULL DEFAULT NULL,
        `embalagem_altura` FLOAT(11) NULL DEFAULT NULL,
        `embalagem_profundidade` FLOAT(11) NULL DEFAULT NULL,
        `embalagem_peso` FLOAT(11) NULL DEFAULT NULL,
        `status` TINYINT(1) NOT NULL DEFAULT 0,
        `vendedor_nome` VARCHAR(40) NOT NULL,
        `vendedor_telefone` VARCHAR(15) NOT NULL,
        `vendedor_email` VARCHAR(100) NOT NULL,
        PRIMARY KEY (`id`))
        ENGINE = InnoDB
        DEFAULT CHARACTER SET = utf8
        COLLATE = utf8_general_ci;

Configurações

Antes de executar a aplicação, é necessário realizar algumas configurações. Abra o arquivo:

config/default.yaml

E configure a porta e os dados para conexão na base.

Exemplo:

    server: 9000
    database:
        client: 'mysql'
        host: 'localhost'
        user: 'root'
        password: '*****'
        database: 'database'

Mais detalhes sobre o sistema de configuração consulte: https://github.com/lorenwest/node-config

API

Refêrencia

Endpoint Descrição
GET /api/:id Recupera um anúncio pelo id fornecido
POST /api/ Cadastra um anúncio
PUT /api/:id Atualiza anúncio pelo id fornecido,
DELETE /api/:id Remove um anúncio

Formato

Os dados devem ser enviado no formato JSON e serão entregue no formato JSON.

Validação

Caso ocorra erro de validação, um json de erro será retornado :

Exemplo:

    {
        error: true,
        errors: [
            'Título Obrigatório',
            'Descrição Obrigatório',
            'Embalagem Altura deve ser decimal',
            'Embalagem Profundidade deve ser decimal',
            'Embalagem Peso deve ser decimal',
            'Status deve ser valor Booleano',
            'Telefone do vendedor inválido',
            'E-mail do vendedor inválido',
            'Nome do vendedor Obrigatório',
            'Telefone do vendedor Obrigatório',
            'E-mail do vendedor Obrigatório',
            'Título deve ter no máximo 60 letras',
            'Categoria deve ser produto ou serviço',
            'Estoque deve ser inteiro',
            'Preço deve ser decimal',
            'Embalagem Largura deve ser decimal'
        ]
    }

Autor

André Timermann E-mail: andre@andregustavo.org - 2015

Nota: Aplicação desenvolvida para fins de avaliação, não deve ser usada em ambiente de produção.

Readme

Keywords

Package Sidebar

Install

npm i olist-anuncios

Weekly Downloads

0

Version

1.0.2

License

ISC

Last publish

Collaborators

  • atimermann