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".
Sistema desenvolvido em Python versão:3.10
Base de dado utilizada: MariaDB
Esse projeto exige a utilização do Docker localmente.
Esse projeto exige a utilização do Python localmente.
-
Após baixar o repositorio https://github.com/ridabe/convicti
-
Necessário ter o
docker
instalado na sua máquinadocker -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
- Sistema deve começar a ouvir no endereço
-
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.
O sistema ira rodar no endereçõ 127.0.0.1/5000
Para rodar os testes unitários, entre na pasta raiz do sistema e rode o comnado
python -m unittest -v
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
Antes de efetuar qualquer contribuição para esse projeto, certifique-se de seguir as orientações documentadas no arquivo CONTRIBUTING.md