Yes you can make this with custom app(module/plugin) shopify documentation
But you should understand how Shopify module works. You can't access direct to database and crate new database tables and rows, or create backend backend code on shopify, but you can manipulate data (products, orders, discounts, etc..) through shopify api and send data into liquid template or pages. Good example, and tutorial for PHP developers is there (Shopify app development in PHP)
If you want crate new data source (For example Blog, Comments or something like that) then you should crate that part on another server (Backend part) and connect with your app (module/plugin), and after that you can use data from another server in your Shopify templates or pages. Good example, and tutorial for PHP developers is there (Shopify app development in PHP)