Git Product home page Git Product logo

teste_simple's Introduction

Logo

Simpleenergy Teste

O desafio é desenvolver um programa em Python capaz de acessar e extrair informações de um website específico, organizando-as de forma eficaz. Importante ressaltar que o uso do Selenium* ou bibliotecas similares** não é permitido.

Etiquetas

MIT License GPLv3 License AGPL License

Resumo do sistema

Através desta Api, o sistema envia uma requisição para a url proposta no teste, recupera os links dentro do sistema, baixa os arquivos para a maquina local criando a pasta determinada no arquivo .env, complementando com subpastas renomeadas com o codigo enviado.

Salva os aqurivos neste diretório e em seguida executa a leitura do mesmo, trazendo as linhas contidas dentro de cada arquivo. O sistema esta fechado para leitura apenas de PDF e TXT.

Stack utilizada

Back-end:

  • Python

Framework:

  • FastApi

Bibliotecas:

  • requests
  • os
  • PyPDF2
  • BeautifulSoup
  • dotenv

Documentação da API

EndPoint de chamada

  GET /api_url/files/{codigo}

Retorno da Api

  {
    "pdf": [
        "e793ff53f0ca92f6205bc871546a2c79e54c4e0cd42c6a191e45e771d7217aca",
        "f60dacd4b776b6ab10d343a7129a0daf6a9ba23827854c99d9fdc3e1a1b846db"
    ],
    "txt": [
        "f60dacd4b776b6ab10d343a7129a0daf6a9ba23827854c99d9fdc3e1a1b846db.txt",
        "e793ff53f0ca92f6205bc871546a2c79e54c4e0cd42c6a191e45e771d7217aca.txt"
    ]
  }

Variáveis de Ambiente

Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env

TEST_HOST

SAVE_DIR

Rodando via container

Clone o projeto

  git clone https://github.com/ridabe/teste_simple

Entre no diretório do projeto

  cd my-project

Para construir a imagem Docker a partir do Dockerfile, no terminal, navegue até o diretório onde está localizado o Dockerfile e execute o comando:

  docker build -t minha-api .

Para executar um contêiner com a imagem criada:

  docker run -p 8000:8000 minha-api

Utilize o postman ou outro app para acessar as rotas da api, acesse o endereço iniciado pelo servidor:

  http://127.0.0.1:8000/files/321465

Rodando localmente

Clone o projeto

  git clone https://github.com/ridabe/teste_simple

Entre no diretório do projeto

  cd my-project

Inicie o servidor com o comando

  uvicorn main:app --reload

Utilize o postman ou outro app para acessar as rotas da api, acesse o endereço iniciado pelo servidor:

  http://127.0.0.1:8000/files/321465

Melhorias Sugeridas

Melhorias propostas para a segunda versão:

  • Refatorações
  • Melhorias de performance
  • Tratamento de erros(try)
  • Testes Unitários
  • criação do gitignore para nao enviar o .env
  • Ajustes de Typo

Suporte

Para suporte, mande um email para [email protected] ou entre em nosso whatsapp (11)94522-4263 (Ricardo Bene).

Usado por

Esse projeto é parte do processo seletivo da:

  • Simple Energy

Logo

teste_simple's People

Contributors

ridabe 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.