composer installcommand from inside "themag-drupal-project" directory. Composer installs Drupal itself in the "web" directory (themag-drupal-project/web). Consider that on a production environment you have to configure your domain to point in that directory.
cd themag-drupal-project composer install
vendor/bin/drush site:install \ --existing-config \ --db-url=mysql://db_user:db_pass@localhost/db_name \ --account-name="demo" \ --account-pass="demo" \ --account-mail="email@example.com"
vendor/bin/drush en -y themag_demo
To be able to run Drush commands without specifying a relative path to a local Drush installation (vendor/bin/drush), you need a Drush Launcher.
This articles will help you to understand how to use Composer to manage your Drupal site:
Using Composer: https://www.drupal.org/docs/develop/using-composer
Drupal 8 Composer Best Practices: https://www.lullabot.com/articles/drupal-8-composer-best-practices