Files
consumocuidado-server/README.md
2021-02-01 14:13:58 +00:00

2.2 KiB

LaTiendaCOOP backend

This README aims to document functionality of backend as well as required steps to get it up and running.

Table of Contents

First Steps

  • Clone repository: git clone git@bitbucket.org:enreda/back-latienda.git

  • Use docker image for Postgis

docker run --name postgis -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 postgis/postgis
  • Create file .env from example.env and populate fields correctly

From inside the project's folder:

  • Make migrations:
python manage.py makemigrations core geo companies products history stats
python manage.py migrate
  • Start server in development mode: python manage.py runserver

Location data

To load initial location data use: python manage.py addgeo

Endpoints

Authentication

Implemented using djangorestframework-simplejwt

New token pair endpoint: /api/v1/token/

Response:

{
    "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTYxMjI3MTcwNSwianRpIjoiZDU4YTgzYzFkYzFkNDI5MTljMGQ0NzcxNzljNzUxYTQiLCJ1c2VyX2lkIjo4fQ.yln80W5lONSyHwwqF4qBBHteqLuRfdLLWuaQANr_vxc",
    "access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjEyMTg4OTA1LCJqdGkiOiIzNGIxMzM3NmU4MWI0OWY5YjU3ZmUxM2M5NThmZWZkYiIsInVzZXJfaWQiOjh9.aRDCUvKj7LCvixjPLC9ghy0h7rfRwR6Lo3A7HX4kSHE"
}

Refresh expired token endpoint: /api/v1/token/refresh/

Users

Endpoint url: /api/v1/users/

Authenticated users cannot create new users User are inactive by default

To create user:

{
    "email": "test_user23@mail.com",
    "full_name": "Mr Test User",
    "password": "wqertewqr32qrewqr",
    "provider": "TWITTER"
}

Companies

Endpoint url: /api/v1/companies/

Products

Endpoint url: /api/v1/products/

History

Endpoint url: /api/v1/history/:

Historical records about product importation

Stats

Endpoint url: /api/v1/stats/

logs about user interaction with products links

Geo location

Location ednpoints:

  • /api/v1/countries/
  • /api/v1/regions/
  • /api/v1/provinces/
  • /api/v1/cities/