...

Job Board WebApp

  • List a job
  • Details of the Job post
  • Create a job post
  • Update the job
  • Delete the job
  • Permissions (Authorization required, only superuser and the original author can delete)
  • Authentication ( Registration and Login )
  • Test Endpoints
  • Test Coverage
  • Webapp for Jobboard

following something called Test-Driven Development

 

  • Frontend: I used Jinja2 as templating engine. And HTML, CSS, Bootstrap will drive frontend goals.
  • API: FastAPI drive API,  following good software development principles e.g. Test-Driven Development, versioning of code, Clean code principles to some extent.
  • Pytest: obviously for testing and I also test coverage of application. Test coverage shows us what percentage of my code has been covered in unit tests.
  • Git/Github: For versioning the application and in case something breaks, I 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, I make use of ORMs which makes use of Python class and converts the code to adapt to any popular database.
  • Alembic: I meet alembic at the last few episodes, It is like git for the database! I make a table, now I want to revert some changes in my tables, then I can use it.
  • Postgresql: Production grade database to store data. Feel free to use any other database and in case you don't want to install Postgres for whatsoever reason. I can use SQLite, It is a file-based lightweight database.

click below to see the app:

 

the source code is here: