{"id":27284490,"url":"https://github.com/matheus-costa-dev/churraspy","last_synced_at":"2025-04-11T18:58:35.824Z","repository":{"id":276860183,"uuid":"930383201","full_name":"matheus-costa-dev/churraspy","owner":"matheus-costa-dev","description":"Aplicação que  visa calcular o que será necessário para realizar um churrasco. Os dados dos alimentos e bebidas são oriundos de um webscrapping feito no site do supermercado princesa e armazenado  no banco de dados","archived":false,"fork":false,"pushed_at":"2025-04-06T13:19:47.000Z","size":15884,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T14:28:08.985Z","etag":null,"topics":["css","flask","html","js","python"],"latest_commit_sha":null,"homepage":"https://matheuspc.pythonanywhere.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matheus-costa-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-02-10T14:49:35.000Z","updated_at":"2025-04-06T13:19:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"8ecbd9e3-8d24-42e2-8363-d356aa84013f","html_url":"https://github.com/matheus-costa-dev/churraspy","commit_stats":null,"previous_names":["matheus-costa-dev/churraspy"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheus-costa-dev%2Fchurraspy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheus-costa-dev%2Fchurraspy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheus-costa-dev%2Fchurraspy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheus-costa-dev%2Fchurraspy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matheus-costa-dev","download_url":"https://codeload.github.com/matheus-costa-dev/churraspy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248465290,"owners_count":21108243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["css","flask","html","js","python"],"created_at":"2025-04-11T18:58:34.846Z","updated_at":"2025-04-11T18:58:35.809Z","avatar_url":"https://github.com/matheus-costa-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Churraspy ![Static Badge](https://img.shields.io/badge/Status-Concluido-green)\r\n\r\n[![Estrelas](https://img.shields.io/github/stars/matheus-costa-dev/churraspy?style=social)](https://github.com/matheus-costa-dev/churraspy/stargazers) [![Contribuidores](https://img.shields.io/github/contributors/matheus-costa-dev/churraspy)](https://github.com/matheus-costa-dev/churraspy/graphs/contributors) [![Tamanho do Repositório](https://img.shields.io/github/repo-size/matheus-costa-dev/churraspy)](https://github.com/matheus-costa-dev/churraspy) [![Linguagens](https://img.shields.io/github/languages/top/matheus-costa-dev/churraspy)](https://github.com/matheus-costa-dev/churraspy)  \r\n[![Último Commit](https://img.shields.io/github/last-commit/matheus-costa-dev/churraspy)](https://github.com/matheus-costa-dev/churraspy/commits/main) [![Issues](https://img.shields.io/github/issues/matheus-costa-dev/churraspy)](https://github.com/matheus-costa-dev/churraspy/issues) \r\n[![License](https://img.shields.io/github/license/matheus-costa-dev/churraspy)](https://github.com/matheus-costa-dev/churraspy/blob/main/LICENSE)\r\n\r\n## Demonstração\r\n\r\nhttps://github.com/user-attachments/assets/a110362d-3312-494e-8286-20487b708ab6\r\n\r\n## Índice :pushpin:\r\n\r\n- [Descrição](#descrição-books)\r\n- [Funcionalidades](#funcionalidades-do-projeto-hammer)\r\n- [Como rodar localmente](#como-rodar-localmente-desktop-computer)\r\n    - [Preparação do ambiente](#preparação-do-ambiente-shell)\r\n    - [Passo a passo](#passo-a-passo-walking)\r\n- [Principais arquivos e pastas](#principais-arquivos-e-pastas-file-folder)\r\n- [Tecnologias utilizadas](#tecnologias-utilizadas-computer)\r\n- [Desenvolvedores](#desenvolvedores-construction_worker)\r\n- [Ideias de novas features](#ideias-de-novas-features-sparkles)\r\n- [Como contribuir](#como-contribuir-handshake)\r\n- [Links](#links-globe_with_meridians)\r\n\r\n## Descrição :books:\r\n\r\nAplicação feita em python que visa calcular o que será necessário para realizar um churrasco. Os dados dos alimentos e bebidas são obtidos de um webscrapping feito no site do supermercado princesa maricá e armazenados no banco de dados sqlite. O projeto está configurado e rodando no servidor do python anywhere, para acessar \u003ca href=\"https://matheuspc.pythonanywhere.com/\"\u003e clique aqui \u003c/a\u003e\r\n\r\n## Funcionalidades do projeto :hammer:\r\n\r\n- `Web Scrapping`: Pesquisa de preço no site do mercado\r\n- `Armazenamento de Dados`: Armazena os preços em um banco de dados, sendo possível um histórico de preços\r\n- `Orçamento`: Permite que o cliente selecione os itens desejados e gera um orçamento real, com base nos preços atuais\r\n\r\n## Como rodar localmente :desktop-computer:\r\n\r\n### Preparação do ambiente :shell:\r\n\r\n* Se tiver o git instalado no computador: vá no terminal do seu computador e digite o comando\r\n    ```{bash}\r\n    git clone https://github.com/matheus-costa-dev/churraspy\r\n    ```\r\n* Se não tiver o git instalado: no repositorio do github https://github.com/matheus-costa-dev/churraspy clique em code e aperte em download zip, clique com o botão direito e extraia o arquivo. Assim que terminar de extrair, renomeia para churraspy\r\n\r\nAo final do processo entre na pasta churraspy\r\n\r\n### Passo a passo :walking: \r\n\r\n* Crie um ambiente virtual com o seguinte comando\r\n    ```{bash}\r\n    python -m venv env\r\n    ```\r\n* Ative o ambiente virtual com o comando\r\n    * Windowns: \r\n        ```{bash}\r\n        env\\scripts\\activate\r\n        ```\r\n    * Linux e Mac:\r\n      ```{bash}\r\n      source env\\bin\\activate\r\n      ```\r\n* instale as bibliotecas necessárias\r\n    ```{bash}\r\n    pip install -r requirements.txt\r\n    ```\r\n* Execute o script app.py\r\n    ```{bash}\r\n    python3 app.py\r\n    ```\r\n    :warning:Obs: veja como ta instalado o python no seu computador, pode ser de outra forma como por exemplo \u003ccode\u003e py app.py \u003c/code\u003e ou \u003ccode\u003e python app.py \u003c/code\u003e\r\n\r\nele irá rodar e criar um servidor local na sua maquina, no endereço **http://127.0.0.1:5000/**\r\ncopie esse endereço e cole na url do seu navegador\r\n\r\n## Principais arquivos e pastas :file-folder:\r\n\r\n* requirements.txt: Arquivo que informa quais bibliotecas são necessárias pra rodar essa aplicação\r\n* members.json: Arquivo onde as informações dos seus desenvolvedores estão armazenadas.\r\n* app.py: é o script principal onde irá executar o servidor.\r\n* instance: é onde fica os bancos de dados, foram feitos 2, um para armazenar os dados dos preços e outro para o que a pessoa pediu no nosso site para calcular o churrasco.\r\n* py_scripts: Fica armazenado os codigos python.\r\n    * calculo_churras.py: Logica do calculo que será retornado para o usuário\r\n    * SQL.py: Armazena os dados obtidos do web_scrapping.py feito no site do supermercado princesa no banco de dados Churrasquin.db\r\n    * SQL_session.py: Armazena os dados do pedido do que irá usar no churrasco, é inserido no banco de dados app.db\r\n    * Utilidade.py: Script intermediário que traz os dados do script SQL e retorna em formato de dicionário\r\n    * web_scrapping.py: Obtem os dados do supermercado princesa através de um request, é o script mais crítico devido a possível alteração constante onde os dados são armazenados no seu site\r\n* routes: Define as rotas que o site terá\r\n    * rotas.py: são definidos as rotas do nosso site e o que fará cada uma delas, lá atualmente tem 3 rotas index, calcular e resultado. index é a pagina inicial, o calcular é um endpoint que recebe os dados do que o usuário selecionou e redirecionar pra rota resultado\r\n* routines: Rotinas isoladas que devem ocorrer paralelo ao site\r\n    * atualizar_db.py: Atualiza o banco de dados dos preços dos produtos, deve ser rodado em um agendador de tarefas do windows ou crontab do linux, de forma isolada pode ser rodado manualmente.\r\n* templates: Fica nossos codigos html de cada rota e o que terá, a base.html define o corpo do site e o index.html e resultado.html defini qual é o conteudo que o usuário terá a disposição, essas duas são extensões da base.html\r\n* static: Fica os arquivos css, js e imagens\r\n\r\n## Tecnologias utilizadas :computer:\r\n\r\n\u003cdiv\u003e\r\n    \u003ctable\u003e\r\n        \u003ctr\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/python.png\" alt=\"Python\" title=\"Python\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/javascript.png\" alt=\"JavaScript\" title=\"JavaScript\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/sqlite.png\" alt=\"SQLite\" title=\"SQLite\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/html.png\" alt=\"HTML\" title=\"HTML\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/css.png\" alt=\"CSS\" title=\"CSS\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/bootstrap.png\" alt=\"Bootstrap\" title=\"Bootstrap\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/git.png\" alt=\"Git\" title=\"Git\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/github.png\" alt=\"GitHub\" title=\"GitHub\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n            \u003cth\u003e\u003ccode\u003e\u003cimg width=\"50\" src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/pandas.png\" alt=\"Pandas\" title=\"Pandas\"/\u003e\u003c/code\u003e\u003c/th\u003e\r\n        \u003c/tr\u003e\r\n        \u003ctr\u003e\r\n            \u003ctd\u003e\u003ch5\u003ePython\u003c/h5\u003e\u003c/td\u003e\r\n            \u003ctd\u003e\u003ch5\u003eJavaScript\u003c/h5\u003e\u003c/td\u003e\r\n            \u003ctd\u003e\u003ch5\u003eSQLite\u003c/h5\u003e\u003c/td\u003e\r\n            \u003ctd\u003e\u003ch5\u003eHTML\u003c/h5\u003e\u003c/td\u003e\r\n            \u003ctd\u003e\u003ch5\u003eCSS\u003c/h5\u003e\u003c/td\u003e\r\n            \u003ctd\u003e\u003ch5\u003eBootstrap\u003c/h5\u003e\u003c/td\u003e\r\n            \u003ctd\u003e\u003ch5\u003eGit\u003c/h5\u003e\u003c/td\u003e\r\n            \u003ctd\u003e\u003ch5\u003eGitHub\u003c/h5\u003e\u003c/td\u003e\r\n            \u003ctd\u003e\u003ch5\u003ePandas\u003c/h5\u003e\u003c/td\u003e\r\n        \u003c/tr\u003e\r\n    \u003c/table\u003e\r\n\u003c/div\u003e\r\n\r\n## Desenvolvedores :construction_worker:\r\n\r\n### Back-End :wrench:\r\n\r\n| [\u003cimg loading=\"lazy\" src=\"https://avatars.githubusercontent.com/matheus-costa-dev\" width=115\u003e\u003cbr\u003e\u003csub\u003eMatheus Pereira Costa\u003c/sub\u003e](https://github.com/matheus-costa-dev) | [\u003cimg loading=\"lazy\" src=\"https://avatars.githubusercontent.com/hugokoppe\" width=115\u003e\u003cbr\u003e\u003csub\u003eHugo Koppe\u003c/sub\u003e](https://github.com/hugokoppe) | [\u003cimg loading=\"lazy\" src=\"https://avatars.githubusercontent.com/dvsalvaya\" width=115\u003e\u003cbr\u003e\u003csub\u003eDavi salvaya\u003c/sub\u003e](https://github.com/dvsalvaya) | [\u003cimg loading=\"lazy\" src=\"https://avatars.githubusercontent.com/Rodrigo-Avieira\" width=115\u003e\u003cbr\u003e\u003csub\u003eRodrigo Vieira\u003c/sub\u003e](https://github.com/Rodrigo-Avieira) | [\u003cimg loading=\"lazy\" src=\"https://avatars.githubusercontent.com/carolinesvazz\" width=115\u003e\u003cbr\u003e\u003csub\u003eCaroline Vazz\u003c/sub\u003e](https://github.com/carolinesvazz) |\r\n| :---: | :---: | :---: | :---: | :---: |\r\n\r\n### Front-End :art:\r\n\r\n| [\u003cimg loading=\"lazy\" src=\"https://avatars.githubusercontent.com/matheus-costa-dev\" width=115\u003e\u003cbr\u003e\u003csub\u003eMatheus Pereira Costa\u003c/sub\u003e](https://github.com/matheus-costa-dev) | [\u003cimg loading=\"lazy\" src=\"https://avatars.githubusercontent.com/Ju-Rodrigues22\" width=115\u003e\u003cbr\u003e\u003csub\u003eJuliana Rodrigues Ferreira\u003c/sub\u003e](https://github.com/Ju-Rodrigues22) |\r\n| :---: | :---: |\r\n\r\n## Ideias de novas features :sparkles:\r\n\r\n1. O site pode conter uma nova rota chamada histórico no qual irá demonstra através de gráfico a variação de preço dos produtos\r\n2. Na pagina inicial do site o usuário poder selecionar a quantidade que quer de cada item ou ao menos dentro daquela seção ele considera mais importante pra comprar mais daquele produto específico do que de outro.\r\n3. Criar um relatorio dinâmico estilo power bi so que no python, exemplo com bibliotecas Taipy \r\n\r\n## Como Contribuir :handshake:\r\n\r\nSe você deseja contribuir para o projeto, siga os passos abaixo:\r\n\r\n1. **Fork o repositório** clicando no botão \"Fork\" no topo da página.\r\n2. **Crie uma branch** para sua modificação:\r\n   ```bash\r\n   git checkout -b feature/minha-nova-funcionalidade\r\n   ```\r\n3. **Realize as alterações** no código e faça o commit das mudanças:\r\n   ```bash\r\n   git commit -am 'Adicionando nova funcionalidade'\r\n   ```\r\n4. **Envie suas mudanças** para o repositório remoto:\r\n   ```bash\r\n   git push origin feature/minha-nova-funcionalidade\r\n   ```\r\n5. **Abra um Pull Request** para discutir e revisar suas alterações.\r\n\r\n## Links :globe_with_meridians:\r\n\r\n- [Aplicação ao vivo](https://matheuspc.pythonanywhere.com/)\r\n- [Montar Readme.md](https://www.alura.com.br/artigos/escrever-bom-readme)\r\n- [Gerar icones](https://marwin1991.github.io/profile-technology-icons/)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheus-costa-dev%2Fchurraspy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatheus-costa-dev%2Fchurraspy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheus-costa-dev%2Fchurraspy/lists"}