![](https:/ /cdn.filestackcontent.com/hcg006yQ5q354UljJHdD)
Welcome back! If you're new to this series have a look at [Part 1 here](https:/ /nomadphp.com/blog/1925/code-with-me-challenge-custom-cms-development-with-php-and-mysql)
Today we are going to beef things up a bit and we will focus on the backend and some key CMS functionality.
It's time to get excited, this is where you'll start to see your barebones structure morph into something extraordinary!
Tired of my intro? That's ok! Let's jump into it!
## Getting the DB on board
Before we delve into this, it's imperative that we take a minute and plan things out.
The database tables that are vital to any CMS are the menu, the user table, and the content table.
Our menu table will start of as follows:
```
CREATE TABLE 'mydbname'.'menus' ( 'ID' INT(11) NOT NULL AUTO_INCREMENT , 'menuname' VARCHAR(100) NOT NULL , ...