Previously, I created a new village by scratch and placed all available workstations for every villager.
There are a total of 20 villagers with their own respective beds in 4 different houses, and each villager has their own professions.
In the previous release ( 1.14.1 Pre Release 2 ), the village system was a bit broken that I had to lock up the villagers by containing them in their own houses. After I updated my save to Minecraft 1.14.1, the village system got better but another problem hasn't been fixed.
Villagers would keep breeding despite there are only 20 beds for only 20 villagers and the new baby villagers would steal the owners' beds thus making the owner of the bed unable to sleep and be killed by zombies.
1. Create a village from scratch
2. Ensure that villagers are able to breed
3. Ensure that there are enough beds for every villager
4. Eventually a baby villager is bred exceeding the bed quota and will steal an occupied bed.