├── adb
├── android
├── settings_aar.gradle
├── gradle.properties
├── app
│ ├── src
│ │ ├── main
│ │ │ ├── res
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── launcher_icon.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── launcher_icon.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── launcher_icon.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── launcher_icon.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── launcher_icon.png
│ │ │ │ ├── xml
│ │ │ │ │ └── network_security_config.xml
│ │ │ │ ├── drawable
│ │ │ │ │ └── launch_background.xml
│ │ │ │ └── values
│ │ │ │ │ └── styles.xml
│ │ │ ├── kotlin
│ │ │ │ └── com
│ │ │ │ │ └── fusionIIIT
│ │ │ │ │ └── fusion
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── AndroidManifest.xml
│ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ └── profile
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── .gitignore
├── settings.gradle
└── build.gradle
├── ios
├── Runner
│ ├── Runner-Bridging-Header.h
│ ├── Assets.xcassets
│ │ ├── LaunchImage.imageset
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ ├── README.md
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-83.5x83.5@2x.png
│ │ │ └── Contents.json
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── Main.storyboard
│ │ └── LaunchScreen.storyboard
│ └── Info.plist
├── Flutter
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── AppFrameworkInfo.plist
├── Runner.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ └── project.pbxproj
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── IDEWorkspaceChecks.plist
├── .gitignore
└── Podfile
├── assets
├── logo.jpg
├── mypic.jpg
├── unknown.jpg
├── logofusion.png
├── profile.jpeg
├── 2018238_lat.jpg
├── Nunito-Black.ttf
├── profile_pic.png
└── Nunito-Regular.ttf
├── db
├── UG_programmes.csv
├── PG_Programmes.csv
├── UG_Under_Graduate.csv
├── PHD_Programmes.csv
├── PG_Post_Graduate.csv
├── PHD_Graduate.csv
├── ALL_Programmes.csv
├── Disciplines.csv
├── Working_Curriculum.csv
├── Working_Curriculum1.csv
├── Batches.csv
└── courses.csv
├── lib
├── constants.dart
├── models
│ ├── user.dart
│ ├── dashboard.dart
│ ├── gymkhana.dart
│ ├── notification.dart
│ ├── complaints.dart
│ ├── health.dart
│ ├── academic_faculty.dart
│ ├── profile.dart
│ └── academic.dart
├── Components
│ ├── tabBar_children_with_text_button.dart
│ ├── appBar.dart
│ └── side_drawer.dart
├── screens
│ ├── landing_page.dart
│ ├── Programme_Curriculum
│ │ ├── Curriculums
│ │ │ ├── tab_curriculum.dart
│ │ │ └── curriculums.dart
│ │ ├── Programme_Info
│ │ │ ├── InfoTabComponent.dart
│ │ │ └── programme_info.dart
│ │ ├── Programme
│ │ │ ├── tabComponent.dart
│ │ │ └── programme_home_page.dart
│ │ ├── Courses
│ │ │ ├── courseTabComponent.dart
│ │ │ └── courses.dart
│ │ ├── Discipline
│ │ │ ├── discTabComponent.dart
│ │ │ └── discipline.dart
│ │ ├── Courses_Info
│ │ │ ├── courseInfoTabComponent.dart
│ │ │ └── courses_info.dart
│ │ ├── Batches
│ │ │ ├── batchTabComponent.dart
│ │ │ └── batches.dart
│ │ └── programme_curriculum_home.dart
│ └── NewAcademic
│ │ └── academic_home_page.dart
├── api.dart
└── main.dart
├── test
└── widget_test.dart
├── README.md
├── .gitignore
└── pubspec.yaml
/adb:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/android/settings_aar.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/assets/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/logo.jpg
--------------------------------------------------------------------------------
/assets/mypic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/mypic.jpg
--------------------------------------------------------------------------------
/assets/unknown.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/unknown.jpg
--------------------------------------------------------------------------------
/assets/logofusion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/logofusion.png
--------------------------------------------------------------------------------
/assets/profile.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/profile.jpeg
--------------------------------------------------------------------------------
/assets/2018238_lat.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/2018238_lat.jpg
--------------------------------------------------------------------------------
/assets/Nunito-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/Nunito-Black.ttf
--------------------------------------------------------------------------------
/assets/profile_pic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/profile_pic.png
--------------------------------------------------------------------------------
/assets/Nunito-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/assets/Nunito-Regular.ttf
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 | android.enableR8=true
5 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/launcher_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-hdpi/launcher_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/launcher_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-mdpi/launcher_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/arihant-jain-09/fusion-flutter-UI/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/db/UG_programmes.csv:
--------------------------------------------------------------------------------
1 | "Programme Category","Programme Name","Programme Begin Year"
2 | "UG","B.Tech ME",2021
3 | "UG","B.Design",2021
4 | "UG","B.Tech CSE",2021
5 | "UG","B.Tech ECE",2021
6 | "UG","B.Tech SM",2021
7 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/db/PG_Programmes.csv:
--------------------------------------------------------------------------------
1 | "Programme Category","Programme Name","Programme Begin Year"
2 | "PG","M.Tech CSE",2021
3 | "PG","M.Tech ECE",2021
4 | "PG","M.Tech ME",2021
5 | "PG","M. Tech Mechatronics",2020
6 | "PG","M.Des Design",2021
7 | "PG","M.Tech SM",2021
8 |
--------------------------------------------------------------------------------
/db/UG_Under_Graduate.csv:
--------------------------------------------------------------------------------
1 | "programmes","discipline"
2 | "B.Tech CSE","Computer Science and Engineering"
3 | "B.Tech ECE","Electronics and Communication Engineering"
4 | "B.Tech ME","Mechanical Engineering"
5 | "B.Design","Design"
6 | "B.Tech SM","Smart Manufacturing"
7 |
--------------------------------------------------------------------------------
/db/PHD_Programmes.csv:
--------------------------------------------------------------------------------
1 | "Programme Category","Programme Name","Programme Begin Year"
2 | "PHD","Phd in CSE",2021
3 | "PHD","Phd in ECE",2021
4 | "PHD","Phd in ME",2021
5 | "PHD","PhD in Physics",2017
6 | "PHD","PhD in Maths",2017
7 | "PHD","PhD in English",2018
8 | "PHD","PhD in Design",2017
9 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
7 |
--------------------------------------------------------------------------------
/db/PG_Post_Graduate.csv:
--------------------------------------------------------------------------------
1 | "programmes","discipline"
2 | "M.Tech ECE","Electronics and Communication Engineering"
3 | "M.Tech CSE","Computer Science and Engineering"
4 | "M.Tech ME","Mechanical Engineering"
5 | "M.Des Design","Design"
6 | "M. Tech Mechatronics","Mechatronics"
7 | "M.Tech SM","Smart Manufacturing"
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/db/PHD_Graduate.csv:
--------------------------------------------------------------------------------
1 | "programmes","discipline"
2 | "Phd in ECE","Electronics and Communication Engineering"
3 | "Phd in CSE","Computer Science and Engineering"
4 | "Phd in ME","Mechanical Engineering"
5 | "PhD in Design","Design"
6 | "PhD in Maths","Natural Sciences-Mathematics"
7 | "PhD in Physics","Natural Sciences-Physics"
8 | "PhD in English","Humanities - English"
9 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/lib/constants.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:fusion/api.dart';
3 |
4 | const kTextFieldInputDecoration = InputDecoration(
5 | filled: true,
6 | fillColor: Colors.white,
7 | hintStyle: TextStyle(color: Colors.grey),
8 | border: OutlineInputBorder(
9 | borderRadius: BorderRadius.all(Radius.circular(10)),
10 | borderSide: BorderSide(),
11 | ),
12 | );
13 |
14 | String getLink() {
15 | return kserverLink;
16 | }
17 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/lib/models/user.dart:
--------------------------------------------------------------------------------
1 | enum UserState {
2 | uninitiated,
3 | tokenPresent,
4 | loggedIn,
5 | }
6 |
7 | class User {
8 | String? token;
9 | UserState state = UserState.uninitiated;
10 |
11 | User(String username) {
12 | this.token = username;
13 | }
14 |
15 | Map toJson() {
16 | return {
17 | "token": this.token,
18 | };
19 | }
20 |
21 | User.fromJson(Map json) {
22 | this.token = json["token"];
23 | this.state = UserState.tokenPresent;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/models/dashboard.dart:
--------------------------------------------------------------------------------
1 | import 'package:fusion/models/notification.dart';
2 |
3 | class DashboardData {
4 | List? notifications;
5 | List? designation;
6 | List? clubDetails;
7 |
8 | DashboardData({this.clubDetails, this.designation, this.notifications});
9 |
10 | factory DashboardData.fromJson(Map json) {
11 | return DashboardData(
12 | clubDetails: json["club_details"],
13 | designation: json["desgination_info"],
14 | notifications: Notification.fromListJson(json["notifications"]),
15 | );
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/db/ALL_Programmes.csv:
--------------------------------------------------------------------------------
1 | "Programme Category","Programme Name","Programme Begin Year"
2 | "PG","M.Tech CSE",2021
3 | "PG","M.Tech ECE",2021
4 | "PG","M.Tech ME",2021
5 | "PG","M. Tech Mechatronics",2020
6 | "PG","M.Des Design",2021
7 | "PG","M.Tech SM",2021
8 | "PHD","Phd in CSE",2021
9 | "PHD","Phd in ECE",2021
10 | "PHD","Phd in ME",2021
11 | "PHD","PhD in Physics",2017
12 | "PHD","PhD in Maths",2017
13 | "PHD","PhD in English",2018
14 | "PHD","PhD in Design",2017
15 | "UG","B.Tech ME",2021
16 | "UG","B.Design",2021
17 | "UG","B.Tech CSE",2021
18 | "UG","B.Tech ECE",2021
19 | "UG","B.Tech SM",2021
20 |
21 |
--------------------------------------------------------------------------------
/lib/Components/tabBar_children_with_text_button.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class TabBarChildrenWithTextButton extends StatelessWidget {
4 | const TabBarChildrenWithTextButton({
5 | Key? key,
6 | this.label = "",
7 | this.onPressed,
8 | }) : super(key: key);
9 | final String label;
10 | final Function()? onPressed;
11 |
12 | @override
13 | Widget build(BuildContext context) {
14 | return Center(
15 | child: Container(
16 | child: TextButton(
17 | onPressed: onPressed,
18 | child: Text('$label'),
19 | ),
20 | ),
21 | );
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/lib/screens/landing_page.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:fusion/Components/appBar.dart';
3 | import 'package:fusion/Components/side_drawer.dart';
4 |
5 | class LandingPage extends StatefulWidget {
6 | @override
7 | _LandingPageState createState() => _LandingPageState();
8 | }
9 |
10 | class _LandingPageState extends State {
11 | @override
12 | Widget build(BuildContext context) {
13 | return Scaffold(
14 | appBar: DefaultAppBar().buildAppBar(),
15 | drawer: SideDrawer(),
16 | body: Container(
17 | child: Text('Welcome to Fusion'),
18 | ),
19 | );
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.6.10'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:4.2.2'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | jcenter()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/lib/Components/appBar.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class DefaultAppBar {
4 | AppBar buildAppBar() {
5 | return AppBar(
6 | backgroundColor: Colors.black,
7 | title: Text(
8 | "FUSION",
9 | style: TextStyle(color: Colors.white),
10 | ),
11 | actions: [
12 | Padding(
13 | padding: EdgeInsets.all(8.0),
14 | child: Icon(Icons.search),
15 | ),
16 | Padding(
17 | padding: EdgeInsets.all(8.0),
18 | child: Icon(Icons.notifications),
19 | ),
20 | Padding(
21 | padding: EdgeInsets.all(8.0),
22 | child: Icon(Icons.more_vert),
23 | ),
24 | ],
25 | );
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/db/Disciplines.csv:
--------------------------------------------------------------------------------
1 | "Discipline Name","programmes"
2 | "Computer Science and Engineering","B.Tech CSE"
3 | "Computer Science and Engineering","Phd in CSE"
4 | "Computer Science and Engineering","M.Tech CSE"
5 | "Electronics and Communication Engineering","M.Tech ECE"
6 | "Electronics and Communication Engineering","B.Tech ECE"
7 | "Electronics and Communication Engineering","Phd in ECE"
8 | "Mechanical Engineering","B.Tech ME"
9 | "Mechanical Engineering","M.Tech ME"
10 | "Mechanical Engineering","Phd in ME"
11 | "Design","M.Des Design"
12 | "Design","B.Design"
13 | "Design","PhD in Design"
14 | "Smart Manufacturing","M.Tech SM"
15 | "Smart Manufacturing","B.Tech SM"
16 | "Mechatronics","M. Tech Mechatronics"
17 | "Natural Sciences-Mathematics","PhD in Maths"
18 | "Natural Sciences-Physics","PhD in Physics"
19 | "Humanities - English","PhD in English"
20 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/fusionIIIT/fusion/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.fusionIIIT.fusion
2 |
3 | import android.os.Build
4 | import android.os.Bundle
5 | import androidx.core.view.WindowCompat
6 | import io.flutter.embedding.android.FlutterActivity
7 |
8 | class MainActivity : FlutterActivity() {
9 | override fun onCreate(savedInstanceState: Bundle?) {
10 | // Aligns the Flutter view vertically with the window.
11 | WindowCompat.setDecorFitsSystemWindows(getWindow(), false)
12 |
13 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
14 | // Disable the Android splash screen fade out animation to avoid
15 | // a flicker before the similar frame is drawn in Flutter.
16 | splashScreen.setOnExitAnimationListener { splashScreenView -> splashScreenView.remove() }
17 | }
18 |
19 | super.onCreate(savedInstanceState)
20 | }
21 | }
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 8.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/lib/models/gymkhana.dart:
--------------------------------------------------------------------------------
1 | class GymkhanaData {
2 | //? notifications;
3 |
4 | List? clubNames;
5 | List? membersDetails;
6 | List? clubDetails;
7 | List? clubSessions;
8 | List? clubEvents;
9 |
10 | GymkhanaData(
11 | {
12 | this.clubNames,
13 | this.membersDetails,
14 | this.clubDetails,
15 | this.clubSessions,
16 | this.clubEvents,
17 | });
18 |
19 | factory GymkhanaData.fromJson(Map json) {
20 | return GymkhanaData(
21 | clubNames: json["clubNames"],
22 | membersDetails: json["membersDetails"],
23 | clubDetails: json["clubDetails"],
24 | clubSessions: json["clubSessions"],
25 | clubEvents: json["clubEvents"],
26 | );
27 | }
28 |
29 | Map toJson() {
30 | return {
31 | "clubNames": this.clubNames,
32 | "membersDetails": this.membersDetails,
33 | "clubDetails": this.clubDetails,
34 | "clubSessions": this.clubSessions,
35 | "clubEvents": this.clubEvents,
36 | };
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility that Flutter provides. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter_test/flutter_test.dart';
10 |
11 | import 'package:fusion/main.dart';
12 |
13 | void main() {
14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
15 | // Build our app and trigger a frame.
16 | await tester.pumpWidget(MyApp());
17 |
18 | // Verify that our counter starts at 0.
19 | expect(find.text('0'), findsOneWidget);
20 | expect(find.text('1'), findsNothing);
21 |
22 | // Tap the '+' icon and trigger a frame.
23 | await tester.tap(find.byIcon(Icons.add));
24 | await tester.pump();
25 |
26 | // Verify that our counter has incremented.
27 | expect(find.text('0'), findsNothing);
28 | expect(find.text('1'), findsOneWidget);
29 | });
30 | }
31 |
--------------------------------------------------------------------------------
/lib/models/notification.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | class Notification {
4 | int? id;
5 | bool? unread;
6 | String? verb;
7 | Map? data;
8 | String? description;
9 | DateTime? timestamp;
10 | bool? public;
11 | bool? deleted;
12 | int? recipient;
13 | bool? emailed;
14 |
15 | Notification({
16 | this.id,
17 | this.data,
18 | this.deleted,
19 | this.description,
20 | this.emailed,
21 | this.public,
22 | this.recipient,
23 | this.unread,
24 | this.verb,
25 | this.timestamp,
26 | });
27 |
28 | factory Notification.fromJson(json) {
29 | return Notification(
30 | id: json["id"],
31 | data: jsonDecode(json["data"].replaceAll("'", '"')),
32 | verb: json["verb"],
33 | unread: json["unread"],
34 | timestamp: DateTime.parse(json["timestamp"]),
35 | public: json["public"],
36 | description: json["description"],
37 | recipient: json["recipient"],
38 | );
39 | }
40 |
41 | static List fromListJson(json) {
42 | List notifs = [];
43 | json.forEach((v) {
44 | notifs.add(Notification.fromJson(v));
45 | });
46 | return notifs;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/lib/models/complaints.dart:
--------------------------------------------------------------------------------
1 | class ComplaintData {
2 | Map? complainer;
3 | Map? complainer_extra_info;
4 | Map? complaint_details;
5 | Map? worker_details;
6 |
7 | ComplaintData(
8 | // ignore: non_constant_identifier_names
9 | {this.complainer,
10 | // ignore: non_constant_identifier_names
11 | this.complainer_extra_info,
12 | // ignore: non_constant_identifier_names
13 | this.complaint_details,
14 | // ignore: non_constant_identifier_names
15 | this.worker_details});
16 |
17 | factory ComplaintData.fromJson(Map json) {
18 | return ComplaintData(
19 | complainer: json["complainer"],
20 | complainer_extra_info: json["complainer_extra_info"],
21 | complaint_details: json["complaint_details"],
22 | worker_details: json["worker_details"],
23 | );
24 | }
25 | }
26 |
27 | class ComplaintDataUserStudent {
28 | List? student_complain;
29 |
30 | ComplaintDataUserStudent({this.student_complain});
31 |
32 | factory ComplaintDataUserStudent.fromJson(Map json) {
33 | return ComplaintDataUserStudent(
34 | student_complain: json["student_complain"],
35 | );
36 | }
37 | }
38 |
39 | class LodgeComplaintData {}
40 |
--------------------------------------------------------------------------------
/lib/api.dart:
--------------------------------------------------------------------------------
1 | //Server and local links
2 | String klocalLink = "127.0.0.1:8000";
3 | String kserverLink = "172.27.16.218:80";
4 |
5 | //Login Service
6 | String kAuthUrl = "172.27.16.218:80";
7 | String kAuthLogin = "/api/auth/login/";
8 |
9 | //Profile Service
10 | String kProfile = "/api/profile/";
11 |
12 | //Academic Procedures
13 | String kAcademicProcedures = "academic-procedures/api/stu/";
14 |
15 | //Complaint
16 | String kComplaintService = "/complaint/api/studentcomplain";
17 | String kComplaintNew = "/complaint/api/newcomplain";
18 | String kComplaintUpdate = "complaint/api/updatecomplain/";
19 | String kComplaintRemove = "/complaint/api/removecomplain/";
20 |
21 | //Dashboard
22 | String kDashboard = "/api/dashboard/";
23 | String kNotificationRead = "/api/notification/read/";
24 |
25 | //Gymkhana
26 | const kGymkhanaClubDetails = '/api/gymkhana/club_details';
27 | const kGymkhanaMemberRecords = '/api/gymkhana/members_record';
28 |
29 | //HealthCentre
30 | String kHealthCentreStudent = "/healthcenter/api/student";
31 |
32 | //------------Screens------------
33 |
34 | //screens/Academic/Current_Semester
35 | String kAcademicProceduresCalender =
36 | "/static/academic_procedures/academic_calender.pdf";
37 | String kAcademicProceduresEndTT =
38 | "/static/academic_procedures/END_SEM_EXAM_TT.pdf";
39 | String kAcademicProceduresHolidaysTT =
40 | "/static/academic_procedures/List_of_Holidays.pdf";
41 | String kAcademicProceduresTT = "/static/academic_procedures/";
42 |
--------------------------------------------------------------------------------
/lib/models/health.dart:
--------------------------------------------------------------------------------
1 | class HealthData {
2 | List? complaints;
3 | List? medicines;
4 | List? ambulances;
5 | List? doctors;
6 | List? days;
7 | Map? count;
8 | List? hospitals;
9 | List? appointments;
10 | List? prescription;
11 | List? schedule;
12 | HealthData(
13 | {this.complaints,
14 | this.medicines,
15 | this.ambulances,
16 | this.doctors,
17 | this.days,
18 | this.count,
19 | this.hospitals,
20 | this.appointments,
21 | this.prescription,
22 | this.schedule});
23 | factory HealthData.fromJson(Map json)
24 | {
25 | return HealthData(
26 | complaints: json["complaints"],
27 | medicines: json["medicines"],
28 | ambulances: json["ambulances"],
29 | doctors: json["doctors"],
30 | days: json["days"],
31 | count: json["count"],
32 | hospitals: json["hospitals"],
33 | appointments: json["appointments"],
34 | prescription: json["prescription"],
35 | schedule: json["schedule"],
36 | );
37 | }
38 | Map toJson() {
39 | return{
40 | "complaints": this.complaints,
41 | "medicines": this.medicines,
42 | "ambulance": this.ambulances,
43 | "doctors": this.doctors,
44 | "days": this.days,
45 | "count": this.count,
46 | "hospitals": this.hospitals,
47 | "appointments": this.appointments,
48 | "prescription": this.prescription,
49 | "schedule": this.schedule,
50 | };
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6 |
7 | project 'Runner', {
8 | 'Debug' => :debug,
9 | 'Profile' => :release,
10 | 'Release' => :release,
11 | }
12 |
13 | def flutter_root
14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15 | unless File.exist?(generated_xcode_build_settings_path)
16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17 | end
18 |
19 | File.foreach(generated_xcode_build_settings_path) do |line|
20 | matches = line.match(/FLUTTER_ROOT\=(.*)/)
21 | return matches[1].strip if matches
22 | end
23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24 | end
25 |
26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27 |
28 | flutter_ios_podfile_setup
29 |
30 | target 'Runner' do
31 | use_frameworks!
32 | use_modular_headers!
33 |
34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35 | end
36 |
37 | post_install do |installer|
38 | installer.pods_project.targets.each do |target|
39 | flutter_additional_ios_build_settings(target)
40 | end
41 | end
42 |
--------------------------------------------------------------------------------
/lib/models/academic_faculty.dart:
--------------------------------------------------------------------------------
1 | class AcademicDataFaculty{
2 | var student_flag;
3 | var fac_flag;
4 | List? thesis_supervision_request_list;
5 | List? pending_thesis_request_list;
6 | List? approved_thesis_request_list;
7 | List? courses_list;
8 | Map? faculty;
9 |
10 | AcademicDataFaculty(
11 | {
12 | this.student_flag,
13 | this.fac_flag,
14 | this.thesis_supervision_request_list,
15 | this.pending_thesis_request_list,
16 | this.approved_thesis_request_list,
17 | this.courses_list,
18 | this.faculty});
19 |
20 | factory AcademicDataFaculty.fromJson(Map json){
21 | return AcademicDataFaculty(
22 | student_flag: json["student_flag"],
23 | fac_flag: json["fac_flag"],
24 | thesis_supervision_request_list: json["thesis_supervision_request_list"],
25 | pending_thesis_request_list: json["pending_thesis_request_list"],
26 | approved_thesis_request_list: json["approved_thesis_request_list"],
27 | courses_list: json["courses_list"],
28 | faculty: json["faculty"],
29 | );
30 | }
31 |
32 | Map toJson(){
33 | return {
34 | "student_flag":this.student_flag,
35 | "fac_flag":this.fac_flag,
36 | "thesis_supervision_request_list":this.thesis_supervision_request_list,
37 | "pending_thesis_request_list":this.pending_thesis_request_list,
38 | "approved_thesis_request_list":this.approved_thesis_request_list,
39 | "courses_list":this.courses_list,
40 | "faculty":this.faculty,
41 | };
42 | }
43 | }
--------------------------------------------------------------------------------
/lib/models/profile.dart:
--------------------------------------------------------------------------------
1 | class ProfileData {
2 | //? notifications;
3 | Map? user;
4 | Map? profile;
5 | List? skills;
6 | List? education;
7 | List? course;
8 | List? experience;
9 | List? project;
10 | List? achievement;
11 | List? publication;
12 | List? patent;
13 | List? current;
14 |
15 | ProfileData(
16 | {this.user,
17 | this.profile,
18 | this.skills,
19 | this.education,
20 | this.course,
21 | this.experience,
22 | this.project,
23 | this.achievement,
24 | this.publication,
25 | this.patent,
26 | this.current});
27 |
28 | factory ProfileData.fromJson(Map json) {
29 | return ProfileData(
30 | user: json["user"],
31 | profile: json["profile"],
32 | //skills: Notification.fromListJson(json["skills"]),
33 | skills: json["skills"],
34 | education: json["education"],
35 | course: json["course"],
36 | experience: json["experience"],
37 | project: json["project"],
38 | achievement: json["achievement"],
39 | publication: json["publication"],
40 | patent: json["patent"],
41 | current: json["current"],
42 | );
43 | }
44 |
45 | Map toJson() {
46 | return {
47 | "user": this.user,
48 | "profile": this.profile,
49 | "skills": this.skills,
50 | "education": this.education,
51 | "course": this.course,
52 | "experience": this.experience,
53 | "project": this.project,
54 | "achievement": this.achievement,
55 | "publication": this.publication,
56 | "patent": this.patent,
57 | "current": this.current
58 | };
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | fusion
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIViewControllerBasedStatusBarAppearance
43 |
44 | NSAppTransportSecurity
45 |
46 | NSAllowsArbitraryLoads
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion 31
30 |
31 | sourceSets {
32 | main.java.srcDirs += 'src/main/kotlin'
33 | }
34 |
35 | lintOptions {
36 | disable 'InvalidPackage'
37 | }
38 |
39 | defaultConfig {
40 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
41 | applicationId "com.fusionIIIT.fusion"
42 | minSdkVersion 16
43 | targetSdkVersion 29
44 | versionCode flutterVersionCode.toInteger()
45 | versionName flutterVersionName
46 | }
47 |
48 | buildTypes {
49 | release {
50 | // TODO: Add your own signing config for the release build.
51 | // Signing with the debug keys for now, so `flutter run --release` works.
52 | signingConfig signingConfigs.debug
53 | }
54 | }
55 | }
56 |
57 | flutter {
58 | source '../..'
59 | }
60 |
61 | dependencies {
62 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
63 | }
64 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Fusion Mobile
2 |
3 | FusionIIIT is the automation of various functionalities, modules and tasks of/for PDPM Indian Institute of Information Technology, Design and Manufacturing, Jabalpur being developed in Flutter.
4 |
5 | ## Software Requirements
6 |
7 | Use one of the following IDE's:
8 | - Android Studio (Recommended)
9 | - VS Code
10 |
11 |
12 | Flutter: Use Stable Version *2.0*
13 |
14 | ## Downloading the code
15 |
16 | * Go to () and click on **Fork**
17 | * You will be redirected to *your* fork, `https://github.com//Fusion-mobile`
18 | * Open the terminal, change to the directory where you want to clone the **Fusion** repository
19 | * Clone your repository using `git clone https://github.com//Fusion-mobile`
20 | * Enter the cloned directory using `cd Fusion-mobile/`
21 |
22 | ## Setting upstream
23 |
24 | * `git remote add upstream https://github.com/FusionIIIT/Fusion-mobile`
25 | * Adds the remote repository (the repository you forked from) so that changes can be pulled from/pushed to it
26 |
27 | ## Switching branch
28 |
29 | * `git checkout -b `
30 | * Creates a new branch `` in your repository
31 |
32 | * `git checkout `
33 | * Switches to the branch you just created
34 |
35 | ## To update your Project
36 |
37 | * `git fetch upstream`
38 | * Gets the new commits on the main repository
39 |
40 | * `git pull upstream `
41 | * Merges the new updates to your project
42 |
43 |
44 | ## Getting Started
45 |
46 | This project is a starting point for a Flutter application.
47 |
48 | A few resources to get you started if this is your first Flutter project:
49 |
50 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
51 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
52 |
53 | For help getting started with Flutter, view our
54 | [online documentation](https://flutter.dev/docs), which offers tutorials,
55 | samples, guidance on mobile development, and a full API reference.
56 |
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:fusion/screens/Programme_Curriculum/Courses_Info/courses_info.dart';
3 | import 'package:fusion/screens/Programme_Curriculum/Curriculums/curriculums.dart';
4 | import 'package:fusion/screens/Programme_Curriculum/Programme_Info/programme_info.dart';
5 | import 'dart:async';
6 | import 'package:fusion/screens/landing_page.dart';
7 | //Academic
8 | import 'package:fusion/screens/NewAcademic/academic_home_page.dart';
9 | //Programme
10 | import 'package:fusion/screens/Programme_Curriculum/programme_curriculum_home.dart';
11 | import 'package:fusion/screens/Programme_Curriculum/Programme/programme_home_page.dart';
12 | import 'package:fusion/screens/Programme_Curriculum/Discipline/discipline.dart';
13 | import 'package:fusion/screens/Programme_Curriculum/Batches/batches.dart';
14 | import 'package:fusion/screens/Programme_Curriculum/Courses/courses.dart';
15 |
16 | void main() {
17 | WidgetsFlutterBinding.ensureInitialized();
18 | // setupLocator();
19 | //runApp(MyApp());
20 | runZonedGuarded(() {
21 | runApp(MyApp());
22 | }, (Object error, StackTrace stack) {
23 | print("---caught error in zoned---\n");
24 | print(error);
25 | print(stack);
26 | });
27 | }
28 |
29 | class MyApp extends StatelessWidget {
30 | @override
31 | Widget build(BuildContext context) {
32 | return MaterialApp(
33 | title: 'Fusion',
34 | debugShowCheckedModeBanner: false,
35 | theme: ThemeData(primarySwatch: Colors.blueGrey, fontFamily: 'Nunito'),
36 | initialRoute: '/landing',
37 | routes: {
38 | '/landing': (context) => LandingPage(),
39 | '/academic_home_page': (context) => AcademicHomePage(),
40 | '/programme_curriculum_home': (context) => ProgrammeCurriculumHome(),
41 | '/programme_curriculum_home/programme': (context) => Programme(),
42 | '/programme_curriculum_home/batches': (context) => Batches(),
43 | '/programme_curriculum_home/discipline': (context) => Discipline(),
44 | '/programme_curriculum_home/curriculum': (context) => Curriculum(),
45 | '/programme_curriculum_home/programme_info': (context) =>
46 | ProgrammeInfo(),
47 | '/programme_curriculum_home/courses': (context) => Courses(),
48 | '/programme_curriculum_home/courses_info': (context) => CoursesInfo(),
49 | },
50 | );
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Curriculums/tab_curriculum.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class TabCurriculum extends StatefulWidget {
4 | final data;
5 | const TabCurriculum({Key? key, this.data}) : super(key: key);
6 |
7 | @override
8 | _TabCurriculumState createState() => _TabCurriculumState();
9 | }
10 |
11 | class _TabCurriculumState extends State {
12 | late Map? table;
13 | var rows;
14 | var columns;
15 |
16 | @override
17 | void initState() {
18 | super.initState();
19 | table = widget.data?['table'];
20 | rows = table?['rows'];
21 | columns = table?['columns'];
22 | }
23 |
24 | @override
25 | Widget build(BuildContext context) {
26 | return Container(
27 | child: SingleChildScrollView(
28 | scrollDirection: Axis.horizontal,
29 | //Component to lay table on the page
30 | child: SingleChildScrollView(
31 | scrollDirection: Axis.vertical,
32 | child: DataTable(
33 | // headingRowColor:
34 | // MaterialStateColor.resolveWith((states) => Colors.blue),
35 | dataRowHeight: 80.0,
36 | columnSpacing: 25.0,
37 | columns: tabColumnList(),
38 | rows: tabRowList(),
39 | // rows: [],
40 | ),
41 | ),
42 | ),
43 | );
44 | }
45 |
46 | List tabColumnList() {
47 | //Get the list of json and map through, to select each json and lay row to the table..
48 |
49 | List data = [];
50 | data = columns
51 | .map(
52 | (el) {
53 | return DataColumn(
54 | label: Text(el.toString().toUpperCase(),
55 | style:
56 | TextStyle(fontSize: 13, fontWeight: FontWeight.bold)));
57 | },
58 | )
59 | .toList()
60 | .cast();
61 | return data;
62 | }
63 |
64 | List tabRowList() {
65 | //Get the list of json and map through, to select each json and lay row to the table..
66 | List data = [];
67 | data = rows
68 | .map(
69 | (el) {
70 | return DataRow(
71 | cells: el
72 | .map((e) => DataCell(Container(
73 | //SET width
74 | constraints: BoxConstraints(maxWidth: 180),
75 | child: Text(e.toString()))))
76 | .toList()
77 | .cast(),
78 | );
79 | },
80 | )
81 | .toList()
82 | .cast();
83 | return data;
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.lock
4 | *.log
5 | *.pyc
6 | *.swp
7 | .DS_Store
8 | .atom/
9 | .buildlog/
10 | .history
11 | .svn/
12 |
13 | # IntelliJ related
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .idea/
18 |
19 | # Visual Studio Code related
20 | .classpath
21 | .project
22 | .settings/
23 | .vscode/
24 |
25 | # Flutter repo-specific
26 | /bin/cache/
27 | /bin/internal/bootstrap.bat
28 | /bin/internal/bootstrap.sh
29 | /bin/mingit/
30 | /dev/benchmarks/mega_gallery/
31 | /dev/bots/.recipe_deps
32 | /dev/bots/android_tools/
33 | /dev/devicelab/ABresults*.json
34 | /dev/docs/doc/
35 | /dev/docs/flutter.docs.zip
36 | /dev/docs/lib/
37 | /dev/docs/pubspec.yaml
38 | /dev/integration_tests/**/xcuserdata
39 | /dev/integration_tests/**/Pods
40 | /packages/flutter/coverage/
41 | version
42 | analysis_benchmark.json
43 |
44 | # packages file containing multi-root paths
45 | .packages.generated
46 |
47 | # Flutter/Dart/Pub related
48 | **/doc/api/
49 | .dart_tool/
50 | .flutter-plugins
51 | .flutter-plugins-dependencies
52 | **/generated_plugin_registrant.dart
53 | .packages
54 | .pub-cache/
55 | .pub/
56 | build/
57 | flutter_*.png
58 | linked_*.ds
59 | unlinked.ds
60 | unlinked_spec.ds
61 |
62 | # Android related
63 | **/android/**/gradle-wrapper.jar
64 | **/android/.gradle
65 | **/android/captures/
66 | **/android/gradlew
67 | **/android/gradlew.bat
68 | **/android/local.properties
69 | **/android/**/GeneratedPluginRegistrant.java
70 | **/android/key.properties
71 | *.jks
72 |
73 | # iOS/XCode related
74 | **/ios/**/*.mode1v3
75 | **/ios/**/*.mode2v3
76 | **/ios/**/*.moved-aside
77 | **/ios/**/*.pbxuser
78 | **/ios/**/*.perspectivev3
79 | **/ios/**/*sync/
80 | **/ios/**/.sconsign.dblite
81 | **/ios/**/.tags*
82 | **/ios/**/.vagrant/
83 | **/ios/**/DerivedData/
84 | **/ios/**/Icon?
85 | **/ios/**/Pods/
86 | **/ios/**/.symlinks/
87 | **/ios/**/profile
88 | **/ios/**/xcuserdata
89 | **/ios/.generated/
90 | **/ios/Flutter/.last_build_id
91 | **/ios/Flutter/App.framework
92 | **/ios/Flutter/Flutter.framework
93 | **/ios/Flutter/Flutter.podspec
94 | **/ios/Flutter/Generated.xcconfig
95 | **/ios/Flutter/ephemeral
96 | **/ios/Flutter/app.flx
97 | **/ios/Flutter/app.zip
98 | **/ios/Flutter/flutter_assets/
99 | **/ios/Flutter/flutter_export_environment.sh
100 | **/ios/ServiceDefinitions.json
101 | **/ios/Runner/GeneratedPluginRegistrant.*
102 |
103 | # macOS
104 | **/macos/Flutter/GeneratedPluginRegistrant.swift
105 |
106 | # Coverage
107 | coverage/
108 |
109 | # Symbols
110 | app.*.symbols
111 |
112 | # Exceptions to above rules.
113 | !**/ios/**/default.mode1v3
114 | !**/ios/**/default.mode2v3
115 | !**/ios/**/default.pbxuser
116 | !**/ios/**/default.perspectivev3
117 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
118 | !/dev/ci/**/Gemfile.lock
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Programme_Info/InfoTabComponent.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class InfoTabComponent extends StatefulWidget {
4 | final data;
5 | const InfoTabComponent({Key? key, this.data}) : super(key: key);
6 |
7 | @override
8 | _InfoTabComponentState createState() => _InfoTabComponentState();
9 | }
10 |
11 | class _InfoTabComponentState extends State {
12 | late Map? table;
13 | late String? column1;
14 | late String? column2;
15 | var rows;
16 | var columns;
17 |
18 | @override
19 | void initState() {
20 | super.initState();
21 | table = widget.data?['table'];
22 | rows = table?['rows'];
23 | columns = table?['columns'];
24 | print("mounted");
25 | }
26 |
27 | @override
28 | Widget build(BuildContext context) {
29 | return Container(
30 | child: SingleChildScrollView(
31 | scrollDirection: Axis.horizontal,
32 | //Component to lay table on the page
33 | child: SingleChildScrollView(
34 | scrollDirection: Axis.vertical,
35 | child: DataTable(
36 | // headingRowColor:
37 | // MaterialStateColor.resolveWith((states) => Colors.blue),
38 | dataRowHeight: 80.0,
39 | columnSpacing: 30.0,
40 | columns: tabColumnList(),
41 | rows: tabRowList(),
42 | // rows: [],
43 | ),
44 | ),
45 | ),
46 | );
47 | }
48 |
49 | List tabColumnList() {
50 | //Get the list of json and map through, to select each json and lay row to the table..
51 |
52 | List data = [];
53 | data = columns
54 | .map(
55 | (el) {
56 | return DataColumn(
57 | label: Text(el.toString().toUpperCase(),
58 | style:
59 | TextStyle(fontSize: 13, fontWeight: FontWeight.bold)));
60 | },
61 | )
62 | .toList()
63 | .cast();
64 | return data;
65 | }
66 |
67 | List tabRowList() {
68 | //Get the list of json and map through, to select each json and lay row to the table..
69 | List data = [];
70 | data = rows
71 | .map(
72 | (el) {
73 | return DataRow(
74 | cells: el
75 | .map((e) => DataCell(GestureDetector(
76 | onTap: () => {},
77 | child: Container(
78 | //SET width
79 | constraints: BoxConstraints(maxWidth: 180),
80 | child: Text(e.toString())),
81 | )))
82 | .toList()
83 | .cast(),
84 | );
85 | },
86 | )
87 | .toList()
88 | .cast();
89 | return data;
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Programme/tabComponent.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class TabComponent extends StatefulWidget {
4 | final data;
5 | const TabComponent({Key? key, this.data}) : super(key: key);
6 |
7 | @override
8 | _TabComponentState createState() => _TabComponentState();
9 | }
10 |
11 | class _TabComponentState extends State {
12 | late Map? table;
13 | late String? column1;
14 | late String? column2;
15 | var rows;
16 | var columns;
17 |
18 | @override
19 | void initState() {
20 | super.initState();
21 | table = widget.data?['table'];
22 | rows = table?['rows'];
23 | columns = table?['columns'];
24 | }
25 |
26 | @override
27 | Widget build(BuildContext context) {
28 | return Container(
29 | child: SingleChildScrollView(
30 | scrollDirection: Axis.horizontal,
31 | //Component to lay table on the page
32 | child: SingleChildScrollView(
33 | child: DataTable(
34 | // headingRowColor:
35 | // MaterialStateColor.resolveWith((states) => Colors.blue),
36 | dataRowHeight: 80.0,
37 | columnSpacing: 30.0,
38 | columns: tabColumnList(),
39 | rows: tabRowList(),
40 | // rows: [],
41 | ),
42 | )),
43 | );
44 | }
45 |
46 | List tabColumnList() {
47 | //Get the list of json and map through, to select each json and lay row to the table..
48 |
49 | List data = [];
50 | data = columns
51 | .map(
52 | (el) {
53 | return DataColumn(
54 | label: Text(el.toString().toUpperCase(),
55 | style:
56 | TextStyle(fontSize: 13, fontWeight: FontWeight.bold)));
57 | },
58 | )
59 | .toList()
60 | .cast();
61 | return data;
62 | }
63 |
64 | List tabRowList() {
65 | //Get the list of json and map through, to select each json and lay row to the table..
66 | List data = [];
67 | data = rows
68 | .map(
69 | (el) {
70 | return DataRow(
71 | cells: el
72 | .map((e) => DataCell(GestureDetector(
73 | onTap: () => {
74 | Navigator.pushNamed(context,
75 | '/programme_curriculum_home/programme_info',
76 | arguments: {'e': e})
77 | },
78 | child: Container(
79 | //SET width
80 | constraints: BoxConstraints(maxWidth: 180),
81 | child: Text(e.toString())),
82 | )))
83 | .toList()
84 | .cast(),
85 | );
86 | },
87 | )
88 | .toList()
89 | .cast();
90 | return data;
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Courses/courseTabComponent.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CourseTabComponent extends StatefulWidget {
4 | final data;
5 | const CourseTabComponent({Key? key, this.data}) : super(key: key);
6 |
7 | @override
8 | _CourseTabComponentState createState() => _CourseTabComponentState();
9 | }
10 |
11 | class _CourseTabComponentState extends State {
12 | late Map? table;
13 | var rows;
14 | var columns;
15 |
16 | @override
17 | void initState() {
18 | super.initState();
19 | table = widget.data?['table'];
20 | rows = table?['rows'];
21 | columns = table?['columns'];
22 | }
23 |
24 | @override
25 | Widget build(BuildContext context) {
26 | return Container(
27 | child: SingleChildScrollView(
28 | scrollDirection: Axis.horizontal,
29 | //Component to lay table on the page
30 | child: SingleChildScrollView(
31 | scrollDirection: Axis.vertical,
32 | child: DataTable(
33 | // headingRowColor:
34 | // MaterialStateColor.resolveWith((states) => Colors.blue),
35 | dataRowHeight: 80.0,
36 | columnSpacing: 15.0,
37 | columns: tabColumnList(),
38 | rows: tabRowList(),
39 | // rows: [],
40 | ),
41 | )),
42 | );
43 | }
44 |
45 | List tabColumnList() {
46 | //Get the list of json and map through, to select each json and lay row to the table..
47 |
48 | List data = [];
49 | data = columns
50 | .map(
51 | (el) {
52 | return DataColumn(
53 | label: Text(el.toString(),
54 | style:
55 | TextStyle(fontSize: 13, fontWeight: FontWeight.bold)));
56 | },
57 | )
58 | .toList()
59 | .cast();
60 | return data;
61 | }
62 |
63 | List tabRowList() {
64 | //Get the list of json and map through, to select each json and lay row to the table..
65 | List data = [];
66 | data = rows
67 | .map(
68 | (el) {
69 | return DataRow(
70 | cells: el
71 | .map((e) => DataCell(GestureDetector(
72 | onTap: () => {
73 | Navigator.pushNamed(context,
74 | '/programme_curriculum_home/courses_info',
75 | arguments: {'e': e})
76 | },
77 | child: Container(
78 | //SET width
79 | constraints: BoxConstraints(maxWidth: 200),
80 | child: Text(e.toString())),
81 | )))
82 | .toList()
83 | .cast(),
84 | );
85 | },
86 | )
87 | .toList()
88 | .cast();
89 | return data;
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
8 |
9 |
14 | android:usesCleartextTraffic="true">
15 |
22 |
26 |
30 |
35 |
36 |
37 |
38 |
42 |
43 |
44 |
45 |
46 |
47 |
49 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Discipline/discTabComponent.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class DiscTabComponent extends StatefulWidget {
4 | final data;
5 | const DiscTabComponent({Key? key, this.data}) : super(key: key);
6 |
7 | @override
8 | _DiscTabComponentState createState() => _DiscTabComponentState();
9 | }
10 |
11 | class _DiscTabComponentState extends State {
12 | late Map? table;
13 | late String? column1;
14 | late String? column2;
15 | var rows;
16 | var columns;
17 |
18 | @override
19 | void initState() {
20 | super.initState();
21 | table = widget.data?['table'];
22 | rows = table?['rows'];
23 | columns = table?['columns'];
24 | }
25 |
26 | @override
27 | Widget build(BuildContext context) {
28 | return Container(
29 | child: SingleChildScrollView(
30 | scrollDirection: Axis.horizontal,
31 | //Component to lay table on the page
32 | child: SingleChildScrollView(
33 | scrollDirection: Axis.vertical,
34 | child: DataTable(
35 | // headingRowColor:
36 | // MaterialStateColor.resolveWith((states) => Colors.blue),
37 | dataRowHeight: 80.0,
38 | columnSpacing: 25.0,
39 | columns: tabColumnList(),
40 | rows: tabRowList(),
41 | // rows: [],
42 | ),
43 | )),
44 | );
45 | }
46 |
47 | List tabColumnList() {
48 | //Get the list of json and map through, to select each json and lay row to the table..
49 |
50 | List data = [];
51 | data = columns
52 | .map(
53 | (el) {
54 | return DataColumn(
55 | label: Text(el.toString().toUpperCase(),
56 | style:
57 | TextStyle(fontSize: 13, fontWeight: FontWeight.bold)));
58 | },
59 | )
60 | .toList()
61 | .cast();
62 | return data;
63 | }
64 |
65 | List tabRowList() {
66 | //Get the list of json and map through, to select each json and lay row to the table..
67 | List data = [];
68 | data = rows
69 | .map(
70 | (el) {
71 | return DataRow(
72 | cells: el
73 | .map((e) => DataCell(GestureDetector(
74 | onTap: () => {
75 | // Navigator.pushNamed(context,
76 | // '/programme_curriculum_home/programme_info',
77 | // arguments: {'e': e})
78 | },
79 | child: Container(
80 | //SET width
81 | constraints: BoxConstraints(maxWidth: 180),
82 | child: Text(e.toString())),
83 | )))
84 | .toList()
85 | .cast(),
86 | );
87 | },
88 | )
89 | .toList()
90 | .cast();
91 | return data;
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Discipline/discipline.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | // import 'package:fusion/Components/appBar.dart';
3 | import 'package:fusion/Components/side_drawer.dart';
4 | import 'discTabComponent.dart';
5 | import 'package:flutter/services.dart' show rootBundle;
6 |
7 | import 'package:csv/csv.dart';
8 |
9 | class Discipline extends StatefulWidget {
10 | @override
11 | State createState() => _DisciplineState();
12 | }
13 |
14 | class _DisciplineState extends State {
15 | List> _disciplineList = [];
16 | Future _loadCSV() async {
17 | final _disciplineProg = await rootBundle.loadString("db/Disciplines.csv");
18 | List> _list =
19 | const CsvToListConverter().convert(_disciplineProg);
20 | _disciplineList = _list;
21 | return 1;
22 | }
23 |
24 | @override
25 | void initState() {
26 | // TODO: implement initState
27 | _loadCSV();
28 | }
29 |
30 | @override
31 | Widget build(BuildContext context) {
32 | return FutureBuilder(
33 | future: _loadCSV(),
34 | builder: (context, snapshot) {
35 | if (!snapshot.hasData) return Scaffold();
36 | final data_Discipline = {
37 | "table": {
38 | "columns": _disciplineList[0],
39 | "rows": _disciplineList.skip(1).map((e) => e)
40 | }
41 | };
42 | return DefaultTabController(
43 | length: 1,
44 | child: Scaffold(
45 | appBar: AppBar(
46 | backgroundColor: Colors.black,
47 | title: Text(
48 | "FUSION",
49 | style: TextStyle(color: Colors.white),
50 | ),
51 | actions: [
52 | Padding(
53 | padding: EdgeInsets.all(8.0),
54 | child: Icon(Icons.search),
55 | ),
56 | Padding(
57 | padding: EdgeInsets.all(8.0),
58 | child: Icon(Icons.notifications),
59 | ),
60 | Padding(
61 | padding: EdgeInsets.all(8.0),
62 | child: Icon(Icons.more_vert),
63 | ),
64 | ],
65 | bottom: TabBar(
66 | isScrollable: true,
67 | indicatorColor: Colors.white,
68 | indicatorWeight: 6.0,
69 | tabs: [
70 | Tab(
71 | child: Container(
72 | child: Text(
73 | 'Disciplines',
74 | ),
75 | ),
76 | ),
77 | ],
78 | ),
79 | ),
80 | drawer: SideDrawer(),
81 | body: TabBarView(
82 | children: [
83 | DiscTabComponent(data: data_Discipline),
84 | ],
85 | ),
86 | ),
87 | );
88 | });
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Courses/courses.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | // import 'package:fusion/Components/appBar.dart';
3 | import 'package:fusion/Components/side_drawer.dart';
4 | import 'courseTabComponent.dart';
5 | import 'package:flutter/services.dart' show rootBundle;
6 |
7 | import 'package:csv/csv.dart';
8 |
9 | class Courses extends StatefulWidget {
10 | @override
11 | State createState() => _CoursesState();
12 | }
13 |
14 | class _CoursesState extends State {
15 | List> _courseList = [];
16 |
17 | Future _loadCSV() async {
18 | final _courseData = await rootBundle.loadString('db/courses.csv');
19 | List> _list = const CsvToListConverter().convert(_courseData);
20 | _courseList = _list;
21 | return 1;
22 | }
23 |
24 | @override
25 | void initState() {
26 | // TODO: implement initState
27 | _loadCSV();
28 | }
29 |
30 | @override
31 | Widget build(BuildContext context) {
32 | return FutureBuilder(
33 | future: _loadCSV(),
34 | builder: (context, snapshot) {
35 | if (!snapshot.hasData) return Scaffold();
36 | final data_Courses = {
37 | "table": {
38 | "columns": _courseList[0],
39 | "rows": _courseList.skip(1).map((e) => e)
40 | }
41 | };
42 | return DefaultTabController(
43 | length: 1,
44 | child: Scaffold(
45 | appBar: AppBar(
46 | backgroundColor: Colors.black,
47 | title: Text(
48 | "FUSION",
49 | style: TextStyle(color: Colors.white),
50 | ),
51 | actions: [
52 | Padding(
53 | padding: EdgeInsets.all(8.0),
54 | child: Icon(Icons.search),
55 | ),
56 | Padding(
57 | padding: EdgeInsets.all(8.0),
58 | child: Icon(Icons.notifications),
59 | ),
60 | Padding(
61 | padding: EdgeInsets.all(8.0),
62 | child: Icon(Icons.more_vert),
63 | ),
64 | ],
65 | bottom: TabBar(
66 | isScrollable: true,
67 | indicatorColor: Colors.white,
68 | indicatorWeight: 6.0,
69 | tabs: [
70 | Tab(
71 | child: Container(
72 | child: Text(
73 | 'Courses',
74 | ),
75 | ),
76 | ),
77 | ],
78 | ),
79 | ),
80 | drawer: SideDrawer(),
81 | body: TabBarView(
82 | children: [
83 | CourseTabComponent(data: data_Courses),
84 | ],
85 | ),
86 | ));
87 | });
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Courses_Info/courseInfoTabComponent.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class CourseInfoTabComponent extends StatefulWidget {
4 | final data;
5 | const CourseInfoTabComponent({Key? key, this.data}) : super(key: key);
6 |
7 | @override
8 | _CourseInfoTabComponentState createState() => _CourseInfoTabComponentState();
9 | }
10 |
11 | class _CourseInfoTabComponentState extends State {
12 | late Map? table;
13 | late String? column1;
14 | late String? column2;
15 | var rows;
16 | var columns;
17 |
18 | @override
19 | void initState() {
20 | super.initState();
21 | table = widget.data?['table'];
22 | rows = table?['rows'];
23 | columns = table?['columns'];
24 | }
25 |
26 | @override
27 | Widget build(BuildContext context) {
28 | return Container(
29 | child: SingleChildScrollView(
30 | scrollDirection: Axis.horizontal,
31 | //Component to lay table on the page
32 | child: SingleChildScrollView(
33 | scrollDirection: Axis.vertical,
34 | child: DataTable(
35 | // headingRowColor:
36 | // MaterialStateColor.resolveWith((states) => Colors.blue),
37 | // dataRowHeight: 80,
38 | columnSpacing: 25.0,
39 | columns: tabColumnList(),
40 | rows: tabRowList(),
41 | // rows: [],
42 | ),
43 | )),
44 | );
45 | }
46 |
47 | List tabColumnList() {
48 | //Get the list of json and map through, to select each json and lay row to the table..
49 |
50 | List data = [];
51 | data = columns
52 | .map(
53 | (el) {
54 | return DataColumn(
55 | label: Text(el.toString().toUpperCase(),
56 | style:
57 | TextStyle(fontSize: 13, fontWeight: FontWeight.bold)));
58 | },
59 | )
60 | .toList()
61 | .cast();
62 | return data;
63 | }
64 |
65 | List tabRowList() {
66 | //Get the list of json and map through, to select each json and lay row to the table..
67 | List data = [];
68 | data = rows
69 | .map(
70 | (el) {
71 | return DataRow(
72 | cells: el
73 | .map((e) => DataCell(GestureDetector(
74 | onTap: () => {
75 | // Navigator.pushNamed(context,
76 | // '/programme_curriculum_home/programme_info',
77 | // arguments: {'e': e})
78 | },
79 | child: Container(
80 | //SET width
81 | // constraints: BoxConstraints(maxWidth: 180),
82 | child: Text(e.toString())),
83 | )))
84 | .toList()
85 | .cast(),
86 | );
87 | },
88 | )
89 | .toList()
90 | .cast();
91 | return data;
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Batches/batchTabComponent.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class BatchTabComponent extends StatefulWidget {
4 | final data;
5 | const BatchTabComponent({Key? key, this.data}) : super(key: key);
6 |
7 | @override
8 | _BatchTabComponentState createState() => _BatchTabComponentState();
9 | }
10 |
11 | class _BatchTabComponentState extends State {
12 | late Map? table;
13 | late String? column1;
14 | late String? column2;
15 | var rows;
16 | var columns;
17 |
18 | @override
19 | void initState() {
20 | super.initState();
21 | table = widget.data?['table'];
22 | rows = table?['rows'];
23 | columns = table?['columns'];
24 | }
25 |
26 | @override
27 | Widget build(BuildContext context) {
28 | return Container(
29 | child: SingleChildScrollView(
30 | scrollDirection: Axis.horizontal,
31 | //Component to lay table on the page
32 | child: SingleChildScrollView(
33 | scrollDirection: Axis.vertical,
34 | child: DataTable(
35 | // headingRowColor:
36 | // MaterialStateColor.resolveWith((states) => Colors.blue),
37 | dataRowHeight: 80.0,
38 | columnSpacing: 10.0,
39 | columns: tabColumnList(),
40 | rows: tabRowList(),
41 | // rows: [],
42 | ),
43 | )),
44 | );
45 | }
46 |
47 | List tabColumnList() {
48 | //Get the list of json and map through, to select each json and lay row to the table..
49 |
50 | List data = [];
51 | data = columns
52 | .map(
53 | (el) {
54 | return DataColumn(
55 | label: Text(
56 | el.toString().toUpperCase(),
57 | style: TextStyle(fontSize: 13, fontWeight: FontWeight.bold),
58 | ),
59 | );
60 | },
61 | )
62 | .toList()
63 | .cast();
64 |
65 | return data;
66 | }
67 |
68 | List tabRowList() {
69 | //Get the list of json and map through, to select each json and lay row to the table..
70 | List data = [];
71 | data = rows
72 | .map(
73 | (el) {
74 | return DataRow(
75 | cells: el
76 | .map((e) => DataCell(GestureDetector(
77 | onTap: () => {
78 | // Navigator.pushNamed(context,
79 | // '/programme_curriculum_home/programme_info',
80 | // arguments: {'e': e})
81 | },
82 | child: Container(
83 | //SET width
84 | constraints: BoxConstraints(maxWidth: 200),
85 | child: Text(e.toString()),
86 | // width: 100,
87 | ),
88 | )))
89 | .toList()
90 | .cast(),
91 | );
92 | },
93 | )
94 | .toList()
95 | .cast();
96 | return data;
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: fusion
2 | description: Fusion Mobile
3 |
4 | # The following line prevents the package from being accidentally published to
5 | # pub.dev using `pub publish`. This is preferred for private packages.
6 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev
7 |
8 | # The following defines the version and build number for your application.
9 | # A version number is three numbers separated by dots, like 1.2.43
10 | # followed by an optional build number separated by a +.
11 | # Both the version and the builder number may be overridden in flutter
12 | # build by specifying --build-name and --build-number, respectively.
13 | # In Android, build-name is used as versionName while build-number used as versionCode.
14 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning
15 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
16 | # Read more about iOS versioning at
17 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
18 | version: 1.0.0+1
19 |
20 | environment:
21 | sdk: '>=2.12.0 <3.0.0'
22 |
23 | dependencies:
24 | flutter:
25 | sdk: flutter
26 | cupertino_icons: ^1.0.0
27 | csv: ^5.0.1
28 | google_fonts:
29 |
30 |
31 | dev_dependencies:
32 | flutter_test:
33 | sdk: flutter
34 | flutter_launcher_icons: ^0.9.0
35 | flutter_icons:
36 | android: true
37 | ios: true
38 | image_path: 'assets/logofusion.png'
39 | # For information on the generic Dart part of this file, see the
40 | # following page: https://dart.dev/tools/pub/pubspec
41 |
42 | # The following section is specific to Flutter.
43 | flutter:
44 | # The following line ensures that the Material Icons font is
45 | # included with your application, so that you can use the icons in
46 | # the material Icons class.
47 | uses-material-design: true
48 |
49 | # To add assets to your application, add an assets section, like this:
50 | assets:
51 | - assets/profile.jpeg
52 | - assets/logo.jpg
53 | - assets/mypic.jpg
54 | - assets/unknown.jpg
55 | - assets/profile_pic.png
56 | - db/
57 |
58 | # An image asset can refer to one or more resolution-specific "variants", see
59 | # https://flutter.dev/assets-and-images/#resolution-aware.
60 |
61 | # For details regarding adding assets from package dependencies, see
62 | # https://flutter.dev/assets-and-images/#from-packages
63 |
64 | # To add custom fonts to your application, add a fonts section here,
65 | # in this "flutter" section. Each entry in this list should have a
66 | # "family" key with the font family name, and a "fonts" key with a
67 | # list giving the asset and other descriptors for the font. For
68 | # example:
69 | fonts:
70 | - family: Nunito
71 | fonts:
72 | - asset: assets/Nunito-Regular.ttf
73 | # - asset: fonts/Schyler-Italic.ttf
74 | # style: italic
75 | # - family: Trajan Pro
76 | # fonts:
77 | # - asset: fonts/TrajanPro.ttf
78 | # - asset: fonts/TrajanPro_Bold.ttf
79 | # weight: 700
80 | #
81 | # For details regarding fonts from package dependencies,
82 | # see https://flutter.dev/custom-fonts/#from-packages
83 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/db/Working_Curriculum.csv:
--------------------------------------------------------------------------------
1 | "name","version","batch","no_of_semester"
2 | "CSE PG Curriculum",1,"M.Tech CSE 2020",4
3 | "CSE PG Curriculum",1,"M.Tech CSE 2021",4
4 | "CSE Phd Curriculum",1,"Phd CSE 2016",4
5 | "CSE Phd Curriculum",1,"Phd CSE 2017",4
6 | "CSE Phd Curriculum",1,"Phd CSE 2018",4
7 | "CSE Phd Curriculum",1,"Phd CSE 2019",4
8 | "CSE Phd Curriculum",1,"Phd CSE 2020",4
9 | "CSE Phd Curriculum",1,"Phd CSE 2021",4
10 | "CSE Phd Curriculum",1,"Phd CSE 2022",4
11 | "CSE UG Curriculum",1,"B.Tech CSE 2016",8
12 | "CSE UG Curriculum",1,"B.Tech CSE 2017",8
13 | "CSE UG Curriculum",1,"B.Tech CSE 2018",8
14 | "CSE UG Curriculum",1,"B.Tech CSE 2019",8
15 | "CSE UG Curriculum",1,"B.Tech CSE 2020",8
16 | "CSE UG Curriculum",1,"B.Tech CSE 2021",8
17 | "Design PG Curriculum",1,"M.Des Des. 2020",4
18 | "Design PG Curriculum",1,"M.Des Des. 2021",4
19 | "Design UG Curriculum",1,"B.Des Des. 2018",8
20 | "Design UG Curriculum",1,"B.Des Des. 2019",8
21 | "Design UG Curriculum",1,"B.Des Des. 2020",8
22 | "Design UG Curriculum",1,"B.Des Des. 2021",8
23 | "ECE PG Curriculum",1,"M.Tech ECE 2020",4
24 | "ECE PG Curriculum",1,"M.Tech ME 2020",4
25 | "ECE PG Curriculum",1,"M.Tech ECE 2021",4
26 | "ECE Phd Curriculum",1,"Phd ECE 2016",4
27 | "ECE Phd Curriculum",1,"Phd ECE 2017",4
28 | "ECE Phd Curriculum",1,"Phd ECE 2018",4
29 | "ECE Phd Curriculum",1,"Phd ECE 2019",4
30 | "ECE Phd Curriculum",1,"Phd ECE 2020",4
31 | "ECE Phd Curriculum",1,"Phd ECE 2021",4
32 | "ECE UG Curriculum",1,"B.Tech ECE 2016",8
33 | "ECE UG Curriculum",1,"B.Tech ECE 2017",8
34 | "ECE UG Curriculum",1,"B.Tech ECE 2018",8
35 | "ECE UG Curriculum",1,"B.Tech ECE 2019",8
36 | "ECE UG Curriculum",1,"B.Tech ECE 2020",8
37 | "ECE UG Curriculum",1,"B.Tech ECE 2021",8
38 | "ECE UG Curriculum",1,"Phd ECE 2022",8
39 | "ME PG Curriculum",1,"M.Tech ME 2021",4
40 | "ME Phd Curriculum",1,"Phd ME 2016",4
41 | "ME Phd Curriculum",1,"Phd ME 2017",4
42 | "ME Phd Curriculum",1,"Phd ME 2018",4
43 | "ME Phd Curriculum",1,"Phd ME 2019",4
44 | "ME Phd Curriculum",1,"Phd ME 2020",4
45 | "ME Phd Curriculum",1,"Phd ME 2021",4
46 | "ME Phd Curriculum",1,"Phd ME 2022",4
47 | "ME UG Curriculum",1,"B.Tech ME 2016",8
48 | "ME UG Curriculum",1,"B.Tech ME 2017",8
49 | "ME UG Curriculum",1,"B.Tech ME 2018",8
50 | "ME UG Curriculum",1,"B.Tech ME 2019",8
51 | "ME UG Curriculum",1,"B.Tech ME 2020",8
52 | "ME UG Curriculum",1,"B.Tech ME 2021",8
53 | "PG Mechatronics Curriculum v1",1,"M.Tech MT 2020",4
54 | "PG Mechatronics Curriculum v1",1,"M.Tech MT 2021",4
55 | "PhD in Design",1,"Phd Des. 2016",4
56 | "PhD in Design",1,"Phd Des. 2017",4
57 | "PhD in Design",1,"Phd Des. 2018",4
58 | "PhD in Design",1,"Phd Des. 2019",4
59 | "PhD in Design",1,"Phd Des. 2020",4
60 | "PhD in Design",1,"Phd Des. 2021",4
61 | "PhD in Humanities (English)",1,"Phd English 2016",4
62 | "PhD in Humanities (English)",1,"Phd English 2017",4
63 | "PhD in Humanities (English)",1,"Phd Physics 2018",4
64 | "PhD in Humanities (English)",1,"Phd English 2019",4
65 | "PhD in Humanities (English)",1,"Phd English 2020",4
66 | "PhD in Humanities (English)",1,"Phd English 2021",4
67 | "PhD in Natural Sciences (Physics)",1,"Phd Physics 2016",4
68 | "PhD in Natural Sciences (Physics)",1,"Phd Physics 2017",4
69 | "PhD in Natural Sciences (Physics)",1,"Phd Physics 2019",4
70 | "PhD in Natural Sciences (Physics)",1,"Phd Physics 2020",4
71 | "PhD in Natural Sciences (Physics)",1,"Phd Physics 2021",4
72 | "PhD Natural Sciences (Maths) Curriculum",1,"Phd Maths 2016",4
73 | "PhD Natural Sciences (Maths) Curriculum",1,"Phd Maths 2017",4
74 | "PhD Natural Sciences (Maths) Curriculum",1,"Phd Maths 2018",4
75 | "PhD Natural Sciences (Maths) Curriculum",1,"Phd Maths 2019",4
76 | "PhD Natural Sciences (Maths) Curriculum",1,"Phd Maths 2020",4
77 | "PhD Natural Sciences (Maths) Curriculum",1,"Phd Maths 2021",4
78 | "SM UG Curriculum",1,"B.Tech SM 2020",1
79 | "SM UG Curriculum",1,"B.Tech SM 2021",1
80 |
--------------------------------------------------------------------------------
/lib/screens/Programme_Curriculum/Curriculums/curriculums.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | // import 'package:fusion/Components/appBar.dart';
3 | import 'package:flutter/services.dart' show rootBundle;
4 | import 'package:fusion/Components/side_drawer.dart';
5 | // import 'package:fusion/models/academic.dart';
6 | import 'package:csv/csv.dart';
7 | import 'package:fusion/screens/Programme_Curriculum/Curriculums/tab_curriculum.dart';
8 |
9 | class Curriculum extends StatefulWidget {
10 | @override
11 | _CurriculumState createState() => _CurriculumState();
12 | }
13 |
14 | class _CurriculumState extends State {
15 | List> _curriculum = [];
16 | Future _loadCSV() async {
17 | final _underGraduate =
18 | await rootBundle.loadString("db/Working_Curriculum.csv");
19 | List> _listCurr =
20 | const CsvToListConverter().convert(_underGraduate);
21 | _curriculum = _listCurr;
22 | return 1;
23 | }
24 |
25 | @override
26 | void initState() {
27 | // TODO: implement initState
28 | _loadCSV();
29 | }
30 |
31 | @override
32 | Widget build(BuildContext context) {
33 | return FutureBuilder