Back in the late 1990's I was approached to make a web site. They wanted to be able to add/edit content and have multiple content types. It was a vague request, and out of it came the design that I have used on mutiple occations. The data model consists of three basic tables. "Articles", "Types" and a join table "ArticleTypes"

The design allows for multiple article types in case the site needs; "News", "Entertainment", "Weather", etc. Each article can belong to one or more if desired.

It has been written in ASP and ASP.NET, with the back-end using MS Access or MS SQL Server. However minor changes can be made to use PHP and/or MySQL or other technologies.

The source code is one page; "Default.aspx". Each time a viewer requests a page the "hits" are stored within that article, so there is no need for external site metrics. Someday I will bother to make an extra page that shows the articles and their stats.

The source also includes all database scripts.

Source code and database scripts are available at GitHub.

Technologies: C#, ASP.NET, SQL Server