An open API service indexing awesome lists of open source software.

https://github.com/robsonmt/minimarket-api


https://github.com/robsonmt/minimarket-api

migrations postgresql postgresql-database python-3-6

Last synced: 5 months ago
JSON representation

Awesome Lists containing this project

README

          

# MiniMarket-API





Logo

MiniMarket API


Uma API voltada para a gestão de pequenos comércios, focada em agilizar a organização dos pagamentos e a gestão dos clientes.






Explore a aplicação no vercel.




Reportar um bug
·
Sugerir uma funcionalidade


## Visão geral



  1. Sobre o projeto



  2. Instruções



  3. Rotas


  4. Sobre

## Tecnologias

Tecnologias utilizadas na construção dessa aplicação:

- [Python](https://www.python.org/)
- [Flask](https://flask.palletsprojects.com/en/2.1.x/)
- [Flask SQLALchemy](https://flask-sqlalchemy.palletsprojects.com/en/2.x/)

## Instruções

Este é um guia de como configurar e rodar a aplicação localmente, siga os seguintes passos:

### Instalação

Clone o repositório em sua máquina:

Via SSH:

`$ git clone git@github.com:RobsonMT/MiniMarket-API.git`

Via HTTPS:

`$ git clone https://github.com/RobsonMT/MiniMarket-API.git`

Crie um ambiente virtual (venv) para seus pacotes pelo comando:

`$ python -m venv venv`

Ative o venv pelo comando:

`$ source venv/bin/activate`

Instale os pacotes contidos no `requirements.txt` através do comando:

`$ pip install -r requirements.txt`

## Rotas

Abaixo descritas as respectivas rotas presentes nessa aplicação.


## AUTH

Rotas de autenticação.

## POST signup

Cria um novo usuário.

`/api/signup`


Body (JSON):

```sh
{
"name": "marcelo",
"email": "marcelo@email.com",
"password": "123456",
"avatar": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/7c/User_font_awesome.svg/2048px-User_font_awesome.svg.png",
"contact": "19 93588-3611"
}
```

## POST signin

Loga o usuário.

`/api/signin`


Body (JSON):

```sh
{"email": "marcelo@email.com",
"password": "123456"}
```




## USERS

Rotas de usuário.

## GET users

Retorna todos os usuários.

`/api/users`

## GET all users

Retorna todos os usuários.

`/api/users/all`

## GET user by id

Retorna todos os usuários.

`/api/users/`

## PATCH user by id

Retorna todos os usuários.

`/api/users/`

```sh
{
"name": "Marcelo Menddes"
}
```

## PATCH change user state

Altera o estado ativo/inativo

`/api/users/changestate/`




## CLIENTS

Rotas de clientes.

## GET all clients

Retorna todos os clientes do estabelecimento.

`api/establishment//client`

## GET client id by establishment id

Retorna UM cliente (id) do estabelecimento.

`/establishment//client/`

## POST client

Cria um novo cliente.

`/api/users/api/client

```sh
{
"name": "Joséw Silva",
"avatar": "https://media.istockphoto.com/illustrations/client-prime-white-round-button-illustration-id873164974",
"contact": "(19)88d888-1111",
"pay_day": 20,
"establishment_id": 3
}

```

## PATCH client

Atualiza o cliente do estabelecimento.

`/establishment//client/`

BODY:

```sh
{
"name": "Hamero"
}
```




## ESTABLISHMENT

Rotas de estabelecimento.

## POST establishment

Cria um novo estabelecimento.

`/api/establishments/user/`

## GET all establishments

Retorna todos os estabelecimentos do usuário.

`/api/establishments`

## GET one establishment

Retorna o estabelecimento do usuário pelo id do estabelecimento.

`/api/establishments/`

## GET establishment by name

Retorna o estabelecimento do usuário pelo id do estabelecimento.

`/api/establishments/name/`

## PATCH establishment

Atualiza o estabelecimento

`/api/establishments/`

```sh
{
"name": "Mercearia",
"url_logo": ""
}
```




## PRODUCTS

Rota de produtos.

## POST

Cria um novo produto no estabelecimento.

`/api/establishments/products`

```sh
{
"name": "Batata",
"description": "batata frita",
"sale_price": 12,
"cost_price":8,
"unit_type":"kg",
"url_img": "feerergerg",
"establieshment_id":3,
"categories": []
}
```

## GET products

Retorna os produtos do estabelecimento (id).

`/api/establishments//products`

## GET product by id

Retorna o produto (id) do estabelecimento

`/api/establishments//products/`

## GET product query

Retorna o produto pesquisado.

`/api/establishments//products/query`

## PATCH product

Atualiza o produto do estabelecimento.

`/api/establishments//products/`



## SALES

Rota de vendas.

## GET sale

Retorna a venda por id.

`/api/sales/`

## GET sale by client

Retorna a venda por cliente

`/api/sales/client/`

## POST sale

Cria nova venda.

`/api/sales`

```sh
{
"paid_date": "25/06/2022",
"client_id":1,
"payment_id":1,
"sale_total":2000,
"remain_to_pay": 2000
}
```

## PATCH sale

Atualiza a venda (id).

`/api/sales/`

## Sobre

Este projeto foi desenvolvido por:

Bruno de Lacerda Tetzner - [@brunotetzner](https://github.com/brunotetzner)

Julio Pereira- [@ElBulidur](https://github.com/ElBulidur)

Robson Martins - [@RobsonMT](https://github.com/RobsonMT)

Gabriel Amaral - [@Gabriel-dsAmaral](https://github.com/Gabriel-dsAmaral)

Rhamon de Souza - [@rhamo1](https://github.com/rhamo1)

Rafael Monteiro de Oliveira - [@raf2019](https://github.com/raf2019)

(back to top)