The database is the most important part of a modern web application, regardless of whether or not you use a NoSQL solution or MySQL. Sometimes when building a new application and it comes time to architect the database, it can be too easy to build a database that doesn’t accurately encompass the goal of your product.
The database building part is the part I find myself getting stuck on. What tables will I need? What field types should I use? Denormalise or normalise? Once you get further on up the road and your app is in full swing, it can sometimes be painful going back and changing fields, adding new ones and removing things (especially if you don’t use migrations).
I’ve created a repository on Github here which I will be updating from time to time with new schemas. Things like notification schemas, schemas for social networks, question and answer websites, niche schemas and more.
The reason I created this repository is because there are no resources out there helping you build the right database structure. If you search hard enough, you will find bits and pieces, but nothing substantial, up-to-date or even helpful most of the time.
Use the schemas as a rough guide, they’re not actual schemas in the sense of the word, more like database models.
I encourage you to submit your own schemas and or improve upon existing ones so we can make this a decent resource for someone wanting to architect their own web application and needing a good database structure.