docs: Update documentation and Doxygen documentation generation
diff --git a/apps/callback-based-app.h b/apps/callback-based-app.h
index 8cec638..1d7e74d 100644
--- a/apps/callback-based-app.h
+++ b/apps/callback-based-app.h
@@ -19,7 +19,7 @@
 namespace ns3 {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * @brief A meta application that can be used to create custom apps within Python bindings 
  */
 class CallbackBasedApp: public Application
diff --git a/apps/ndn-app.h b/apps/ndn-app.h
index fd29ab0..bbe5668 100644
--- a/apps/ndn-app.h
+++ b/apps/ndn-app.h
@@ -38,7 +38,11 @@
 class Face;
 
 /**
- * @ingroup ndn
+ * \ingroup ndn
+ * \defgroup ndn-apps NDN applications
+ */
+/**
+ * @ingroup ndn-apps
  * @brief Base class that all NDN applications should be derived from.
  * 
  * The class implements virtual calls onInterest, onNack, and onContentObject
diff --git a/apps/ndn-consumer-batches.h b/apps/ndn-consumer-batches.h
index 22b9b0c..23a75c9 100644
--- a/apps/ndn-consumer-batches.h
+++ b/apps/ndn-consumer-batches.h
@@ -29,7 +29,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * \brief Ndn application for sending out Interest packets in batches
  */
 class ConsumerBatches: public Consumer
diff --git a/apps/ndn-consumer-cbr.h b/apps/ndn-consumer-cbr.h
index 6143268..7076e7d 100644
--- a/apps/ndn-consumer-cbr.h
+++ b/apps/ndn-consumer-cbr.h
@@ -28,8 +28,8 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
- * \brief Ndn application for sending out Interest packets at a "constant" rate (Poisson process)
+ * @ingroup ndn-apps
+ * @brief Ndn application for sending out Interest packets at a "constant" rate (Poisson process)
  */
 class ConsumerCbr: public Consumer
 {
diff --git a/apps/ndn-consumer-window.h b/apps/ndn-consumer-window.h
index 42ee006..1064f54 100644
--- a/apps/ndn-consumer-window.h
+++ b/apps/ndn-consumer-window.h
@@ -29,7 +29,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * \brief Ndn application for sending out Interest packets (window-based)
  *
  * !!! ATTENTION !!! This is highly experimental and relies on experimental features of the simulator.
diff --git a/apps/ndn-consumer-zipf-mandelbrot.h b/apps/ndn-consumer-zipf-mandelbrot.h
index b9f4d17..d9333b3 100644
--- a/apps/ndn-consumer-zipf-mandelbrot.h
+++ b/apps/ndn-consumer-zipf-mandelbrot.h
@@ -38,7 +38,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * @brief NDN app requesting contents following Zipf-Mandelbrot Distbituion
  *
  * The class implements an app which requests contents following Zipf-Mandelbrot Distribution
diff --git a/apps/ndn-consumer.h b/apps/ndn-consumer.h
index bb9e30a..baa6ba3 100644
--- a/apps/ndn-consumer.h
+++ b/apps/ndn-consumer.h
@@ -41,7 +41,7 @@
 namespace ndn {
 
 /**
- * @ingroup ndn
+ * @ingroup ndn-apps
  * \brief NDN application for sending out Interest packets
  */
 class Consumer: public App
diff --git a/apps/ndn-producer.h b/apps/ndn-producer.h
index 8349ea2..1cf21fe 100644
--- a/apps/ndn-producer.h
+++ b/apps/ndn-producer.h
@@ -32,6 +32,7 @@
 namespace ndn {
 
 /**
+ * @ingroup ndn-apps
  * @brief A simple Interest-sink applia simple Interest-sink application
  *
  * A simple Interest-sink applia simple Interest-sink application,