
- Frontend: We will be utilizing Jinja2 as our templating engine. And HTML, CSS, Bootstrap will drive our frontend goals.
 - API: FastAPI will drive our API, we will be following good software development principles e.g. Test-Driven Development, versioning of code, and Clean code principles to some extent.
 - Pytest: obviously for testing and we will also test the coverage of our application. Test coverage shows us what percentage of our code has been covered in unit tests.
 - Git/Github: For versioning our application and in case something breaks, we can revert to a previous state.
 - sqlalchemy: Say, you develop an application with Postgresql. Now, you give your code to your friend and he/she wants to use Mysql. That might require a lot of code changes in the application. So, instead, we make use of ORMs which makes use of Python class and converts the code to adapt to any popular database.
 - Alembic: We will meet Alembic in the last few episodes, It is like git for the database! We make a table, and now we want to revert some changes in our table, then we can use it.
 - Postgresql: Production grade database to store data. Feel free to use any other database, in case you don't want to install Postgres for whatsoever reason. We can use SQLite, It is a file-based lightweight database.