{"id":24143320,"url":"https://github.com/romiconez/fastapi-pytest-project","last_synced_at":"2026-04-30T03:34:27.284Z","repository":{"id":225569407,"uuid":"766303685","full_name":"RomiconEZ/FastApi-Pytest-project","owner":"RomiconEZ","description":"Example of using Fast API with Pytest in Python.","archived":false,"fork":false,"pushed_at":"2024-03-03T09:52:30.000Z","size":878,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-28T22:49:11.833Z","etag":null,"topics":["fastapi","pytest","python"],"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/RomiconEZ.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}},"created_at":"2024-03-02T22:11:26.000Z","updated_at":"2024-03-16T10:22:25.000Z","dependencies_parsed_at":"2024-03-02T23:32:15.900Z","dependency_job_id":"c5d41001-f5a5-4f75-9122-9c824913d8aa","html_url":"https://github.com/RomiconEZ/FastApi-Pytest-project","commit_stats":null,"previous_names":["romiconez/fastapi-pytest-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RomiconEZ/FastApi-Pytest-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomiconEZ%2FFastApi-Pytest-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomiconEZ%2FFastApi-Pytest-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomiconEZ%2FFastApi-Pytest-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomiconEZ%2FFastApi-Pytest-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RomiconEZ","download_url":"https://codeload.github.com/RomiconEZ/FastApi-Pytest-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomiconEZ%2FFastApi-Pytest-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32453917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","pytest","python"],"created_at":"2025-01-12T05:15:13.429Z","updated_at":"2026-04-30T03:34:22.271Z","avatar_url":"https://github.com/RomiconEZ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Book Selling Platform Announcement / Платформа объявлений о продаже книг\n\n## Project Description / Описание проекта\n\nENG: The project is created for educational purposes. It is a platform for book selling announcements.\n\nRUS: Проект создан в учебных целях. Представляет собой платформу объявлений о продаже книг.\n\n## Application Launch / Запуск приложения\n\nENG: Commands are executed in the console / RUS: Команды вызываются в консоли:\n\n#### Copy .env.example and change the name to .env / Скопируйте .env.example и измените имя на .env\n\n#### Deploying Postgres DB in a docker container / Развертка БД Postgres в docker-контейнере\n```shell\nmake up_compose\n```\n#### Installing dependencies for the FastAPI server / Установка зависимостей для FastAPI сервера\n```shell\nmake install_reqs\n```\n#### Starting the FastAPI server / Запуск FastAPI сервера\n```shell\nmake start_app\n```\n\n#### Stopping the server / Остановка сервера\n\nWin: ctrl + c, MacOS: control + c\n\n## Useful Information / Полезная информация\n\nENG: A **Makefile** with useful commands has been added to the repository. The commands are called in the console in this way:\n\nRUS: В репозиторий добавлен **Makefile** с полезными командами. Команды вызываются в консоли вот таким образом:\n\n```shell\nmake linters\n\nmake install_reqs\n```\n## Project Structure / Структура проекта\n\nENG: For convenience and adherence to the principles of clean architecture, the project is divided into the following packages:\n\nRUS: Для удобства и соблюдения принципов чистой архитектуры проект разделен на следующие пакеты:\n\n- `configurations` — ENG: layer for storing configurations, constants, parameters, and project settings. / RUS: слой для хранения конфигураций, констант, параметров и настроек проекта.\n- `models` — ENG: layer for storing models (ORM or Data Classes). / RUS: слой для хранения моделей (ORM или Data Classes).\n- `routers` — ENG: layer for setting URLs for different endpoints. / RUS: слой для настроек урлов для различных эндпоинтов.\n- `schemas` — ENG: layer containing pydantic schemes, responsible for serialization and validation. / RUS: слой, содержащий схемы pydantic, отвечает за сериализацию и валидацию.\n- `service` — ENG: layer containing commands for database access. / RUS: слой, содержащий команды для обращения к базе данных.\n- `tests` — ENG: layer containing tests of the handlers. / RUS: слой, содержащий тесты ручек.\n\n## Testing through Pytest / Тестирование через Pytest\n\n16 tests: 16 passed, 37 warnings\n\n## Testing Results through Postman / Результаты тестирования через Postman\n\nENG: All commands were executed sequentially.\n\nRUS: Все команды выполнены последовательно.\n\n![img.png](readme_images/post_seller.png)\n![img_1.png](readme_images/post_token.png)\n![img_2.png](readme_images/get_seller_1.png)\n![img_3.png](readme_images/post_books.png)\n![img_4.png](readme_images/get_seller_2.png)\n![img_5.png](readme_images/put_seller.png)\n![img_6.png](readme_images/get_seller_3.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromiconez%2Ffastapi-pytest-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromiconez%2Ffastapi-pytest-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromiconez%2Ffastapi-pytest-project/lists"}