Skip to content

mateusvoc13/users-api

Repository files navigation

Marketplace Challenge

Desenvolvida utilizando o Django Rest Framework, apresentando autenticação por token, testes unitários, métodos para criação de usuário administrativo e para população de banco de dados utilizando endereço sugerido pelo desafio, configuração de CI e Docker para fácil utilização.

Como iniciallizar e rodar a aplicação

Python e Virtualenv

- pip install virtualenv
- virtualenv venv
- . venv/bin/activate
- pip install -r requirements.txt 
- python3 manage.py makemigrations
- python3 manage.py migrate
- python3 manage.py migrate
- python3 manage.py initadmin
- python3 manage.py populate_db
- python3 manage.py runserver

Docker

- docker-compose build
- docker-compose up

Autenticação

Como realizar autenticação

Basta inserir o seguinte header nas suas requisições

'Authorization: Token db351caff2180d558bfc49582a8f031e8d011995'

Podendo o token ser obtido a partir dos métodos apresentados abaixo.

Como conseguir um token

API

Submeter um request POST com username e password (exemplo abaixo) para o endereço: http://127.0.0.1:8000/api-token-auth/

{
    'username': 'admin',
    'password': 'adminadmin',
}

Para criação do admin, basta executar o comando

./manage.py initadmin

Django Admin

O token para autenticação também pode ser obtido através da página de gestão de tokens no Django admin

http://127.0.0.1:8000/admin/authtoken/token/

API

A api está dividida em dois endpoints principais:

http://127.0.0.1:8000/api/clients/

e

http://127.0.0.1:8000/api/product/

Ambas possuem métodos POST e GET para criação dos respectivos objetos e listagem dos objetos já presentes no banco de dados.

Para edição, remoção e visualização individual de objetos, basta adicionar a frente do endereço a id númerica para clientes e a id no seguinte formato para produtos: ‘ffffadb2-ad43-8ae7-090f-3c3ac8167d78’

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages