Making a fronted in HUGO for micro-blogging application with Codeigniter backend

I am working on a blog application with Codeigniter 3.1.8 and AngularJS v1.7.8.

The Dashboard of the application is “pure” Codeigniter, with Models, Controllers, and views, while the fronted is made up of JSONs managed and displayed by AngularJS.

I operated this clear separation between back-end and front-end in order to enable “themeing”. The back-end spits-out JSONs that AngularJS handles quite well (but not well enough).

The application is easy to use: after creating a database and providing its credentials to the application/config/database.php file, you can run the Install controller which will create all the necessary tables:

class Install extends CI_Controller {
	public function __construct()
	{
		parent::__construct();
	}

	public function index(){
		// Create all the database tables if there are none
		// by redirecting to the Migrations controller
		$tables = $this->db->list_tables();
		if (count($tables) == 0) {
			redirect('migrate');
		} else {
			redirect('/');
		}
	}
}

After that, you can register as an author. Being the first registered author, you are also an admin, meaning that your author account does not require activation (and the value for the is_admin column has a value of 1 in the database record for you).

All the future authors will need their accounts activated by you in order to publish articles (posts).

It is a rather ambitious project, but it has shortcomings. The obvious shortcoming of this application is: you are not able to see the templates (HTML) with [CTRL] + [U], which is bad for SEO.

Question: How opportune would it be to replace the AngularJS front-end with a HUGO frontend?

I am rather new to HUGO, far from an expert and I don’t have an answer to this question. Thanks!

  1. AngularJS is dynamic. Hugo is static. Hugo itself can’t serve your wishes. Probably an application host like Netlify could solve that issue with a static website. But it’s kind of solving your “I want to get from point A to B” issue with a “I bake bread in various colors” solution. Hugo is static.
  2. A “dashboard” for a blog application has an SEO problem? WHY would you want your dashboard to be SEO “optimized”? Thats nothing anyone would want or should want to find in a search engine.