diff --git a/lib/models/application_model.dart b/lib/models/application_model.dart
index 2043ad40ae113d888fd905351cb145b928cde454..15a433e458d8944ca7d194158ee2d922f1d0b701 100644
--- a/lib/models/application_model.dart
+++ b/lib/models/application_model.dart
@@ -1,3 +1,5 @@
+import 'package:intl/intl.dart';
+
 class Application {
   final int formId;
   final String applicationId;
@@ -5,6 +7,7 @@ class Application {
   final String email;
   final String status;
   final Map dataObject;
+  final String scheduledDate;
   final String createdDate;
   final String createdBy;
 
@@ -15,6 +18,7 @@ class Application {
     required this.email,
     required this.status,
     required this.dataObject,
+    required this.scheduledDate,
     required this.createdDate,
     required this.createdBy,
   });
@@ -27,7 +31,10 @@ class Application {
       email: json['email'] ?? '',
       status: json['status'],
       dataObject: json['dataObject'],
-      createdDate: json['createdDate'],
+      scheduledDate: json['scheduledDate'] ?? '2022-02-15',
+      createdDate: json['createdDate'] != null
+          ? DateFormat.yMMMEd().format(DateTime.parse(json['createdDate']))
+          : '',
       createdBy: json['createdBy'],
     );
   }
@@ -39,6 +46,7 @@ class Application {
         email,
         status,
         dataObject,
+        scheduledDate,
         createdDate,
         createdBy
       ];
