{"id":24576767,"url":"https://github.com/aoiorio/fastapi-practice","last_synced_at":"2026-05-12T19:03:35.080Z","repository":{"id":229413477,"uuid":"776456779","full_name":"aoiorio/fastapi-practice","owner":"aoiorio","description":"This repository is for my practice of FastAPI","archived":false,"fork":false,"pushed_at":"2024-04-13T09:10:37.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-14T05:37:21.309Z","etag":null,"topics":["api","docker","fastapi","practice"],"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/aoiorio.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}},"created_at":"2024-03-23T15:05:20.000Z","updated_at":"2024-04-19T09:30:09.831Z","dependencies_parsed_at":"2024-04-19T09:30:08.870Z","dependency_job_id":"7f34436d-b44e-4b8f-a754-ab0bb5519f51","html_url":"https://github.com/aoiorio/fastapi-practice","commit_stats":null,"previous_names":["aoiorio/fastapi-practice"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoiorio%2Ffastapi-practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoiorio%2Ffastapi-practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoiorio%2Ffastapi-practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoiorio%2Ffastapi-practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aoiorio","download_url":"https://codeload.github.com/aoiorio/fastapi-practice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244039534,"owners_count":20387898,"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":["api","docker","fastapi","practice"],"created_at":"2025-01-23T22:50:52.763Z","updated_at":"2026-05-12T19:03:30.053Z","avatar_url":"https://github.com/aoiorio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 😇 This repository is for my practice of FastAPI 😇\n## 🤣 Now you can see my project's site [here](https://fastapi-deployment-e0kg.onrender.com) 🤣\n\n\u003cbr\u003e\n\n## 🪝 How to start for the first time\n``` shell\n# Create Docker image\n$ docker-compose build\n\n# Install dependencies packages (--no-root means that not installing myapp)\n$ docker-compose run --entrypoint \"poetry install --no-root\" fastapi-practice\n\n# Install all packages that in pyproject.toml\n# (if you changed or installed package in pyproject.toml, you must execute this command for reflection)\n$ docker-compose build --no-cache\n\n# Launch container\n$ docker-compose up\n```\n\u003cbr\u003e\n\n**\u003cdetails\u003e\u003csummary\u003e🤷🏼‍♂️ What are in .env\u003c/summary\u003e**\n\n``` env\nPOSTGRES_USER=YOUR POSTGRES USER NAME\nPOSTGRES_DB=YOUR POSTGRES DB NAME\nPOSTGRES_PASSWORD=YOUR POSTGRES PASSWORD\nPGADMIN_DEFAULT_EMAIL=YOUR EMAIL ADDRESS\nPGADMIN_DEFAULT_PASSWORD=YOUR PASSWORD\n\n# YOUR_SQLALCHEMY_DATABASE_NAME can be the database name that you made in PgAdmin\nSQLALCHEMY_DATABASE_URL=postgresql://YOUR_POSTGRES_USER_NAME:YOUR_POSTGRES_PASSWORD@todo_db:5432/YOUR_SQLALCHEMY_DATABASE_NAME\nTEST_SQLALCHEMY_DATABASE_URL=postgresql://YOUR_POSTGRES_USER_NAME:YOUR_POSTGRES_PASSWORD@todo_db:5432/YOUR_TEST_SQLALCHEMY_DATABASE_NAME\n```\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n**\u003cdetails\u003e\u003csummary\u003e👹 My pyproject.toml\u003c/summary\u003e**\n\n```toml\n[tool.poetry]\nname = \"fastapi-practice\"\nversion = \"0.1.0\"\ndescription = \"\"\nauthors = [\"Your Name \u003cyou@example.com\u003e\"]\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\nfastapi = \"^0.110.0\"\nuvicorn = {extras = [\"standard\"], version = \"^0.29.0\"}\nsqlalchemy = \"^2.0.29\"\npasslib = {extras = [\"bcrypt\"], version = \"^1.7.4\"}\nbcrypt = \"^4.1.2\"\npython-multipart = \"^0.0.9\"\npython-jose = {extras = [\"cryptography\"], version = \"^3.3.0\"}\npsycopg2-binary = \"^2.9.9\"\npsycopg2 = \"^2.9.9\"\nwheel = \"^0.43.0\"\nalembic = \"^1.13.1\"\npytest = \"^8.1.1\"\nhttpx = \"^0.27.0\"\npytest-asyncio = \"^0.23.6\"\naiofiles = \"^23.2.1\"\njinja2 = \"^3.1.3\"\n\n[build-system]\nrequires = [\"poetry-core\"]\nbuild-backend = \"poetry.core.masonry.api\"\n```\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n## 🚦 NOT for the first time to use this\n``` shell\n# Launch container\n$ docker-compose up\n```\n\u003cbr\u003e\n\n## 🦖 Info\n- 😄 If you want to add a package, you can exec this command\n```shell\n# login to fastapi-practice\n$ docker-compose exec fastapi-practice /bin/bash\n# Then you can execute it\n$ poetry add {the name of package}\n```\n\u003cbr\u003e\n\n- 🫀 If you want to connect PgAdmin to Postgres,\n  - PgAdmin's connection section will be service_postgres\n  - I think the name should be same as service_postgres\n  - And the user name will be POSTGRES_USER and password is going to be POSTGRES_PASSWORD that are in env file\n\n\u003cbr\u003e\n\n- 😵 **If you run alembic command**\n```shell\n# You have to add \"poetry run\" in front of \"alembic\" if you're using poetry\n$ poetry run alembic [your_command]\n```\n\n- 🤡 About my deployment\n  - I deployed the application (TodoAppFullStack) on [Render](https://fastapi-deployment-e0kg.onrender.com)\n  - I deployed the database on [ElephantSQL](https://www.elephantsql.com)\n  - So my database is provided by ElephantSQL for free but it might be removed on January 27, 2025\n\n\u003cbr\u003e\n\n\n## 🚢 References\n\n- FastAPI Rudimentary\n  - [Similar article of Udemy course](https://qiita.com/yamarao/items/6889adfd4b484b7b5e11)\n  - [Solve TemplateNotFound: home.html](https://www.reddit.com/r/FastAPI/comments/jd7h07/jinja2_templatenotfound_error/)\n  - [error reading bcrypt version ](https://github.com/langflow-ai/langflow/issues/1173)\n  - [What does Form(...) mean?](https://zenn.dev/chanyou0311/articles/fast-api-intro)\n\n- Database\n  - [SQLALCHEMY_DATABASE_URL_REFERENCE](https://stackoverflow.com/questions/71116549/sqlalchemy-exc-operationalerror-psycopg2-operationalerror-with-postgresql)\n  - [Add Foreign key and delete Foreign key](https://postgresweb.com/post-6354#google_vignette)\n\n- PgAdmin\n  - [CSRF token is missing error in docker pgadmin](https://stackoverflow.com/questions/64394628/csrf-token-is-missing-error-in-docker-pgadmin)\n\n- Docker\n  - [FastAPI Introduction with Docker](https://zenn.dev/sh0nk/books/537bb028709ab9/)\n  - [How to move to deferent directory like cd](https://qiita.com/rururu_kenken/items/8b5862e54fbe156a8cb8)\n  - [For the psycopg2.OperationalError THE MOST IMPORTANT CODE!](https://zenn.dev/ryo_t/articles/3be7a5ca39d496)\n  - [How to create docker-compose.yaml with Postgres and connecting with Pgadmin MAIN!](https://qiita.com/Akhr/items/8d5b5127ee971a640253)\n  - [Remove volume](https://ysko909.github.io/posts/delete-volume-when-get-password-authentication-failed-error/)\n  - [What's tty?](https://zenn.dev/hohner/articles/43a0da20181d34)\n  - [.env file](https://qiita.com/SolKul/items/989727aeeafcae28ecf7)\n\n- Python's Rudimentary\n  - [How to import other file?](https://qiita.com/karadaharu/items/37403e6e82ae4417d1b3)\n\n- Poetry\n  - [What is poetry](https://qiita.com/nilwurtz/items/0e5b8382757ccad9a56c)\n  - [How to run alembic command using poetry](https://zenn.dev/keita_f/articles/4493e3cfd76aec)\n  - [How to add a package by using poetry](https://zenn.dev/rihito/articles/7b48821e4a3f74)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faoiorio%2Ffastapi-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faoiorio%2Ffastapi-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faoiorio%2Ffastapi-practice/lists"}