{"id":26187069,"url":"https://github.com/vitorvogomes/fastapi-menu-restaurante","last_synced_at":"2026-04-23T06:31:54.408Z","repository":{"id":201251418,"uuid":"707320700","full_name":"vitorvogomes/fastapi-menu-restaurante","owner":"vitorvogomes","description":"FastAPI - Menu Restaurante","archived":false,"fork":false,"pushed_at":"2023-10-31T21:44:04.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T18:48:24.865Z","etag":null,"topics":["fastapi","python","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vitorvogomes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-19T16:49:38.000Z","updated_at":"2023-10-19T16:54:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"b3d693c6-adb6-499c-830a-ffc1140f1f56","html_url":"https://github.com/vitorvogomes/fastapi-menu-restaurante","commit_stats":null,"previous_names":["vitorvogomes/fastapi-menu-restaurante"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vitorvogomes/fastapi-menu-restaurante","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitorvogomes%2Ffastapi-menu-restaurante","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitorvogomes%2Ffastapi-menu-restaurante/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitorvogomes%2Ffastapi-menu-restaurante/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitorvogomes%2Ffastapi-menu-restaurante/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vitorvogomes","download_url":"https://codeload.github.com/vitorvogomes/fastapi-menu-restaurante/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitorvogomes%2Ffastapi-menu-restaurante/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32169655,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T02:19:40.750Z","status":"ssl_error","status_checked_at":"2026-04-23T02:17:55.737Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","python","sqlite3"],"created_at":"2025-03-11T23:36:22.415Z","updated_at":"2026-04-23T06:31:54.391Z","avatar_url":"https://github.com/vitorvogomes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API para Pedidos de um Restaurante :fork_and_knife:\n\n\n## DESCRIÇÃO DO PROJETO :pencil2:\n\nAPI desenvolvida utilizando Python, FastAPI e SQLite3 para permitir que um restaurante crie um Cardápio (Menu), crie pedidos (Orders) dos clientes, salve as reservas (booking) feitas e diponibilize dados sobre os feedbacks (reviews) dos cliente através de avaliações. Um banco de dados feito em SQLite3 para armazenar e disponibilizar as informações sobre o restaurante.\n\n\n\n## TECNOLOGIAS :bulb:\n\n1. [Python]\n2. [FastAPI]\n3. [SQLite3]\n\n### Dependências instaladas\n\n- Acessar documento \"requirements.txt\"\n\n\n\n## INICIALIZAÇÃO DO SERVIDOR :computer:\n\n- Criar ambiente virtual\n```sh\n$python -m venv .venv\n```\n\n- Inicializar o ambiente virtual\n```sh\n$source .venv/Scripts/activate \"ou\" $source .venv/bin/activate\n```\n\n- Download das dependencias do projeto\n```sh\n$pip install -r requirements.txt\n```\n\n- Executar o arquivo \"main.py\"\n```sh\n$python main.py\n```\n\n## POSTMAN COLLECTION :book:\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/23458410-b9b8524c-891a-4304-abde-2c9a1563fef7?action=collection%2Ffork\u0026source=rip_markdown\u0026collection-url=entityId%3D23458410-b9b8524c-891a-4304-abde-2c9a1563fef7%26entityType%3Dcollection%26workspaceId%3Defb2f2ab-d95a-495f-bc2b-ef74d93aa7a9)\n\n\n#### DOCUMENTAÇÃO\n\n- Acessar [LINK] \"{{BASE_URL}}/docs\"\n\n\n#### ENDPOINTS PARA MENU\n\n###### POST \"/menu\" --\u003e CREATE ITEM\n- Permite que o restaurante adicione itens no cardápio.\n\n###### GET \"/menu\" --\u003e GET MENU ITEMS\n- Permite que os clientes obtenham uma lista de itens do Cardápio.\n\n###### GET \"/menu/{item_id}\" --\u003e GET ITEM BY ID\n- Forneçe informações detalhadas sobre um item específico do cardápio.\n\n###### PUT \"/menu/{item_id}\" --\u003e UPDATE ITEM BY ID\n- Permite que um item específico do cardápio seja atualizado.\n\n###### DELETE \"/menu/{item_id}\" --\u003e DELETE ITEM BY ID\n- Permite que um item específico do cardápio seja excluido.\n\n###### GET \"/categories\" --\u003e GET MENU CATEGORIES\n- Forneçe informações sobre as categorias disponíveis no cardápio.\n\n###### GET \"/categories/{category_name}/items\" --\u003e GET ITEM BY CATEGORY\n- Forneçe itens do cardápio de acordo com uma categoria específica.\n\n\n#### ENDPOINTS PARA ORDERS\n\n###### GET \"/orders\" --\u003e GET ORDERS LIST\n- Forneçe uma lista dos pedidos, incluindo detalhes como número do pedido, itens, status, total, e-mail do cliente.\n- Possui parâmetros de consulta para filtrar através da data ou do status do pedido.\n\n###### POST \"/orders\" --\u003e CREATE ORDER\n- Permite que os clientes realizem pedidos, especificando os itens do cardápio que desejam e a quantidade.\n\n###### GET \"/orders/{order_num}\" --\u003e GET ORDER BY NUM\n- Permite que os clientes obtenham informações detalhadas sobre um pedido específico.\n\n###### GET \"/orders/{order_num}\" --\u003e DELETE ORDER\n- Permite que os clientes obtenham informações detalhadas sobre um pedido específico.\n\n###### PUT \"/orders/{order_num}/satus\" --\u003e UPDATE ORDER STATUS\n- Permite que os funcionários do restaurante atualizem o status de um pedido, \"Pendente\", \"Confirmado\", \"Retirada\", \"Entregue\" ou \"Cancelado\".\n\n\n#### ENDPOINTS PARA BOOKING\n\n###### GET \"/booking\" --\u003e GET BOOKING LIST\n- Forneçe uma lista das reservas feitas, incluindo detalhes como data, número de pessoas e status.\n- Possui parâmetros de consulta para filtrar através da data marcada ou do status da reserva.\n\n###### POST \"/booking\" --\u003e CREATE BOOKING\n- Permite que os clientes façam reservas para mesas no restaurante, especificando a data, e número de pessoas.\n- Se o número máximo de pessoas do estabelecimento for ultrapassado no dia, não será permitido criar uma nova reserva.\n\n###### PUT \"/booking/{booking_id}\" --\u003e UPDATE BOOKING STATUS\n- Permite que o restaurante atualize o status de uma reserva, como \"Solicitado\", \"Confirmado\", \"Finalizado\" ou \"Cancelado\".\n- O status é atualizado através do parâmetro de consulta \"new_status\".\n\n\n#### ENDPOINTS PARA REVIEWS\n\n###### GET \"/reviews\" --\u003e GET REVIEWS LIST\n- Forneçe uma lista de avaliações feitas por clientes, incluindo detalhes como uma nota de classificação, comentários e data.\n- Possui parâmetros de consulta para filtrar através da data da avaliação ou da nota de classificação.\n\n###### POST \"/reviews\" --\u003e CREATE REVIEW\n- Permite que os clientes avaliem o restaurante e deixem comentários sobre sua experiência.\n\n\n#### ENDPOINTS PARA CLIENTS\n###### GET \"/clients\" --\u003e GET CLIENTS LIST\n- Forneçe uma lista de clientes cadastrados, incluindo detalhes como nome, e-mail, endereço e forma de pagamento.\n- Possui parâmetros de consulta para filtrar através do nome.\n\n###### POST \"/clients\" --\u003e CREATE CLIENT\n- Permite que o restaurante cadastre os dados do cliente.\n\n###### PUT \"/clients/{client_email}\" --\u003e UPDATE CLIENT DATA\n- Permite que o restaurante atualize o endereço ou a forma de pagamento de um cliente.\n\n###### DELETE \"/clients/{client_email}\" --\u003e DELETE CLIENT DATA\n- Permite que o restaurante apague um cliente específico através do e-mail.\n\n\n\n## RESUMO TABELAS SQLITE3 :page_facing_up:\n\n#### Informações sobre as itens do cardápio\n  \n|       MenuData       |     \n|----------------------|    \n| item_id (PK)         |    [uuid]\n| item_name            |    [str]\n| item_description     |    [str]\n| item_price           |    [float]\n| category_name        |    [str]\n\n\n#### Informações sobre pedidos feitos\n   \n|      OrdersData      |    \n|----------------------|    \n| order_id (PK)        |    [uuid]\n| order_num            |    [str]\n| order_items          |    [str]\n| order_status         |    [str]\n| order_total          |    [float]\n| order_date           |    [DateTime]*\n| client_email (FK)    |    [str]*\n\n\n#### Informações sobre reservas \n   \n|      BookingData     |     \n|----------------------|    \n| booking_id (PK)      |    [uuid]\n| people_num           |    [int]\n| booking_status       |    [str]\n| booking_date         |    [DateTime]\n| client_email (FK)    |    [str]*\n\n\n\n#### Informações sobre avaliações feitas\n  \n|     ReviewsData      |     \n|----------------------|    \n| review_id (PK)       |    [uuid]\n| review_description   |    [str]\n| review_score         |    [str]\n| review_date          |    [DateTime]\n| client_email (FK)    |    [str]*\n\n\n#### Informações sobre clientes\n\n|      ClientData      |    \n|----------------------|\n| client_id (PK)       |    [uuid]*\n| client_name          |    [str]*\n| client_email         |    [str]*\n| adress               |    [str]*\n| postal_code          |    [str]*\n| payment_type         |    [str]*\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitorvogomes%2Ffastapi-menu-restaurante","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitorvogomes%2Ffastapi-menu-restaurante","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitorvogomes%2Ffastapi-menu-restaurante/lists"}