{"id":20622286,"url":"https://github.com/guligon90/vcx-solutions-challenge","last_synced_at":"2026-05-26T23:02:29.406Z","repository":{"id":137944139,"uuid":"363318986","full_name":"guligon90/vcx-solutions-challenge","owner":"guligon90","description":"Technical assessment for the position of full-stack web delevoper at VC-X Solutions.","archived":false,"fork":false,"pushed_at":"2023-06-18T01:23:40.000Z","size":267,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T01:39:17.808Z","etag":null,"topics":["backend-webdevelopment","data-structures","oop","python3"],"latest_commit_sha":null,"homepage":"","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/guligon90.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":"2021-05-01T04:06:22.000Z","updated_at":"2023-06-18T01:23:43.000Z","dependencies_parsed_at":"2024-11-16T12:23:04.312Z","dependency_job_id":"0dc0adfc-7d3e-4972-b94e-dda0a985345a","html_url":"https://github.com/guligon90/vcx-solutions-challenge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guligon90%2Fvcx-solutions-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guligon90%2Fvcx-solutions-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guligon90%2Fvcx-solutions-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guligon90%2Fvcx-solutions-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guligon90","download_url":"https://codeload.github.com/guligon90/vcx-solutions-challenge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242300190,"owners_count":20105159,"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":["backend-webdevelopment","data-structures","oop","python3"],"created_at":"2024-11-16T12:21:59.166Z","updated_at":"2026-05-26T23:02:24.370Z","avatar_url":"https://github.com/guligon90.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VC-X Solutions Challenge\n\nAvaliação técnica para a posição de full-stack engineer (Python) na VC-X Solutions.\n\n## Escopo\n\nO objetivo aqui é realizar a implementação de duas estruturas de dados clássicas: a [fila](https://en.wikipedia.org/wiki/Queue_(abstract_data_type)) e [pilha](https://en.wikipedia.org/wiki/Stack_(abstract_data_type)), não utilizando outras\nestruturas auxiliares, que sejam nativas da linguagem de programação em questão (eg. listas, tuplas, etc.). A\nespecificação e demais orientações acerca da execução do teste, submetidas pela empresa, podem ser conferidas [aqui](./resources/VCX_README.md).\n\n## Preliminares\n\n### Requisitos\n\nO seu workspace já deve possuir instalados os seguintes ítems:\n\n* [Git](https://git-scm.com/downloads) 2.25.1;\n* [Python](https://www.python.org/downloads/release/python-385/) 3.8.5.\n\n\nEm relação ao gerador de ambientes virtuais para Python, nesse projeto foi utilizado o [venv](https://docs.python.org/3.8/library/venv.html). Para instalá-lo, execute no terminal:\n\n```bash\nsudo apt-get install python3-venv\n```\n### Ambiente virtual\n\nDe modo a instalar o ambiente virtual do Python, e as dependências de projeto, executar no terminal:\n\n```bash\npython3 -m venv env \\                                  # Instala ambiente virtual\n\u0026\u0026 source env/bin/activate \\                           # Ativa ambiente virtual localmente\n\u0026\u0026 pip install --upgrade pip --no-cache-dir \\          # Instala e atualiza package manager, sem usar ~/.cache/pip\n\u0026\u0026 pip install -r requirements.txt --no-cache-dir      # Instala dependências de projeto, sem usar ~/.cache/pip\n```\n\n## Testes unitários\n\nCom o ambiente virtual e dependências instaladas, os testes unitários pode ser executados. Nesse projeto, o [pytest](https://docs.pytest.org/en/6.2.x/) está\nsendo utilizado, pelo fato de o mesmo possuir uma verbosidade superior ao [unittest](https://docs.python.org/3/library/unittest.html), (na minha opinião). Assim, para executar\nos testes e também gerar o relatório de cobertura, execute no terminal:\n\n```bash\npytest --cov=src -vv src/tests/\n```\n\nCaso você queira só executar os testes unitários, com verbosidade:\n\n```bash\npytest -vv\n```\n\n## Code linting\n\nConcernindo padronização de código, o code linting nesse projeto está sendo feito mediante a utilização da ferramenta [prospector](http://prospector.landscape.io/en/master/),\nque por sua vez converge vários outros analisadores de integridade de código (como [mypy](http://mypy-lang.org/) para análise estática de tipos e [mccabe](), para\naferição de [complexidade ciclomática](https://en.wikipedia.org/wiki/Cyclomatic_complexity#:~:text=Cyclomatic%20complexity%20is%20a%20software,in%201976.)).\n\nPara rodar o code linting no código em Python, basta executar:\n\n```bash\nprospector\n```\n\nA saída deverá, no cenário em que nenhuma inconsistência é encontrada, será similar à:\n\n![image](https://user-images.githubusercontent.com/35070513/116793854-a9c95c80-aa9f-11eb-8503-b790123446ef.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguligon90%2Fvcx-solutions-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguligon90%2Fvcx-solutions-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguligon90%2Fvcx-solutions-challenge/lists"}