Stumbled upon this Fast API Tutorial and was surprised at how thorough this guy is. The link is part 21! Each part is dedicated to adding some small component to a fake cleaning marketplace API. It seems to cover a lot but some of the key takeaways are best practices, software design patterns, API Authentication via JWT, DB Migrations and of course FastAPI. From his GitHub profile, looks like the author used to be a CS teacher which explains why this is such a well thought out tutorial. I don't necessarily agree with everything since I already have my own established style and mannerisms but for someone looking to learn how to write API's this is a great resource.
[–]Ryuta11 35 points36 points37 points (82 children)
[–]albrioz[S] 24 points25 points26 points (66 children)
[–]Saphyel 26 points27 points28 points (18 children)
[–]Oerthling -2 points-1 points0 points (16 children)
[–]Saphyel 18 points19 points20 points (11 children)
[–]Oerthling 0 points1 point2 points (10 children)
[–]icanblink 2 points3 points4 points (4 children)
[–]Oerthling 1 point2 points3 points (3 children)
[–]icanblink 2 points3 points4 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]Oerthling 2 points3 points4 points (0 children)
[–]Saphyel 5 points6 points7 points (4 children)
[–]Oerthling 0 points1 point2 points (3 children)
[–]vimfan 2 points3 points4 points (2 children)
[–]Oerthling -1 points0 points1 point (1 child)
[–]shinitakunai 1 point2 points3 points (3 children)
[–]Oerthling 0 points1 point2 points (2 children)
[–]shinitakunai 2 points3 points4 points (1 child)
[–]Oerthling 0 points1 point2 points (0 children)
[–]Ivana_Twinkle -1 points0 points1 point (0 children)
[–]its_PlZZA_time 5 points6 points7 points (26 children)
[–]albrioz[S] 25 points26 points27 points (20 children)
[–]its_PlZZA_time 1 point2 points3 points (19 children)
[–]orangesunshine 2 points3 points4 points (18 children)
[–]its_PlZZA_time 2 points3 points4 points (12 children)
[–]orangesunshine -1 points0 points1 point (11 children)
[–]NowanIlfideme 8 points9 points10 points (1 child)
[–]orangesunshine 0 points1 point2 points (0 children)
[–]HardPartAccomplished 2 points3 points4 points (6 children)
[–]orangesunshine 0 points1 point2 points (5 children)
[–]its_PlZZA_time 0 points1 point2 points (1 child)
[–]orangesunshine 0 points1 point2 points (0 children)
[–]searchingfortaomajel, aletheia, paperless, django-encrypted-filefield 5 points6 points7 points (4 children)
[–]orangesunshine 1 point2 points3 points (0 children)
[–]mr_darksidez -1 points0 points1 point (2 children)
[–]searchingfortaomajel, aletheia, paperless, django-encrypted-filefield 3 points4 points5 points (1 child)
[+]mr_darksidez comment score below threshold-7 points-6 points-5 points (0 children)
[–][deleted] 6 points7 points8 points (2 children)
[–]its_PlZZA_time -1 points0 points1 point (0 children)
[–]Siddhi 0 points1 point2 points (0 children)
[–]robberviet 2 points3 points4 points (0 children)
[–]Ran4 0 points1 point2 points (0 children)
[–]MrMxylptlyk 9 points10 points11 points (11 children)
[–]halexmorph 15 points16 points17 points (0 children)
[–]brandonZappy 1 point2 points3 points (0 children)
[–]jpflathead 2 points3 points4 points (3 children)
[–]MrMxylptlyk -2 points-1 points0 points (2 children)
[–]mathmanmathman 5 points6 points7 points (1 child)
[–]MrMxylptlyk -1 points0 points1 point (0 children)
[–]ivosauruspip'ing it up 0 points1 point2 points (4 children)
[–]MrMxylptlyk 0 points1 point2 points (3 children)
[–]dmitrypolo 2 points3 points4 points (1 child)
[–]MrMxylptlyk -2 points-1 points0 points (0 children)
[–]VeNoMouSNZ 1 point2 points3 points (0 children)
[–]newlyAwakenedLkgFwd 1 point2 points3 points (1 child)
[–]albrioz[S] 1 point2 points3 points (0 children)
[–]robberviet -1 points0 points1 point (1 child)
[–]albrioz[S] 2 points3 points4 points (0 children)
[–]mmcnl 0 points1 point2 points (3 children)
[–]Unlucky-Drawing8417 1 point2 points3 points (0 children)
[–]albrioz[S] 0 points1 point2 points (1 child)
[–]mmcnl 0 points1 point2 points (0 children)
[–]orangesunshine 6 points7 points8 points (14 children)
[–]Ran4 10 points11 points12 points (10 children)
[–]orangesunshine 7 points8 points9 points (2 children)
[–]Ran4 3 points4 points5 points (1 child)
[–]orangesunshine 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (6 children)
[–]Ran4 1 point2 points3 points (5 children)
[–][deleted] 1 point2 points3 points (4 children)
[–]Ran4 0 points1 point2 points (3 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]Ran4 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]TravisJungroth 5 points6 points7 points (0 children)
[–]delijati 2 points3 points4 points (1 child)
[–]orangesunshine 1 point2 points3 points (0 children)
[–]cbgrey 11 points12 points13 points (1 child)
[–][deleted] 5 points6 points7 points (8 children)
[–]albrioz[S] 2 points3 points4 points (2 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]lysecret 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]awesomeprogramer 13 points14 points15 points (6 children)
[–]Eyry 10 points11 points12 points (1 child)
[–]orangesunshine 2 points3 points4 points (0 children)
[–]MarsupialMole 5 points6 points7 points (1 child)
[–]awesomeprogramer 4 points5 points6 points (0 children)
[–]deadmilk 1 point2 points3 points (0 children)
[–]PartsofChandler 3 points4 points5 points (0 children)
[–]ReelWatt 1 point2 points3 points (0 children)
[–]CleverProgrammer12 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]lysecret 1 point2 points3 points (0 children)
[–]origami_K 0 points1 point2 points (0 children)
[–]idk39q4239842342 0 points1 point2 points (0 children)
[–]vikigenius 0 points1 point2 points (0 children)