diff --git a/lib/pages/application_details_page.dart b/lib/pages/application_details_page.dart
index 18da9b1f39e75c80af1f2a83c43714d0e80dc1b6..a08da6b7ad5e831661c7efd5a2dc02f0fafdab25 100644
--- a/lib/pages/application_details_page.dart
+++ b/lib/pages/application_details_page.dart
@@ -6,8 +6,12 @@ import 'package:smf_mobile/widgets/application_field.dart';
 import 'package:smf_mobile/widgets/silverappbar_delegate.dart';
 
 class ApplicationDetailsPage extends StatefulWidget {
+  final String applicationTitle;
+  final Map applicationFields;
   const ApplicationDetailsPage({
     Key? key,
+    required this.applicationTitle,
+    required this.applicationFields,
   }) : super(key: key);
 
   @override
@@ -19,16 +23,15 @@ class _ApplicationDetailsPageState extends State<ApplicationDetailsPage>
   final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
   TabController? _tabController;
   int _activeTabIndex = 0;
-  final List _tabs = [
-    'General details',
-    'Insurance details',
-    'Training center details',
-    'Upload documents'
-  ];
+  final List<String> _tabs = [];
+  final List<Map> _fields = [];
 
   @override
   void initState() {
     super.initState();
+    widget.applicationFields.forEach((key, value) => _tabs.add(key));
+    widget.applicationFields.forEach((key, value) => _fields.add(value));
+    // print(_fields);
     _tabController = TabController(vsync: this, length: _tabs.length);
     _tabController!.addListener(_setActiveTabIndex);
   }
@@ -47,6 +50,7 @@ class _ApplicationDetailsPageState extends State<ApplicationDetailsPage>
 
   @override
   Widget build(BuildContext context) {
+    // print(widget.applicationFields);
     return Scaffold(
       key: _scaffoldKey,
       appBar: AppBar(
@@ -55,7 +59,7 @@ class _ApplicationDetailsPageState extends State<ApplicationDetailsPage>
         backgroundColor: Colors.white,
         leading: const BackButton(color: AppColors.black60),
         title: Text(
-          'Applications title',
+          widget.applicationTitle,
           style: GoogleFonts.lato(
             color: AppColors.black87,
             fontSize: 16.0,
@@ -133,13 +137,16 @@ class _ApplicationDetailsPageState extends State<ApplicationDetailsPage>
                         color: AppColors.scaffoldBackground,
                         child:
                             TabBarView(controller: _tabController, children: [
-                          for (var tab in _tabs)
+                          for (Map field in _fields)
                             ListView.builder(
                                 shrinkWrap: true,
                                 physics: const NeverScrollableScrollPhysics(),
-                                itemCount: 3,
+                                itemCount: field.length,
                                 itemBuilder: (context, i) {
-                                  return const ApplicationField();
+                                  return ApplicationField(
+                                    fieldName: field.keys.elementAt(i),
+                                    fieldValue: field[field.keys.elementAt(i)],
+                                  );
                                 })
                         ]))))),
       ),
diff --git a/lib/pages/home_page.dart b/lib/pages/home_page.dart
index f560f27c25e45f31160f303db011ace0fe3f7599..2f85de3cd3feb84de9969544e44f79d261cc45bb 100644
--- a/lib/pages/home_page.dart
+++ b/lib/pages/home_page.dart
@@ -1,4 +1,5 @@
 import 'package:flutter/material.dart';
+import 'package:fluttertoast/fluttertoast.dart';
 import 'package:google_fonts/google_fonts.dart';
 import 'package:provider/provider.dart';
 import 'package:smf_mobile/constants/app_urls.dart';
@@ -6,6 +7,7 @@ import 'package:smf_mobile/constants/color_constants.dart';
 import 'package:smf_mobile/models/application_model.dart';
 import 'package:smf_mobile/pages/past_applications.dart';
 import 'package:smf_mobile/repositories/application_repository.dart';
+import 'package:smf_mobile/util/helper.dart';
 import 'package:smf_mobile/widgets/application_card.dart';
 
 // import 'dart:developer' as developer;
@@ -19,6 +21,10 @@ class HomePage extends StatefulWidget {
 }
 
 class _HomePageState extends State<HomePage> {
+  List<Application> _allApplications = [];
+  final List<Application> _pendingApplications = [];
+  final List<Application> _upcomingApplications = [];
+  final List<Application> _pastApplications = [];
   @override
   void initState() {
     super.initState();
@@ -26,10 +32,38 @@ class _HomePageState extends State<HomePage> {
   }
 
   Future<dynamic> _getApplications(context) async {
-    List<Application> applications =
+    _allApplications =
         await Provider.of<ApplicationRespository>(context, listen: false)
             .getApplications();
-    return applications;
+    String _errorMessage =
+        Provider.of<ApplicationRespository>(context, listen: false)
+            .errorMessage;
+    _pendingApplications.clear();
+    _upcomingApplications.clear();
+    _pastApplications.clear();
+    if (_allApplications.isNotEmpty) {
+      for (Application application in _allApplications) {
+        int days = Helper.getDateDiffence(
+            DateTime.now(), DateTime.parse(application.scheduledDate));
+        if (days == 0) {
+          _pendingApplications.add(application);
+        } else if (days > 0) {
+          _pastApplications.add(application);
+        } else {
+          _upcomingApplications.add(application);
+        }
+      }
+    } else if (_errorMessage.isNotEmpty) {
+      Fluttertoast.showToast(
+          msg: _errorMessage,
+          toastLength: Toast.LENGTH_SHORT,
+          gravity: ToastGravity.TOP,
+          timeInSecForIosWeb: 2,
+          backgroundColor: Colors.red,
+          textColor: Colors.white,
+          fontSize: 16.0);
+    }
+    return _allApplications;
   }
 
   @override
@@ -63,8 +97,6 @@ class _HomePageState extends State<HomePage> {
             future: _getApplications(context),
             builder: (context, AsyncSnapshot<dynamic> snapshot) {
               if (snapshot.hasData && snapshot.data != null) {
-                List<Application> _todaysApplications = snapshot.data;
-
                 return Column(
                   mainAxisAlignment: MainAxisAlignment.start,
                   crossAxisAlignment: CrossAxisAlignment.start,
@@ -83,10 +115,10 @@ class _HomePageState extends State<HomePage> {
                     ListView.builder(
                       shrinkWrap: true,
                       physics: const NeverScrollableScrollPhysics(),
-                      itemCount: _todaysApplications.length,
+                      itemCount: _pendingApplications.length,
                       itemBuilder: (context, i) {
                         return ApplicationCard(
-                            application: _todaysApplications[i]);
+                            application: _pendingApplications[i]);
                       },
                     ),
                     Container(
@@ -103,10 +135,10 @@ class _HomePageState extends State<HomePage> {
                     ListView.builder(
                       shrinkWrap: true,
                       physics: const NeverScrollableScrollPhysics(),
-                      itemCount: _todaysApplications.length,
+                      itemCount: _upcomingApplications.length,
                       itemBuilder: (context, i) {
                         return ApplicationCard(
-                            application: _todaysApplications[i]);
+                            application: _upcomingApplications[i]);
                       },
                     ),
                     Container(
@@ -120,7 +152,7 @@ class _HomePageState extends State<HomePage> {
                               context,
                               MaterialPageRoute(
                                   builder: (context) => PastApplications(
-                                      pastApplications: _todaysApplications)),
+                                      pastApplications: _pastApplications)),
                             );
                           },
                           style: OutlinedButton.styleFrom(
diff --git a/lib/services/application_service.dart b/lib/services/application_service.dart
index 18f185422661fbb476008ff607761b1e523ddc84..ad56fd7ee8aac7e17f1d88b0461834a0ff6b0401 100644
--- a/lib/services/application_service.dart
+++ b/lib/services/application_service.dart
@@ -18,6 +18,7 @@ class ApplicationService extends BaseService {
     headers['Authorization'] = '$authToken';
     final response = await http.post(Uri.parse(ApiUrl.getAllApplications),
         headers: BaseService.defaultHeaders, body: body);
+    // developer.log('$authToken');
     return response;
   }
 }
diff --git a/lib/util/helper.dart b/lib/util/helper.dart
new file mode 100644
index 0000000000000000000000000000000000000000..f2e37be45f02de5c934e1e2b0a4671609c4819d7
--- /dev/null
+++ b/lib/util/helper.dart
@@ -0,0 +1,27 @@
+import 'package:jwt_decoder/jwt_decoder.dart';
+
+class Helper {
+  static String getInitials(String name) {
+    String shortCode = 'UN';
+    name = name.replaceAll(RegExp(r'\s+'), ' ');
+    List temp = name.split(' ');
+    if (temp.length > 1) {
+      shortCode = temp[0][0].toUpperCase() + temp[1][0].toUpperCase();
+    } else if (temp[0] != '') {
+      shortCode = temp[0][0].toUpperCase() + temp[0][1].toUpperCase();
+    }
+    return shortCode;
+  }
+
+  static int getDateDiffence(DateTime today, DateTime dateTimeCreatedAt) {
+    String month = today.month < 10 ? '0${today.month}' : '${today.month}';
+    DateTime dateTimeNow = DateTime.parse('${today.year}-$month-${today.day}');
+    final differenceInDays = dateTimeNow.difference(dateTimeCreatedAt).inDays;
+    return differenceInDays;
+  }
+
+  static bool isTokenExpired(String token) {
+    bool isTokenExpired = JwtDecoder.isExpired(token);
+    return isTokenExpired;
+  }
+}
diff --git a/lib/widgets/application_card.dart b/lib/widgets/application_card.dart
index 9a854b64f47d048f8813d301056d4f93f1f6fd17..26f0cc061e823339bc0d8082686defee761fd3eb 100644
--- a/lib/widgets/application_card.dart
+++ b/lib/widgets/application_card.dart
@@ -27,7 +27,10 @@ class _ApplicationCardState extends State<ApplicationCard> {
         onTap: () => Navigator.push(
               context,
               MaterialPageRoute(
-                  builder: (context) => const ApplicationDetailsPage()),
+                  builder: (context) => ApplicationDetailsPage(
+                        applicationTitle: widget.application.title,
+                        applicationFields: widget.application.dataObject,
+                      )),
             ),
         child: Container(
           width: double.infinity,
diff --git a/lib/widgets/application_field.dart b/lib/widgets/application_field.dart
index ce3777c04e159249184d99f50f623404ff947dfc..cba41c0c8eac5332660f5245fffd39c0ac2239da 100644
--- a/lib/widgets/application_field.dart
+++ b/lib/widgets/application_field.dart
@@ -1,13 +1,15 @@
-// ignore_for_file: unnecessary_const
-
 import 'package:flutter/material.dart';
 import 'package:google_fonts/google_fonts.dart';
 import 'package:smf_mobile/constants/color_constants.dart';
 // import './../../constants.dart';
 
 class ApplicationField extends StatefulWidget {
+  final String fieldName;
+  final String fieldValue;
   const ApplicationField({
     Key? key,
+    required this.fieldName,
+    required this.fieldValue,
   }) : super(key: key);
   @override
   _ApplicationFieldState createState() => _ApplicationFieldState();
@@ -16,6 +18,7 @@ class ApplicationField extends StatefulWidget {
 class _ApplicationFieldState extends State<ApplicationField> {
   String _radioValue = 'Correct';
   final List<String> _options = ['Correct', 'Incorrect'];
+  final TextEditingController _noteController = TextEditingController();
 
   @override
   void initState() {
@@ -29,12 +32,13 @@ class _ApplicationFieldState extends State<ApplicationField> {
               return Stack(
                 children: [
                   Align(
-                    alignment: FractionalOffset.center,
+                    alignment: FractionalOffset.topCenter,
                     child: Container(
+                        margin: const EdgeInsets.only(top: 150),
                         decoration: BoxDecoration(
                             color: Colors.white,
                             borderRadius: BorderRadius.circular(4)),
-                        height: 330,
+                        height: 285,
                         width: MediaQuery.of(context).size.width - 40,
                         child: Padding(
                           padding: const EdgeInsets.all(20),
@@ -63,15 +67,15 @@ class _ApplicationFieldState extends State<ApplicationField> {
                                   borderRadius: BorderRadius.circular(8),
                                   child: Focus(
                                     child: TextFormField(
-                                      // autofocus: true,
-                                      // focusNode: _notesFocus,
+                                      autofocus: true,
+                                      controller: _noteController,
                                       textCapitalization:
                                           TextCapitalization.sentences,
                                       textInputAction: TextInputAction.done,
                                       keyboardType: TextInputType.multiline,
                                       minLines:
-                                          10, //Normal textInputField will be displayed
-                                      maxLines: 15, // wh
+                                          8, //Normal textInputField will be displayed
+                                      maxLines: 8, // wh
                                       // controller: notesController,
                                       style: const TextStyle(
                                           color: AppColors.black87,
@@ -160,9 +164,7 @@ class _ApplicationFieldState extends State<ApplicationField> {
 
   @override
   Widget build(BuildContext context) {
-    // setState(() {
-    //   _radioValue = widget.answerGiven;
-    // });
+    // print(widget.field);
     return SingleChildScrollView(
         reverse: true,
         child: Container(
@@ -193,7 +195,7 @@ class _ApplicationFieldState extends State<ApplicationField> {
                         Padding(
                           padding: const EdgeInsets.only(top: 5),
                           child: Text(
-                            'Lorem ipsum dolar sit amet',
+                            widget.fieldName,
                             style: GoogleFonts.lato(
                               color: AppColors.black87,
                               fontSize: 14.0,
@@ -210,7 +212,7 @@ class _ApplicationFieldState extends State<ApplicationField> {
                             border: Border.all(color: AppColors.black16),
                           ),
                           child: Text(
-                            'Lorem ipsum dolar sit amet',
+                            widget.fieldValue,
                             style: GoogleFonts.lato(
                               color: AppColors.black87,
                               fontSize: 14.0,
@@ -229,12 +231,12 @@ class _ApplicationFieldState extends State<ApplicationField> {
                         borderRadius: BorderRadius.only(
                             bottomLeft: Radius.circular(4),
                             bottomRight: Radius.circular(4)),
-                        color: AppColors.black08,
+                        color: AppColors.scaffoldBackground,
                         boxShadow: [
                           BoxShadow(
                               color: AppColors.black16,
-                              offset: Offset(0, 1),
-                              blurRadius: 1)
+                              offset: Offset(0, 2),
+                              blurRadius: 2)
                         ],
                       ),
                       child: SizedBox(
@@ -293,6 +295,10 @@ class _ApplicationFieldState extends State<ApplicationField> {
                                                   setState(() {
                                                     _radioValue = _options[i];
                                                   });
+                                                  if (_options[i] ==
+                                                      'Incorrect') {
+                                                    _displayCommentDialog();
+                                                  }
                                                 },
                                               ),
                                               Text(
@@ -319,6 +325,29 @@ class _ApplicationFieldState extends State<ApplicationField> {
                                       )
                                     ],
                                   )),
+                              _noteController.text.isNotEmpty
+                                  ? Container(
+                                      margin: const EdgeInsets.only(top: 10),
+                                      padding: const EdgeInsets.fromLTRB(
+                                          15, 10, 15, 10),
+                                      width: double.infinity,
+                                      decoration: BoxDecoration(
+                                        color: Colors.white,
+                                        border: Border.all(
+                                            color: AppColors.black16),
+                                        borderRadius: BorderRadius.circular(4),
+                                      ),
+                                      child: Text(
+                                        _noteController.text,
+                                        style: GoogleFonts.lato(
+                                          color: AppColors.black60,
+                                          fontSize: 14.0,
+                                          letterSpacing: 0.25,
+                                          fontWeight: FontWeight.w400,
+                                        ),
+                                      ),
+                                    )
+                                  : const Center()
                             ],
                           )))
                 ])));
diff --git a/pubspec.lock b/pubspec.lock
index 38a6f9cef0895be3a2df6257e8b166eaf5d33dd3..ebd138b94ea121476bdcba31f83bc935fa83e98d 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -205,6 +205,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "3.1.1"
+  intl:
+    dependency: "direct main"
+    description:
+      name: intl
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.17.0"
   js:
     dependency: transitive
     description:
@@ -212,6 +219,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.6.3"
+  jwt_decoder:
+    dependency: "direct main"
+    description:
+      name: jwt_decoder
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.1"
   lints:
     dependency: transitive
     description:
diff --git a/pubspec.yaml b/pubspec.yaml
index b1c47b1026048c87edc7578494dc3cfee9bfbd60..bfa5c1b8ff0331e69997e883e3f89d184d4630a4 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -41,6 +41,8 @@ dependencies:
   flutter_secure_storage: ^5.0.2
   provider: ^6.0.2
   fluttertoast: ^8.0.8
+  jwt_decoder: ^2.0.1
+  intl: ^0.17.0
 
 dev_dependencies:
   flutter_test: