Git Product home page Git Product logo

convicti's Introduction

Convict

Badge em Desenvolvimento

O objetivo geral do sistema é servir como ferramenta de controle regional de vendas, proporcionando uma interface onde os vendedores, através de seus celulares, possam efetuar os lançamentos das vendas.

Os gerentes por sua vez, através de seus computadores via navegador, podem acompanhar o desempenho somente de seus vendedores.

Os diretores, através de seus computadores via navegador, podem acompanhar o desempenho somente das unidades que pertencem à sua diretoria enquanto o diretor nacional pode acompanhar pelo computador via navegador o desempenho de vendas de todas as unidades e diretorias.

Uma funcionalidade MUITO IMPORTANTE é que o sistema identifica quando uma venda de um vendedor é feita em uma localização física mais próxima a uma OUTRA unidade qualquer, do que a unidade à qual o vendedor está vinculado, "tagueando" assim essa venda como "roaming".

Tecnologia

  • Sistema desenvolvido em Python versão:3.10
  • Base de dado utilizada: MariaDB

Requisitos

Esse projeto exige a utilização do Docker localmente.

Esse projeto exige a utilização do Python localmente.

Instalação com docker

Setup local


Subindo o ambiente de dev com docker

  • Após baixar o repositorio https://github.com/ridabe/convicti

  • Necessário ter o docker instalado na sua máquina

    • docker -v
  • Rodar o comando sudo docker build -t convict . para buildar o container

  • Rodar o comando sudo docker run -it convict para rodar a imagem

  • Rodar o comando docker-compose up para subir o bnco de ddos

    • Sistema deve começar a ouvir no endereço localhost:5000
  • Ative seu ambiente com o comando:

    source nome_do_ambiente_virtual/bin/activate
  • Istale as bibliotecas utilizadas no projeto pelo arquivo requeriments.txt com o comando:

    pip install -r requirements.txt
  • Para rodar o sistema execute na pasta raiz do projeto o comando:

    python main.py
  • O banco de dados estará localizado na pasta app/db.

URL

  • O sistema ira rodar no endereçõ 127.0.0.1/5000

Testes Unitários

Para rodar os testes unitários, entre na pasta raiz do sistema e rode o comnado

    python -m unittest -v

Endpoints da api

127.0.0.1:5000/auth - Method = POST -Retorna o token para acessar os outros endpoints

Body

{ "email": "[email protected]", "senha": "123mudar" }

127.0.0.1:5000/ Method = GET - Retorna todo os usuarios do sistem

Headers

  • Authorization = Bearer + token

127.0.0.1:5000/user/ Method = GET - Retorna usuarios pelo seu id

Headers

  • Authorization = Bearer + token

127.0.0.1:5000/post_vendas Method = POST- Envia as vendas realizadas

Headers

  • Authorization = Bearer + token

Body

{ "vendedor_id": 257, "valor_venda": 858.56, "unidade_id": 6, "diretoria_id": 2, "lat_origin": "-19.947854829716372", "lon_origin": "-43.94089385954766" }

127.0.0.1:5000/get_vendas Method = GET - Retorna as vendas seguindo as regras de acesso e visualização

Headers

  • Authorization = Bearer + token

Na raiz do sistema existem dois arquivos de collection que podera ser usado no Postman ou insomnia

Orientações para contribuidores

Antes de efetuar qualquer contribuição para esse projeto, certifique-se de seguir as orientações documentadas no arquivo CONTRIBUTING.md

convicti's People

Contributors

ridabe avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.