Help needed on database schema design
I would suggest not storing images in the database.
Don't store unsalted password in the database. Hint: use pgcrypto
In PostgreSQL, don't use varchar where text would otherwise work, because it's implemented the same way except it doesn't have the check.


Don't use the JSON datatype unless you have good reason. Use jsonb, which you can operate on and index.