{"repo":"fike/fastapi-blog","free":true,"listed":false,"github":"https://github.com/fike/fastapi-blog","clone":"git clone https://github.com/fike/fastapi-blog.git","description":"A FastAPI backend for blog with OpenTelemtry and Jaeger","language":"Python","stars":101,"topics":["fastapi","jaeger","opentelemetry","sqlalchemy","pytest","docker","nextjs","react","psotgresql","instrumentation"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"A FastAPI sample It's a FastAPI implementation as the backend for a blog system. This project's a funny goal to apply things that I'm learning. Things that you see here like telemetry using open source projects, CRUD using REST, and GraphQL (I hope that I have time to do that). Dependencies Poetry SQLAlchemy Alembic for migrations OpenTelemtry for instrumentation Docker Docker-Compose Jaeger Next.js React Make How to use Use make command to run inside a docker container, it'll expose the port 8000 and access using URL: http://localhost:8000 . I'm not sure if a makefile runs in the Powershell, probably yes but I suggest using WSL2. The frontend is in the early stage but you can see access: http://localhost:3000/ . Up and run : This repo is instrumented by OpenTelemtry and export metric to Jaeger that starts together with the app by Docker-Compose, to access: http://localhost:16686/ Tests To run tests will up a PostgreSQL container and expose 5433 port to populate. The report will write in htmlcov dir. Run and watch on the Jaeger things breaking The FastAPI code here was OpenTelemetry instrumented and to export Traces to Jaeger. If you want to see a break simulation, follow the steps below. Install dependencies Start FastAPI, PostgreSQL and Jaeger Open another shell session and run populate posts.py to create users and posts samples. Break things Open a third shell session to stop Postgres, this will break the FastAPI app. You'll see error messages in the log and the script cli","default_branch":null,"files":null,"tree":[],"storefront":"/r/fike","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fike/fastapi-blog/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}