{"id":18429320,"url":"https://github.com/gal16v8d/pvz-svc","last_synced_at":"2026-04-29T12:31:13.757Z","repository":{"id":157623182,"uuid":"568906921","full_name":"gal16v8d/pvz-svc","owner":"gal16v8d","description":"Wiki Rest API for Plants Vs Zombies videogame","archived":false,"fork":false,"pushed_at":"2026-03-25T02:36:15.000Z","size":336,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-26T08:47:20.648Z","etag":null,"topics":["docker","fastapi","mongo","mongodb-atlas","poetry","pydantic","pydantic-models","python3"],"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/gal16v8d.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-21T17:01:42.000Z","updated_at":"2026-03-25T02:36:19.000Z","dependencies_parsed_at":"2024-01-06T04:28:22.911Z","dependency_job_id":"ef3cc3e1-c473-4ab4-97e5-517096b6da67","html_url":"https://github.com/gal16v8d/pvz-svc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gal16v8d/pvz-svc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gal16v8d%2Fpvz-svc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gal16v8d%2Fpvz-svc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gal16v8d%2Fpvz-svc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gal16v8d%2Fpvz-svc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gal16v8d","download_url":"https://codeload.github.com/gal16v8d/pvz-svc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gal16v8d%2Fpvz-svc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32426570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T12:24:25.982Z","status":"ssl_error","status_checked_at":"2026-04-29T12:24:24.439Z","response_time":110,"last_error":"SSL_read: 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":["docker","fastapi","mongo","mongodb-atlas","poetry","pydantic","pydantic-models","python3"],"created_at":"2024-11-06T05:16:38.907Z","updated_at":"2026-04-29T12:31:13.745Z","avatar_url":"https://github.com/gal16v8d.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pvz-svc\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"200\" src=\"fast-api-logo.png\" alt=\"FastApi logo\"\u003e\n  \u003cp align=\"center\"\u003e\n    FastApi + Mongo REST API wiki about Plants Vs Zombies videogame\n  \u003c/p\u003e\n\u003c/p\u003e\n\n# Get started\n\n## Unix\n\nInstall poetry:\n\n```bash\ncurl -sSL https://install.python-poetry.org | python3 -\n```\n\nInit repo:\n\n```bash\npoetry new pvz-svc\n```\n\nCreate the virtual env folder:\n\n```bash\nmkdir .venv\n```\n\nInstall all the dependencies in the project (clean-state):\n\n```bash\npoetry install\n```\n\nInstall any dependency you need:\n\n```bash\npoetry add lib_here\n```\n\nRemove a dependency you don't need:\n\n```bash\npoetry remove lib_here\n```\n\nUpdate all (updatable) libs\n\n```bash\npoetry update\n```\n\n# Set up\n\n# env\n\nActivate using the command:\n\n```bash\nsource .venv/bin/activate\n```\n\nExit virtual env:\n\n```bash\nexit\n```\n\nor\n\n```bash\ndeactivate\n```\n\n# Advanced use cases\n\nIf multiple python versions are found in the operative system, then\n\n- use pyenv to handle the versions\n- if needed set the local python for this project, like\n\n```bash\npyenv local 3.12.1\n```\n\n- you can confirm all good by checking\n\n```bash\npyenv which python\n```\n\n- set the specific python version like\n\n```bash\npoetry env use $USER_HOME/.pyenv/versions/3.12.1/bin/python\n```\n\n- then install using commands like the ones in the previous section\n\n# Formatter\n\nUsing `black` as code formatter\nCan be used this way:\n\n```bash\npoetry run black .\n```\n\n# Type checking\n\nUsing `mypy` for type checking\nCan be used this way:\n\n```bash\npoetry run mypy app tests\n```\n\n# docs\n\nOpen {base_url}/docs while running to access swagger instance\nOpen {base_url}/redoc while running to access redoc instance\n\n# launch\n\nYou might need to create a DB in Atlas Mongo, then please reference `.env.sample`, to create your own `.env`\nfile with the relevant database info. Once ready you can do the following to launch:\n\n```bash\nuvicorn app:app --reload\n```\n\n# test\n\n```bash\npytest\n```\n\n# automation\n\nRun the server using the command on launch section\nThen open another console, activate the env and go to automation folder\nOnce there run the tests using:\n\n```bash\nbehave\n```\n\nYou can see the console output with several features, scenarios and steps and its status as passed, failed or skipped.\n\n# Advanced use cases\n\nIf multiple python versions are found in the operative system, then\n\n- use pyenv to handle the versions\n- if needed set the local python for this project, like\n\n```bash\npyenv local 3.12.1\n```\n\n- you can confirm all good by checking\n\n```bash\npyenv which python\n```\n\n- set the specific python version like\n\n```bash\npoetry env use $USER_HOME/.pyenv/versions/3.12.1/bin/python\n```\n\n- then install using commands like the ones in the previous section\n\n# Formatter\n\nUsing `black` as code formatter\nCan be used this way:\n\n```bash\npoetry run black .\n```\n\n# Type checking\n\nUsing `mypy` for type checking\nCan be used this way:\n\n```bash\npoetry run mypy app tests\n```\n\n# api docs\n\n* http://{host}:{port}/docs (swagger)\n* http://{host}:{port}/redoc (redoc)\n\n# Web deployment\n\nThis app can be hosted in [Railway](https://railway.app), folder that helps with it is `.ci` folder.\n\n## List of cool technologies in use here\n\n- [FastApi](https://fastapi.tiangolo.com)\n- [poetry](https://python-poetry.org/)\n- [pymongo](https://pymongo.readthedocs.io/en/stable/)\n\n## License\n\n[MIT licensed](LICENSE).\n\n## Stay in touch\n\n- Author - [gal16v8d](https://github.com/gal16v8d)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgal16v8d%2Fpvz-svc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgal16v8d%2Fpvz-svc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgal16v8d%2Fpvz-svc/lists"}