├── 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( 34 | future: _loadCSV(), 35 | builder: (context, snapshot) { 36 | if (!snapshot.hasData) return Scaffold(); 37 | final data = { 38 | "table": { 39 | "columns": _curriculum[0], 40 | "rows": _curriculum.skip(1).map((e) => e) 41 | } 42 | }; 43 | // List keys = 44 | // _curriculum.skip(1).map((e) => e.elementAt(0)).toSet().toList(); 45 | // List values = 46 | // _curriculum.skip(1).map(((e) => e.elementAt(2))).toList(); 47 | 48 | List key_val = _curriculum 49 | .skip(1) 50 | .map(((e) => [e.elementAt(0), e.elementAt(2)])) 51 | .toList(); 52 | // print(keys); 53 | // print(key_val); 54 | int count = 0; 55 | for (var i = 0; i < key_val.length; i++) { 56 | print(key_val[i][0] == key_val[i][1]); 57 | } 58 | 59 | return DefaultTabController( 60 | length: 1, 61 | child: Scaffold( 62 | appBar: AppBar( 63 | backgroundColor: Colors.black, 64 | title: Text( 65 | "FUSION", 66 | style: TextStyle(color: Colors.white), 67 | ), 68 | actions: [ 69 | Padding( 70 | padding: EdgeInsets.all(8.0), 71 | child: Icon(Icons.search), 72 | ), 73 | Padding( 74 | padding: EdgeInsets.all(8.0), 75 | child: Icon(Icons.notifications), 76 | ), 77 | Padding( 78 | padding: EdgeInsets.all(8.0), 79 | child: Icon(Icons.more_vert), 80 | ), 81 | ], 82 | bottom: TabBar( 83 | isScrollable: true, 84 | indicatorColor: Colors.white, 85 | indicatorWeight: 6.0, 86 | tabs: [ 87 | Tab( 88 | child: Container( 89 | child: Text( 90 | 'Working Curriculumns', 91 | ), 92 | ), 93 | ), 94 | ], 95 | ), 96 | ), 97 | drawer: SideDrawer(), 98 | body: TabBarView( 99 | children: [ 100 | TabCurriculum(data: data), 101 | ], 102 | ), 103 | ), 104 | ); 105 | }); 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /db/Working_Curriculum1.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 in CSE 2016",4 5 | "CSE Phd Curriculum",1,"Phd in CSE 2017",4 6 | "CSE Phd Curriculum",1,"Phd in CSE 2018",4 7 | "CSE Phd Curriculum",1,"Phd in CSE 2019",4 8 | "CSE Phd Curriculum",1,"Phd in CSE 2020",4 9 | "CSE Phd Curriculum",1,"Phd in CSE 2021",4 10 | "CSE Phd Curriculum",1,"Phd in 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 Design. 2020",4 18 | "Design PG Curriculum",1,"M.Des Design. 2021",4 19 | "Design UG Curriculum",1,"B.Design. 2018",8 20 | "Design UG Curriculum",1,"B.Design. 2019",8 21 | "Design UG Curriculum",1,"B.Design. 2020",8 22 | "Design UG Curriculum",1,"B.Design. 2021",8 23 | "ECE PG Curriculum",1,"M.Tech ECE 2020",4 24 | "ECE PG Curriculum",1,"M.Tech ECE 2021",4 25 | "ECE Phd Curriculum",1,"Phd in ECE 2016",4 26 | "ECE Phd Curriculum",1,"Phd in ECE 2017",4 27 | "ECE Phd Curriculum",1,"Phd in ECE 2018",4 28 | "ECE Phd Curriculum",1,"Phd in ECE 2019",4 29 | "ECE Phd Curriculum",1,"Phd in ECE 2020",4 30 | "ECE Phd Curriculum",1,"Phd in ECE 2021",4 31 | "ECE UG Curriculum",1,"B.Tech ECE 2016",8 32 | "ECE UG Curriculum",1,"B.Tech ECE 2017",8 33 | "ECE UG Curriculum",1,"B.Tech ECE 2018",8 34 | "ECE UG Curriculum",1,"B.Tech ECE 2019",8 35 | "ECE UG Curriculum",1,"B.Tech ECE 2020",8 36 | "ECE UG Curriculum",1,"B.Tech ECE 2021",8 37 | "ECE UG Curriculum",1,"Phd in ECE 2022",8 38 | "ME PG Curriculum",1,"M.Tech ME 2020",4 39 | "ME PG Curriculum",1,"M.Tech ME 2021",4 40 | "ME Phd Curriculum",1,"Phd in ME 2016",4 41 | "ME Phd Curriculum",1,"Phd in ME 2017",4 42 | "ME Phd Curriculum",1,"Phd in ME 2018",4 43 | "ME Phd Curriculum",1,"Phd in ME 2019",4 44 | "ME Phd Curriculum",1,"Phd in ME 2020",4 45 | "ME Phd Curriculum",1,"Phd in ME 2021",4 46 | "ME Phd Curriculum",1,"Phd in 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 Mechatronics 2020",4 54 | "PG Mechatronics Curriculum v1",1,"M. Tech Mechatronics 2021",4 55 | "PhD in Design",1,"PhD in Design 2016",4 56 | "PhD in Design",1,"PhD in Design 2017",4 57 | "PhD in Design",1,"PhD in Design 2018",4 58 | "PhD in Design",1,"PhD in Design 2019",4 59 | "PhD in Design",1,"PhD in Design 2020",4 60 | "PhD in Design",1,"PhD in Design 2021",4 61 | "PhD in Humanities (English)",1,"PhD in English 2016",4 62 | "PhD in Humanities (English)",1,"PhD in English 2017",4 63 | "PhD in Humanities (English)",1,"Phd in English 2018",4 64 | "PhD in Humanities (English)",1,"PhD in English 2019",4 65 | "PhD in Humanities (English)",1,"PhD in English 2020",4 66 | "PhD in Humanities (English)",1,"PhD in English 2021",4 67 | "PhD in Natural Sciences (Physics)",1,"PhD in Physics 2016",4 68 | "PhD in Natural Sciences (Physics)",1,"PhD in Physics 2017",4 69 | "PhD in Natural Sciences (Physics)",1,"PhD in Physics 2019",4 70 | "PhD in Natural Sciences (Physics)",1,"PhD in Physics 2020",4 71 | "PhD in Natural Sciences (Physics)",1,"PhD in Physics 2021",4 72 | "PhD Natural Sciences (Maths) Curriculum",1,"PhD in Maths 2016",4 73 | "PhD Natural Sciences (Maths) Curriculum",1,"PhD in Maths 2017",4 74 | "PhD Natural Sciences (Maths) Curriculum",1,"PhD in Maths 2018",4 75 | "PhD Natural Sciences (Maths) Curriculum",1,"PhD in Maths 2019",4 76 | "PhD Natural Sciences (Maths) Curriculum",1,"PhD in Maths 2020",4 77 | "PhD Natural Sciences (Maths) Curriculum",1,"PhD in 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/Batches/batches.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 'batchTabComponent.dart'; 6 | // import 'package:fusion/models/academic.dart'; 7 | import 'package:csv/csv.dart'; 8 | 9 | class Batches extends StatefulWidget { 10 | @override 11 | State createState() => _BatchesState(); 12 | } 13 | 14 | class _BatchesState extends State { 15 | List> _currentBatchesList = []; 16 | List> _finishedBatchesList = []; 17 | 18 | Future _loadCSV() async { 19 | final _batchesData = await rootBundle.loadString('db/Batches.csv'); 20 | final _finishedData = await rootBundle.loadString('db/Batches.csv'); 21 | 22 | List> _currentList = 23 | const CsvToListConverter().convert(_batchesData); 24 | List> _finishedList = 25 | const CsvToListConverter().convert(_finishedData); 26 | 27 | _currentBatchesList = _currentList; 28 | _finishedBatchesList = _finishedList; 29 | return 1; 30 | } 31 | 32 | @override 33 | void initState() { 34 | // TODO: implement initState 35 | _loadCSV(); 36 | } 37 | 38 | @override 39 | Widget build(BuildContext context) { 40 | return FutureBuilder( 41 | future: _loadCSV(), 42 | builder: (context, snapshot) { 43 | if (!snapshot.hasData) return Scaffold(); 44 | final data_CurrentBatches = { 45 | "table": { 46 | "columns": _currentBatchesList[0], 47 | "rows": _currentBatchesList.skip(1).map((e) => e) 48 | } 49 | }; 50 | final data_FinishedBatches = { 51 | "table": { 52 | "columns": _finishedBatchesList[0], 53 | "rows": _finishedBatchesList.skip(1).map((e) => e) 54 | } 55 | }; 56 | return DefaultTabController( 57 | length: 2, 58 | child: Scaffold( 59 | appBar: AppBar( 60 | backgroundColor: Colors.black, 61 | title: Text( 62 | "FUSION", 63 | style: TextStyle(color: Colors.white), 64 | ), 65 | actions: [ 66 | Padding( 67 | padding: EdgeInsets.all(8.0), 68 | child: Icon(Icons.search), 69 | ), 70 | Padding( 71 | padding: EdgeInsets.all(8.0), 72 | child: Icon(Icons.notifications), 73 | ), 74 | Padding( 75 | padding: EdgeInsets.all(8.0), 76 | child: Icon(Icons.more_vert), 77 | ), 78 | ], 79 | bottom: TabBar( 80 | isScrollable: true, 81 | indicatorColor: Colors.white, 82 | indicatorWeight: 6.0, 83 | tabs: [ 84 | Tab( 85 | child: Container( 86 | child: Text( 87 | 'Batches', 88 | ), 89 | ), 90 | ), 91 | Tab( 92 | child: Container( 93 | child: Text( 94 | 'Finished Batches', 95 | ), 96 | ), 97 | ), 98 | ], 99 | ), 100 | ), 101 | drawer: SideDrawer(), 102 | body: TabBarView( 103 | children: [ 104 | BatchTabComponent(data: data_CurrentBatches), 105 | BatchTabComponent(data: data_FinishedBatches), 106 | ], 107 | ), 108 | ), 109 | ); 110 | }); 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /lib/screens/Programme_Curriculum/Courses_Info/courses_info.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/Courses_Info/courseInfoTabComponent.dart'; 8 | 9 | class CoursesInfo extends StatefulWidget { 10 | @override 11 | _CoursesInfoState createState() => _CoursesInfoState(); 12 | } 13 | 14 | class _CoursesInfoState extends State { 15 | List> _courseList = []; 16 | List _selectedCourse = []; 17 | int index = -1; 18 | Future _loadCSV() async { 19 | final _allCourses = await rootBundle.loadString("db/Course_Code.csv"); 20 | List> _listALL = 21 | const CsvToListConverter().convert(_allCourses); 22 | 23 | _courseList = _listALL; 24 | return 1; 25 | } 26 | 27 | @override 28 | void initState() { 29 | // TODO: implement initState 30 | _loadCSV(); 31 | } 32 | 33 | @override 34 | Widget build(BuildContext context) { 35 | // final AcademicData data = 36 | // ModalRoute.of(context)?.settings.arguments as AcademicData; 37 | final arguments = (ModalRoute.of(context)?.settings.arguments ?? 38 | {}) as Map; 39 | return FutureBuilder( 40 | future: _loadCSV(), 41 | builder: (context, snapshot) { 42 | if (!snapshot.hasData) return Scaffold(); 43 | 44 | print(arguments["e"]); 45 | 46 | List> _rows = []; 47 | 48 | for (var i = 1; i < _courseList.length; i++) { 49 | if (_courseList[i][0].toString() == arguments["e"].toString()) { 50 | _selectedCourse = _courseList[i]; 51 | break; 52 | } 53 | } 54 | 55 | for (int i = 0; i < _selectedCourse.length; i++) { 56 | List _rowElements = []; 57 | _rowElements.add(_courseList[0][i].toString().toUpperCase()); 58 | _rowElements.add(_selectedCourse[i]); 59 | _rows.add(_rowElements); 60 | } 61 | print(_rows); 62 | final info_data = { 63 | "table": { 64 | "columns": ["Info", "Description"], 65 | "rows": _rows, 66 | } 67 | }; 68 | // print(_rows); 69 | return DefaultTabController( 70 | length: 1, 71 | child: Scaffold( 72 | appBar: AppBar( 73 | backgroundColor: Colors.black, 74 | title: Text( 75 | "FUSION", 76 | style: TextStyle(color: Colors.white), 77 | ), 78 | actions: [ 79 | Padding( 80 | padding: EdgeInsets.all(8.0), 81 | child: Icon(Icons.search), 82 | ), 83 | Padding( 84 | padding: EdgeInsets.all(8.0), 85 | child: Icon(Icons.notifications), 86 | ), 87 | Padding( 88 | padding: EdgeInsets.all(8.0), 89 | child: Icon(Icons.more_vert), 90 | ), 91 | ], 92 | bottom: TabBar( 93 | isScrollable: true, 94 | indicatorColor: Colors.white, 95 | indicatorWeight: 6.0, 96 | tabs: [ 97 | Tab( 98 | child: Container( 99 | child: Text( 100 | arguments['e'].toString() + " Info", 101 | ), 102 | ), 103 | ), 104 | // Tab( 105 | // child: Container( 106 | // child: Text( 107 | // 'Obsolete Curriculums', 108 | // ), 109 | // ), 110 | // ), 111 | ], 112 | ), 113 | ), 114 | drawer: SideDrawer(), 115 | body: TabBarView( 116 | children: [ 117 | CourseInfoTabComponent(data: info_data), 118 | ], 119 | ), 120 | ), 121 | ); 122 | }); 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /lib/screens/Programme_Curriculum/Programme/programme_home_page.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | import 'package:flutter/material.dart'; 4 | // import 'package:fusion/Components/appBar.dart'; 5 | import 'package:flutter/services.dart' show rootBundle; 6 | import 'package:fusion/Components/side_drawer.dart'; 7 | import 'package:fusion/screens/Programme_Curriculum/Programme/tabComponent.dart'; 8 | // import 'package:fusion/models/academic.dart'; 9 | import 'package:csv/csv.dart'; 10 | 11 | class Programme extends StatefulWidget { 12 | @override 13 | _ProgrammeState createState() => _ProgrammeState(); 14 | } 15 | 16 | class _ProgrammeState extends State { 17 | List> _ug = []; 18 | List> _pg = []; 19 | List> _phd = []; 20 | Future _loadCSV() async { 21 | final _underGraduate = 22 | await rootBundle.loadString("db/UG_Under_Graduate.csv"); 23 | final _postGraduate = 24 | await rootBundle.loadString("db/PG_Post_Graduate.csv"); 25 | final _phdGraduate = await rootBundle.loadString("db/PHD_Graduate.csv"); 26 | List> _listUG = 27 | const CsvToListConverter().convert(_underGraduate); 28 | List> _listPG = 29 | const CsvToListConverter().convert(_postGraduate); 30 | List> _listPHD = 31 | const CsvToListConverter().convert(_phdGraduate); 32 | _ug = _listUG; 33 | _pg = _listPG; 34 | _phd = _listPHD; 35 | 36 | return 1; 37 | } 38 | 39 | @override 40 | void initState() { 41 | // TODO: implement initState 42 | // _loadCSV(); 43 | } 44 | 45 | @override 46 | Widget build(BuildContext context) { 47 | // final AcademicData data = 48 | // ModalRoute.of(context)?.settings.arguments as AcademicData; 49 | 50 | return FutureBuilder( 51 | future: _loadCSV(), 52 | builder: (context, snapshot) { 53 | if (!snapshot.hasData) return Scaffold(); 54 | 55 | final data_UG = { 56 | "table": { 57 | "columns": _ug[0], 58 | "rows": _ug.skip(1).map((e) => e) 59 | } 60 | }; 61 | final data_PG = { 62 | "table": { 63 | "columns": _pg[0], 64 | "rows": _pg.skip(1).map((e) => e) 65 | } 66 | }; 67 | final data_PHD = { 68 | "table": { 69 | "columns": _phd[0], 70 | "rows": _phd.skip(1).map((e) => e) 71 | } 72 | }; 73 | print(data_UG); 74 | return DefaultTabController( 75 | length: 3, 76 | child: Scaffold( 77 | appBar: AppBar( 78 | backgroundColor: Colors.black, 79 | title: Text( 80 | "FUSION", 81 | style: TextStyle(color: Colors.white), 82 | ), 83 | actions: [ 84 | Padding( 85 | padding: EdgeInsets.all(8.0), 86 | child: Icon(Icons.search), 87 | ), 88 | Padding( 89 | padding: EdgeInsets.all(8.0), 90 | child: Icon(Icons.notifications), 91 | ), 92 | Padding( 93 | padding: EdgeInsets.all(8.0), 94 | child: Icon(Icons.more_vert), 95 | ), 96 | ], 97 | bottom: TabBar( 98 | isScrollable: true, 99 | indicatorColor: Colors.white, 100 | indicatorWeight: 6.0, 101 | tabs: [ 102 | Tab( 103 | child: Container( 104 | child: Text( 105 | 'UG: Under Graduate', 106 | ), 107 | ), 108 | ), 109 | Tab( 110 | child: Container( 111 | child: Text( 112 | 'PG: Post Graduate', 113 | ), 114 | ), 115 | ), 116 | Tab( 117 | child: Container( 118 | child: Text( 119 | 'PHD:Doctor of Philosopy', 120 | ), 121 | ), 122 | ), 123 | ], 124 | ), 125 | ), 126 | drawer: SideDrawer(), 127 | body: TabBarView( 128 | children: [ 129 | TabComponent(data: data_UG), 130 | TabComponent(data: data_PG), 131 | TabComponent(data: data_PHD) 132 | ], 133 | ), 134 | ), 135 | ); 136 | }); 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /db/Batches.csv: -------------------------------------------------------------------------------- 1 | "name","discipline","year","curriculum" 2 | "B.Tech","Electronics and Communication Engineering",2016,"ECE UG Curriculum v1" 3 | "Phd","Mechanical Engineering",2016,"ME Phd Curriculum v1" 4 | "Phd","Design",2016,"PhD in Design v1" 5 | "Phd","Electronics and Communication Engineering",2016,"ECE Phd Curriculum v1" 6 | "B.Tech","Computer Science and Engineering",2016,"CSE UG Curriculum v1" 7 | "Phd","Humanities - English",2016,"PhD in Humanities (English) v1" 8 | "Phd","Computer Science and Engineering",2016,"CSE Phd Curriculum v1" 9 | "Phd","Natural Sciences-Physics",2016,"PhD in Natural Sciences (Physics) v1" 10 | "Phd","Natural Sciences-Mathematics",2016,"PhD Natural Sciences (Maths) Curriculum v1" 11 | "B.Tech","Mechanical Engineering",2016,"ME UG Curriculum v1" 12 | "Phd","Natural Sciences-Mathematics",2017,"PhD Natural Sciences (Maths) Curriculum v1" 13 | "B.Tech","Electronics and Communication Engineering",2017,"ECE UG Curriculum v1" 14 | "Phd","Natural Sciences-Physics",2017,"PhD in Natural Sciences (Physics) v1" 15 | "Phd","Electronics and Communication Engineering",2017,"ECE Phd Curriculum v1" 16 | "Phd","Computer Science and Engineering",2017,"CSE Phd Curriculum v1" 17 | "Phd","Design",2017,"PhD in Design v1" 18 | "Phd","Mechanical Engineering",2017,"ME Phd Curriculum v1" 19 | "Phd","Humanities - English",2017,"PhD in Humanities (English) v1" 20 | "B.Tech","Computer Science and Engineering",2017,"CSE UG Curriculum v1" 21 | "B.Tech","Mechanical Engineering",2017,"ME UG Curriculum v1" 22 | "Phd","Electronics and Communication Engineering",2018,"ECE Phd Curriculum v1" 23 | "Phd","Mechanical Engineering",2018,"ME Phd Curriculum v1" 24 | "B.Des","Design",2018,"Design UG Curriculum v1" 25 | "B.Tech","Computer Science and Engineering",2018,"CSE UG Curriculum v1" 26 | "Phd","Design",2018,"PhD in Design v1" 27 | "Phd","Natural Sciences-Physics",2018,"PhD in Humanities (English) v1" 28 | "B.Tech","Electronics and Communication Engineering",2018,"ECE UG Curriculum v1" 29 | "B.Tech","Mechanical Engineering",2018,"ME UG Curriculum v1" 30 | "Phd","Natural Sciences-Mathematics",2018,"PhD Natural Sciences (Maths) Curriculum v1" 31 | "Phd","Computer Science and Engineering",2018,"CSE Phd Curriculum v1" 32 | "Phd","Natural Sciences-Physics",2019,"PhD in Natural Sciences (Physics) v1" 33 | "B.Tech","Computer Science and Engineering",2019,"CSE UG Curriculum v1" 34 | "B.Tech","Electronics and Communication Engineering",2019,"ECE UG Curriculum v1" 35 | "B.Tech","Mechanical Engineering",2019,"ME UG Curriculum v1" 36 | "B.Des","Design",2019,"Design UG Curriculum v1" 37 | "Phd","Mechanical Engineering",2019,"ME Phd Curriculum v1" 38 | "Phd","Electronics and Communication Engineering",2019,"ECE Phd Curriculum v1" 39 | "Phd","Computer Science and Engineering",2019,"CSE Phd Curriculum v1" 40 | "Phd","Natural Sciences-Mathematics",2019,"PhD Natural Sciences (Maths) Curriculum v1" 41 | "Phd","Humanities - English",2019,"PhD in Humanities (English) v1" 42 | "Phd","Design",2019,"PhD in Design v1" 43 | "B.Tech","Computer Science and Engineering",2020,"CSE UG Curriculum v1" 44 | "Phd","Electronics and Communication Engineering",2020,"ECE Phd Curriculum v1" 45 | "Phd","Computer Science and Engineering",2020,"CSE Phd Curriculum v1" 46 | "B.Tech","Electronics and Communication Engineering",2020,"ECE UG Curriculum v1" 47 | "M.Tech","Mechatronics",2020,"PG Mechatronics Curriculum v1 v1" 48 | "M.Des","Design",2020,"Design PG Curriculum v1" 49 | "M.Tech","Electronics and Communication Engineering",2020,"ECE PG Curriculum v1" 50 | "B.Tech","Mechanical Engineering",2020,"ME UG Curriculum v1" 51 | "M.Tech","Mechanical Engineering",2020,"ECE PG Curriculum v1" 52 | "M.Tech","Computer Science and Engineering",2020,"CSE PG Curriculum v1" 53 | "B.Des","Design",2020,"Design UG Curriculum v1" 54 | "B.Tech","Smart Manufacturing",2020,"SM UG Curriculum v1" 55 | "Phd","Natural Sciences-Physics",2020,"PhD in Natural Sciences (Physics) v1" 56 | "Phd","Humanities - English",2020,"PhD in Humanities (English) v1" 57 | "Phd","Natural Sciences-Mathematics",2020,"PhD Natural Sciences (Maths) Curriculum v1" 58 | "Phd","Design",2020,"PhD in Design v1" 59 | "Phd","Mechanical Engineering",2020,"ME Phd Curriculum v1" 60 | "B.Tech","Smart Manufacturing",2021,"SM UG Curriculum v1" 61 | "Phd","Electronics and Communication Engineering",2021,"ECE Phd Curriculum v1" 62 | "B.Des","Design",2021,"Design UG Curriculum v1" 63 | "Phd","Computer Science and Engineering",2021,"CSE Phd Curriculum v1" 64 | "B.Tech","Electronics and Communication Engineering",2021,"ECE UG Curriculum v1" 65 | "B.Tech","Computer Science and Engineering",2021,"CSE UG Curriculum v1" 66 | "B.Tech","Mechanical Engineering",2021,"ME UG Curriculum v1" 67 | "Phd","Design",2021,"PhD in Design v1" 68 | "M.Des","Design",2021,"Design PG Curriculum v1" 69 | "M.Tech","Mechanical Engineering",2021,"ME PG Curriculum v1" 70 | "M.Tech","Electronics and Communication Engineering",2021,"ECE PG Curriculum v1" 71 | "M.Tech","Computer Science and Engineering",2021,"CSE PG Curriculum v1" 72 | "Phd","Humanities - English",2021,"PhD in Humanities (English) v1" 73 | "Phd","Natural Sciences-Mathematics",2021,"PhD Natural Sciences (Maths) Curriculum v1" 74 | "Phd","Natural Sciences-Physics",2021,"PhD in Natural Sciences (Physics) v1" 75 | "Phd","Mechanical Engineering",2021,"ME Phd Curriculum v1" 76 | "M.Tech","Mechatronics",2021,"PG Mechatronics Curriculum v1 v1" 77 | "Phd","Electronics and Communication Engineering",2022,"ECE UG Curriculum v1" 78 | "Phd","Mechanical Engineering",2022,"ME Phd Curriculum v1" 79 | "Phd","Computer Science and Engineering",2022,"CSE Phd Curriculum v1" 80 | -------------------------------------------------------------------------------- /lib/models/academic.dart: -------------------------------------------------------------------------------- 1 | class AcademicData { 2 | //? notifications; 3 | Map? details; 4 | Map? profile; 5 | Map? attendance; 6 | List? currently_registered; 7 | List? pre_registered_courses; 8 | List? pre_registered_courses_show; 9 | List? final_registered_courses; 10 | var current_credits; 11 | List? courses_list; 12 | Map? fee_payment_mode_list; 13 | List? next_sem_branch_registration_courses; 14 | List? final_registration_choices; 15 | List? performance_list; 16 | List? thesis_request_list; 17 | List? add_courses_options; 18 | List? drop_courses_options; 19 | var student_flag; 20 | var ug_flag; 21 | var masters_flag; 22 | var phd_flag; 23 | var fac_flag; 24 | var des_flag; 25 | var thesis_flag; 26 | var dropped_courses_count; 27 | var added_course_count; 28 | var pre_registration_date_flag; 29 | var final_registration_date_flag; 30 | var add_or_drop_course_date_flag; 31 | var pre_registration_flag; 32 | var final_registration_flag; 33 | List? teaching_credit_registration_course; 34 | var lib_d; 35 | var acad_d; 36 | var mess_d; 37 | var pc_d; 38 | var hos_d; 39 | var tot_d; 40 | var Branch_Change_Flag; 41 | 42 | AcademicData( 43 | {this.details, 44 | this.profile, 45 | this.attendance, 46 | this.currently_registered, 47 | this.pre_registered_courses, 48 | this.pre_registered_courses_show, 49 | this.final_registered_courses, 50 | this.current_credits, 51 | this.courses_list, 52 | this.fee_payment_mode_list, 53 | this.next_sem_branch_registration_courses, 54 | this.final_registration_choices, 55 | this.performance_list, 56 | this.thesis_request_list, 57 | this.add_courses_options, 58 | this.drop_courses_options, 59 | this.student_flag, 60 | this.ug_flag, 61 | this.masters_flag, 62 | this.phd_flag, 63 | this.fac_flag, 64 | this.des_flag, 65 | this.thesis_flag, 66 | this.dropped_courses_count, 67 | this.added_course_count, 68 | this.pre_registration_date_flag, 69 | this.final_registration_date_flag, 70 | this.add_or_drop_course_date_flag, 71 | this.pre_registration_flag, 72 | this.final_registration_flag, 73 | this.teaching_credit_registration_course, 74 | this.lib_d, 75 | this.acad_d, 76 | this.mess_d, 77 | this.pc_d, 78 | this.hos_d, 79 | this.tot_d, 80 | this.Branch_Change_Flag}); 81 | 82 | factory AcademicData.fromJson(Map json) { 83 | return AcademicData( 84 | details: json["details"], 85 | profile: json["profile"], 86 | attendance: json["attendance"], 87 | currently_registered: json["currently_registered"], 88 | pre_registered_courses: json["pre_registered_courses"], 89 | pre_registered_courses_show: json["pre_registered_courses_show"], 90 | final_registered_courses: json["final_registered_courses"], 91 | current_credits: json["current_credits"], 92 | courses_list: json["courses_list"], 93 | fee_payment_mode_list: json["fee_payment_mode_list"], 94 | next_sem_branch_registration_courses: 95 | json["next_sem_branch_registration_courses"], 96 | final_registration_choices: json["final_registration_choices"], 97 | performance_list: json["performance_list"], 98 | thesis_request_list: json["thesis_request_list"], 99 | add_courses_options: json["add_courses_options"], 100 | drop_courses_options: json["drop_courses_options"], 101 | student_flag: json["student_flag"], 102 | ug_flag: json["ug_flag"], 103 | masters_flag: json["masters_flag"], 104 | phd_flag: json["phd_flag"], 105 | fac_flag: json["fac_flag"], 106 | des_flag: json["des_flag"], 107 | thesis_flag: json["thesis_flag"], 108 | dropped_courses_count: json["dropped_courses_count"], 109 | added_course_count: json["added_course_count"], 110 | pre_registration_date_flag: json["pre_registration_date_flag"], 111 | final_registration_date_flag: json["final_registration_date_flag"], 112 | add_or_drop_course_date_flag: json["add_or_drop_course_date_flag"], 113 | pre_registration_flag: json["pre_registration_flag"], 114 | final_registration_flag: json["final_registration_flag"], 115 | teaching_credit_registration_course: 116 | json["teaching_credit_registration_course"], 117 | lib_d: json["lib_d"], 118 | acad_d: json["acad_d"], 119 | mess_d: json["mess_d"], 120 | pc_d: json["pc_d"], 121 | hos_d: json["hos_d"], 122 | tot_d: json["tot_d"], 123 | Branch_Change_Flag: json["Branch_Change_Flag"], 124 | ); 125 | } 126 | 127 | Map toJson() { 128 | return { 129 | "details": this.details, 130 | "profile": this.profile, 131 | "attendance": this.attendance, 132 | "currently_registered": this.currently_registered, 133 | "pre_registered_courses": this.pre_registered_courses, 134 | "pre_registered_courses_show": this.pre_registered_courses_show, 135 | "final_registered_courses": this.final_registered_courses, 136 | "current_credits": this.current_credits, 137 | "courses_list": this.courses_list, 138 | "fee_payment_mode_list": this.fee_payment_mode_list, 139 | "next_sem_branch_registration_courses": 140 | this.next_sem_branch_registration_courses, 141 | "final_registration_choices": this.final_registration_choices, 142 | "performance_list": this.performance_list, 143 | "thesis_request_list": this.thesis_request_list, 144 | "add_courses_options": this.add_courses_options, 145 | "drop_courses_options": this.drop_courses_options, 146 | "student_flag": this.student_flag, 147 | "ug_flag": this.ug_flag, 148 | "masters_flag": this.masters_flag, 149 | "phd_flag": this.phd_flag, 150 | "fac_flag": this.fac_flag, 151 | "des_flag": this.des_flag, 152 | "thesis_flag": this.thesis_flag, 153 | "dropped_courses_count": this.dropped_courses_count, 154 | "added_course_count": this.added_course_count, 155 | "add_or_drop_course_date_flag": this.add_or_drop_course_date_flag, 156 | "pre_registration_flag": this.pre_registration_flag, 157 | "final_registration_flag": this.final_registration_flag, 158 | "pre_registration_date_flag": this.pre_registration_date_flag, 159 | "final_registration_date_flag": this.final_registration_date_flag, 160 | "teaching_credit_registration_course": 161 | this.teaching_credit_registration_course, 162 | "lib_d": this.lib_d, 163 | "acad_d": this.acad_d, 164 | "mess_d": this.mess_d, 165 | "pc_d": this.pc_d, 166 | "hos_d": this.hos_d, 167 | "tot_d": this.tot_d, 168 | "Branch_Change_Flag": this.Branch_Change_Flag, 169 | }; 170 | } 171 | } 172 | -------------------------------------------------------------------------------- /lib/screens/Programme_Curriculum/programme_curriculum_home.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 ProgrammeCurriculumHome extends StatefulWidget { 6 | @override 7 | _ProgrammeCurriculumHomeState createState() => 8 | _ProgrammeCurriculumHomeState(); 9 | } 10 | 11 | class _ProgrammeCurriculumHomeState extends State { 12 | BoxDecoration myBoxDecoration() { 13 | return BoxDecoration( 14 | border: new Border.all( 15 | color: Colors.deepOrangeAccent, 16 | width: 2.0, 17 | style: BorderStyle.solid, 18 | ), 19 | borderRadius: new BorderRadius.all(new Radius.circular(15.0))); 20 | } 21 | 22 | Text myText(String text) { 23 | return Text( 24 | text, 25 | style: TextStyle(fontSize: 20.0, fontWeight: FontWeight.w500), 26 | ); 27 | } 28 | 29 | Padding myContainer(String text) { 30 | return Padding( 31 | padding: const EdgeInsets.all(8.0), 32 | child: Container( 33 | child: Padding( 34 | padding: const EdgeInsets.all(8.0), 35 | child: myText(text), 36 | ), 37 | decoration: myBoxDecoration(), 38 | ), 39 | ); 40 | } 41 | 42 | @override 43 | Widget build(BuildContext context) { 44 | final data = ''; 45 | return Scaffold( 46 | appBar: DefaultAppBar().buildAppBar(), 47 | drawer: SideDrawer(), 48 | body: ListView( 49 | shrinkWrap: true, 50 | physics: ClampingScrollPhysics(), 51 | children: [ 52 | Card( 53 | elevation: 2.0, 54 | margin: EdgeInsets.symmetric(horizontal: 50.0, vertical: 20.0), 55 | shadowColor: Colors.black, 56 | child: Column( 57 | children: [ 58 | Container( 59 | margin: EdgeInsets.only(top: 20.0), 60 | width: 170.0, 61 | height: 170.0, 62 | decoration: BoxDecoration( 63 | image: DecorationImage( 64 | image: AssetImage('assets/unknown.jpg'), 65 | fit: BoxFit.cover, 66 | ), 67 | ), 68 | ), 69 | SizedBox( 70 | height: 10.0, 71 | ), 72 | Text( 73 | //NAME OF USER 74 | 'Arihant Jain', 75 | // data.details!['current_user']['first_name'] + 76 | // ' ' + 77 | // data.details!['current_user']['last_name'], 78 | style: TextStyle(fontSize: 20.0, color: Colors.black), 79 | ), 80 | SizedBox( 81 | height: 10.0, 82 | ), 83 | Text( 84 | 'CSE', 85 | // data.details!['user_branch'] + ' | ' + "STUDENT", 86 | // style: TextStyle(fontSize: 15.0, color: Colors.black), 87 | ), 88 | SizedBox( 89 | height: 10.0, 90 | ), 91 | ], 92 | ), 93 | ), 94 | Padding( 95 | padding: const EdgeInsets.all(8.0), 96 | child: Container( 97 | child: Padding( 98 | padding: const EdgeInsets.all(8.0), 99 | child: Center( 100 | child: Text( 101 | "Programme Curriculum", 102 | style: TextStyle( 103 | fontSize: 20.0, 104 | color: Colors.white, 105 | ), 106 | )), 107 | ), 108 | decoration: new BoxDecoration( 109 | color: Colors.deepOrangeAccent, 110 | boxShadow: [ 111 | BoxShadow( 112 | color: Colors.black, 113 | offset: Offset(0.0, 1.0), 114 | blurRadius: 2.0, 115 | ) 116 | ], 117 | borderRadius: new BorderRadius.all(new Radius.circular(5.0)), 118 | ), 119 | ), 120 | ), 121 | Card( 122 | elevation: 2.0, 123 | margin: EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0), 124 | shadowColor: Colors.black, 125 | child: Column( 126 | crossAxisAlignment: CrossAxisAlignment.stretch, 127 | children: [ 128 | InkWell( 129 | child: myContainer("Programmes"), 130 | onTap: () { 131 | Navigator.pushNamed( 132 | context, '/programme_curriculum_home/programme', 133 | arguments: data); 134 | }, 135 | ), 136 | InkWell( 137 | child: myContainer("Curriculums"), 138 | onTap: () { 139 | Navigator.pushNamed( 140 | context, '/programme_curriculum_home/curriculum', 141 | arguments: data); 142 | }, 143 | ), 144 | InkWell( 145 | child: myContainer("Courses"), 146 | onTap: () { 147 | Navigator.pushNamed( 148 | context, '/programme_curriculum_home/courses', 149 | arguments: data); 150 | }, 151 | ), 152 | InkWell( 153 | child: myContainer("Disciplines"), 154 | onTap: () { 155 | Navigator.pushNamed( 156 | context, '/programme_curriculum_home/discipline', 157 | arguments: data); 158 | // Navigator.pushNamed( 159 | // context, '/academic_home_page/bonafide', 160 | // arguments: { 161 | // 'firstName': data.details!['current_user'] 162 | // ['first_name'] 163 | // .toString(), 164 | // 'lastName': data.details!['current_user'] 165 | // ['last_name'], 166 | // 'branch': data.details!['user_branch'] 167 | // }); 168 | }, 169 | ), 170 | InkWell( 171 | child: myContainer("Batches"), 172 | onTap: () { 173 | Navigator.pushNamed( 174 | context, '/programme_curriculum_home/batches', 175 | arguments: data); 176 | }, 177 | ), 178 | ], 179 | ), 180 | ), 181 | ], 182 | ), 183 | ); 184 | } 185 | } 186 | -------------------------------------------------------------------------------- /lib/screens/Programme_Curriculum/Programme_Info/programme_info.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/Programme_Info/InfoTabComponent.dart'; 8 | 9 | class ProgrammeInfo extends StatefulWidget { 10 | @override 11 | _ProgrammeInfoState createState() => _ProgrammeInfoState(); 12 | } 13 | 14 | class _ProgrammeInfoState extends State { 15 | // List> _ugProgrammes = []; 16 | // List> _pgProgrammes = []; 17 | // List> _phdProgrammes = []; 18 | List> _selectProgrammes = []; 19 | List> _curriculum = []; 20 | List _filteredList = []; 21 | int index = -1; 22 | Future _loadCSV() async { 23 | // final _underGraduate = await rootBundle.loadString("db/UG_programmes.csv"); 24 | // List> _listUG = 25 | // const CsvToListConverter().convert(_underGraduate); 26 | // final _postGraduate = await rootBundle.loadString("db/PG_Programmes.csv"); 27 | // List> _listPG = 28 | // const CsvToListConverter().convert(_postGraduate); 29 | // final _phdGraduate = await rootBundle.loadString("db/PHD_Programmes.csv"); 30 | // List> _listPHD = 31 | // const CsvToListConverter().convert(_phdGraduate); 32 | 33 | final _allGraduate = await rootBundle.loadString("db/ALL_Programmes.csv"); 34 | List> _listALL = 35 | const CsvToListConverter().convert(_allGraduate); 36 | 37 | final _workingCurriculum = 38 | await rootBundle.loadString("db/Working_Curriculum1.csv"); 39 | List> _listCurr = 40 | const CsvToListConverter().convert(_workingCurriculum); 41 | 42 | _curriculum = _listCurr; 43 | // _ugProgrammes = _listUG; 44 | // _pgProgrammes = _listPG; 45 | // _phdProgrammes = _listPHD; 46 | _selectProgrammes = _listALL; 47 | return 1; 48 | } 49 | 50 | @override 51 | void initState() { 52 | // TODO: implement initState 53 | _loadCSV(); 54 | } 55 | 56 | @override 57 | Widget build(BuildContext context) { 58 | // final AcademicData data = 59 | // ModalRoute.of(context)?.settings.arguments as AcademicData; 60 | final arguments = (ModalRoute.of(context)?.settings.arguments ?? 61 | {}) as Map; 62 | return FutureBuilder( 63 | future: _loadCSV(), 64 | builder: (context, snapshot) { 65 | if (!snapshot.hasData) return Scaffold(); 66 | 67 | var dat = _selectProgrammes 68 | .skip(1) 69 | .map((e) => e.skip(1).take(1).toString()) 70 | .toList(); 71 | 72 | print(dat.toString() + " dat"); 73 | for (var i = 0; i < dat.length; i++) { 74 | if (dat[i].replaceAll("(", "").replaceAll(")", "") == 75 | arguments['e']) { 76 | index = i; 77 | } 78 | } 79 | 80 | final info_data = { 81 | "table": { 82 | "columns": [arguments['e'], ""], 83 | "rows": [ 84 | [ 85 | "Programme Category", 86 | _selectProgrammes[index + 1][0].toString() 87 | ], 88 | ["Programme Name", _selectProgrammes[index + 1][1].toString()], 89 | [ 90 | "Programme Begin Year", 91 | _selectProgrammes[index + 1][2].toString() 92 | ], 93 | ].map((e) => e) 94 | } 95 | }; 96 | var dat_curriculum = _curriculum 97 | .skip(1) 98 | .map((e) => e.skip(2).take(1).toString()) 99 | .toList(); 100 | print(arguments['e'].toString()); 101 | // print(dat_curriculum); 102 | 103 | for (var i = 0; i < dat_curriculum.length; i++) { 104 | var temp = 105 | dat_curriculum[i].replaceAll("(", "").replaceAll(")", ""); 106 | 107 | if (temp.contains(arguments['e'].toString())) { 108 | _filteredList.add(_curriculum[i + 1]); 109 | } 110 | } 111 | final info_curriculums = { 112 | "table": { 113 | "columns": _curriculum[0], 114 | "rows": _filteredList.map((e) => e) 115 | } 116 | }; 117 | 118 | return DefaultTabController( 119 | length: 2, 120 | child: Scaffold( 121 | appBar: AppBar( 122 | backgroundColor: Colors.black, 123 | title: Text( 124 | "FUSION", 125 | style: TextStyle(color: Colors.white), 126 | ), 127 | actions: [ 128 | Padding( 129 | padding: EdgeInsets.all(8.0), 130 | child: Icon(Icons.search), 131 | ), 132 | Padding( 133 | padding: EdgeInsets.all(8.0), 134 | child: Icon(Icons.notifications), 135 | ), 136 | Padding( 137 | padding: EdgeInsets.all(8.0), 138 | child: Icon(Icons.more_vert), 139 | ), 140 | ], 141 | bottom: TabBar( 142 | isScrollable: true, 143 | indicatorColor: Colors.white, 144 | indicatorWeight: 6.0, 145 | tabs: [ 146 | Tab( 147 | child: Container( 148 | child: Text( 149 | arguments['e'].toString() + " Info", 150 | ), 151 | ), 152 | ), 153 | Tab( 154 | child: Container( 155 | child: Text( 156 | 'Working Curriculums', 157 | ), 158 | ), 159 | ), 160 | // Tab( 161 | // child: Container( 162 | // child: Text( 163 | // 'Obsolete Curriculums', 164 | // ), 165 | // ), 166 | // ), 167 | ], 168 | ), 169 | ), 170 | drawer: SideDrawer(), 171 | body: TabBarView( 172 | children: [ 173 | InfoTabComponent(data: info_data), 174 | InfoTabComponent(data: info_curriculums), 175 | ], 176 | ), 177 | ), 178 | ); 179 | }); 180 | } 181 | } 182 | -------------------------------------------------------------------------------- /lib/Components/side_drawer.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class SideDrawer extends StatefulWidget { 4 | @override 5 | _SideDrawerState createState() => _SideDrawerState(); 6 | } 7 | 8 | class _SideDrawerState extends State { 9 | bool _loading = false; 10 | int count = 0; 11 | String? name = ""; 12 | String? depttype = ""; 13 | @override 14 | void initState() { 15 | super.initState(); 16 | } 17 | 18 | @override 19 | Widget build(BuildContext context) { 20 | return SafeArea( 21 | child: Container( 22 | margin: const EdgeInsets.only(right: 50.0), 23 | color: Colors.black, 24 | child: ListView( 25 | shrinkWrap: true, 26 | physics: ClampingScrollPhysics(), 27 | children: [ 28 | Column( 29 | children: [ 30 | Container( 31 | width: 100.0, 32 | height: 100.0, 33 | margin: EdgeInsets.only(top: 50.0), 34 | decoration: BoxDecoration( 35 | shape: BoxShape.circle, 36 | image: DecorationImage( 37 | image: AssetImage('assets/unknown.jpg'), 38 | fit: BoxFit.cover, 39 | ), 40 | ), 41 | ), 42 | SizedBox(height: 20.0), 43 | Text( 44 | name!, 45 | style: TextStyle(fontSize: 25.0, color: Colors.white), 46 | ), 47 | SizedBox( 48 | height: 10.0, 49 | ), 50 | Text( 51 | depttype!, 52 | style: TextStyle(fontSize: 15.0, color: Colors.white), 53 | ), 54 | Divider( 55 | color: Colors.white, 56 | height: 20, 57 | thickness: 1, 58 | indent: 10, 59 | endIndent: 10, 60 | ), 61 | ], 62 | ), 63 | ModulesCard(cardLine: 'DashBoard', pageMover: '/dashboard'), 64 | Card( 65 | color: Colors.black, 66 | child: GestureDetector( 67 | //behaviour to translucent to get Tap even on blank or empty space within container 68 | behavior: HitTestBehavior.translucent, 69 | onTap: () { 70 | count++; 71 | setState(() { 72 | count % 2 == 0 ? _loading = false : _loading = true; 73 | }); 74 | }, 75 | child: Padding( 76 | padding: const EdgeInsets.all(16.0), 77 | child: Row( 78 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 79 | children: [ 80 | Text( 81 | 'Modules', 82 | style: TextStyle( 83 | fontSize: 16.0, 84 | color: Colors.white, 85 | ), 86 | ), 87 | Icon( 88 | Icons.arrow_downward, 89 | color: Colors.deepOrangeAccent, 90 | ), 91 | ], 92 | ), 93 | ), 94 | ), 95 | ), 96 | _loading 97 | ? Card( 98 | color: Colors.black, 99 | child: Column( 100 | crossAxisAlignment: CrossAxisAlignment.center, 101 | children: [ 102 | ModulesPadding( 103 | line: 'Academics Module', 104 | pageMover: '/academic_home_page'), 105 | ModulesPadding( 106 | line: 'Programme Curriculum', 107 | pageMover: '/programme_curriculum_home'), 108 | ], 109 | ), 110 | ) 111 | : SizedBox( 112 | width: 2.0, 113 | ), 114 | ModulesCard( 115 | cardLine: 'Profile', 116 | icon: Icons.account_circle, 117 | pageMover: '/profile'), 118 | // ModulesCard(cardLine: 'Office Of Dean Students'), 119 | // ModulesCard(cardLine: 'Office Of Dean Academics'), 120 | // ModulesCard(cardLine: 'Director Office'), 121 | // ModulesCard(cardLine: 'Office Of Purchase Officer'), 122 | // ModulesCard(cardLine: 'Office Of Registrar'), 123 | // ModulesCard(cardLine: 'Office Of P&D'), 124 | // ModulesCard(cardLine: 'Office Of HOD (Branch)'), 125 | // ModulesCard(cardLine: 'Finance & Accounts'), 126 | // ModulesCard(cardLine: 'Meet Our Team'), 127 | // ModulesCard(cardLine: 'Log Out', icon: Icons.logout), 128 | ], 129 | ), 130 | ), 131 | ); 132 | } 133 | } 134 | 135 | class ModulesPadding extends StatelessWidget { 136 | final String? line; 137 | final String? pageMover; 138 | ModulesPadding({this.line, this.pageMover}); 139 | @override 140 | Widget build(BuildContext context) { 141 | return TextButton( 142 | style: TextButton.styleFrom(minimumSize: const Size.fromHeight(50)), 143 | child: Padding( 144 | padding: const EdgeInsets.all(16.0), 145 | child: Text( 146 | line!, 147 | style: TextStyle(fontSize: 16.0, color: Colors.deepOrangeAccent), 148 | ), 149 | ), 150 | onPressed: () async { 151 | // var _prefs = await StorageService.getInstance(); 152 | // String token = _prefs!.userInDB?.token ?? ""; 153 | Navigator.pushReplacementNamed(context, pageMover!); 154 | }, 155 | ); 156 | } 157 | } 158 | 159 | // ignore: must_be_immutable 160 | class ModulesCard extends StatelessWidget { 161 | final String? cardLine; 162 | final String? pageMover; 163 | IconData? icon; 164 | ModulesCard({this.cardLine, this.icon, this.pageMover}); 165 | @override 166 | Widget build(BuildContext context) { 167 | return GestureDetector( 168 | //behaviour to translucent to get Tap even on blank or empty space within container 169 | behavior: HitTestBehavior.translucent, 170 | child: Card( 171 | color: Colors.black, 172 | child: Padding( 173 | padding: const EdgeInsets.all(16.0), 174 | child: Row( 175 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 176 | children: [ 177 | Text( 178 | cardLine!, 179 | style: TextStyle(fontSize: 16.0, color: Colors.white), 180 | ), 181 | Icon( 182 | icon, 183 | color: Colors.deepOrangeAccent, 184 | ), 185 | ], 186 | ), 187 | ), 188 | ), 189 | onTap: () async { 190 | // var _prefs = await StorageService.getInstance(); 191 | // String token = _prefs!.userInDB?.token ?? ""; 192 | // if (cardLine == 'Log Out') { 193 | // LoginService auth = LoginService(); 194 | // auth.logout(); 195 | // Navigator.pushReplacementNamed(context, "/landing"); 196 | // } 197 | if (pageMover != null) 198 | Navigator.pushReplacementNamed(context, pageMover!); 199 | }, 200 | ); 201 | } 202 | } 203 | -------------------------------------------------------------------------------- /lib/screens/NewAcademic/academic_home_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:fusion/Components/appBar.dart'; 3 | import 'package:fusion/Components/side_drawer.dart'; 4 | // import 'package:fusion/services/academic_service.dart'; 5 | // import 'package:fusion/models/academic.dart'; 6 | // import 'dart:async'; 7 | // import 'dart:convert'; 8 | // import 'package:http/http.dart'; 9 | 10 | class AcademicHomePage extends StatefulWidget { 11 | // final String? token; 12 | static String tag = 'academic-page'; 13 | AcademicHomePage(); 14 | @override 15 | _AcademicHomePageState createState() => _AcademicHomePageState(); 16 | } 17 | 18 | class _AcademicHomePageState extends State { 19 | bool _loading1 = true; 20 | // late StreamController _academicController; 21 | // late AcademicService academicService; 22 | // late AcademicData data; 23 | @override 24 | void initState() { 25 | super.initState(); 26 | // _academicController = StreamController(); 27 | // academicService = AcademicService(); 28 | // getAcademicDataStream(); 29 | } 30 | 31 | // getAcademicDataStream() async { 32 | // //print('token-'+widget.token!); 33 | // try { 34 | // Response response = 35 | // await academicService.getAcademicDetails(widget.token!); 36 | // setState(() { 37 | // print(response); 38 | // data = AcademicData.fromJson(jsonDecode(response.body)); 39 | // _loading1 = false; 40 | // }); 41 | // } catch (e) { 42 | // print(e); 43 | // } 44 | // } 45 | 46 | // loadData() async { 47 | // getAcademicDataStream().then((res) { 48 | // _academicController.add(res); 49 | // }); 50 | // } 51 | 52 | BoxDecoration myBoxDecoration() { 53 | return BoxDecoration( 54 | border: new Border.all( 55 | color: Colors.deepOrangeAccent, 56 | width: 2.0, 57 | style: BorderStyle.solid, 58 | ), 59 | borderRadius: new BorderRadius.all(new Radius.circular(15.0))); 60 | } 61 | 62 | Text myText(String text) { 63 | return Text( 64 | text, 65 | style: TextStyle(fontSize: 20.0, fontWeight: FontWeight.w500), 66 | ); 67 | } 68 | 69 | Padding myContainer(String text) { 70 | return Padding( 71 | padding: const EdgeInsets.all(8.0), 72 | child: Container( 73 | child: Padding( 74 | padding: const EdgeInsets.all(8.0), 75 | child: myText(text), 76 | ), 77 | decoration: myBoxDecoration(), 78 | ), 79 | ); 80 | } 81 | 82 | Widget build(BuildContext context) { 83 | return Scaffold( 84 | appBar: DefaultAppBar().buildAppBar(), 85 | drawer: SideDrawer(), 86 | body: ListView( 87 | shrinkWrap: true, 88 | physics: ClampingScrollPhysics(), 89 | children: [ 90 | Card( 91 | elevation: 2.0, 92 | margin: EdgeInsets.symmetric(horizontal: 50.0, vertical: 20.0), 93 | shadowColor: Colors.black, 94 | child: Column( 95 | children: [ 96 | Container( 97 | margin: EdgeInsets.only(top: 20.0), 98 | width: 170.0, 99 | height: 170.0, 100 | decoration: BoxDecoration( 101 | image: DecorationImage( 102 | image: AssetImage('assets/unknown.jpg'), 103 | fit: BoxFit.cover, 104 | ), 105 | ), 106 | ), 107 | SizedBox( 108 | height: 10.0, 109 | ), 110 | Text( 111 | //NAME OF USER 112 | 'Arihant Jain', 113 | // data.details!['current_user']['first_name'] + 114 | // ' ' + 115 | // data.details!['current_user']['last_name'], 116 | style: TextStyle(fontSize: 20.0, color: Colors.black), 117 | ), 118 | SizedBox( 119 | height: 10.0, 120 | ), 121 | Text( 122 | 'CSE', 123 | // data.details!['user_branch'] + ' | ' + "STUDENT", 124 | // style: TextStyle(fontSize: 15.0, color: Colors.black), 125 | ), 126 | SizedBox( 127 | height: 10.0, 128 | ), 129 | ], 130 | ), 131 | ), 132 | Padding( 133 | padding: const EdgeInsets.all(8.0), 134 | child: Container( 135 | child: Padding( 136 | padding: const EdgeInsets.all(8.0), 137 | child: Center( 138 | child: Text( 139 | "Academic", 140 | style: TextStyle( 141 | fontSize: 20.0, 142 | color: Colors.white, 143 | ), 144 | )), 145 | ), 146 | decoration: new BoxDecoration( 147 | color: Colors.deepOrangeAccent, 148 | boxShadow: [ 149 | BoxShadow( 150 | color: Colors.black, 151 | offset: Offset(0.0, 1.0), 152 | blurRadius: 2.0, 153 | ) 154 | ], 155 | borderRadius: new BorderRadius.all(new Radius.circular(5.0)), 156 | ), 157 | ), 158 | ), 159 | Card( 160 | elevation: 2.0, 161 | margin: EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0), 162 | shadowColor: Colors.black, 163 | child: Column( 164 | crossAxisAlignment: CrossAxisAlignment.stretch, 165 | children: [ 166 | InkWell( 167 | child: myContainer("Current Semester"), 168 | onTap: () { 169 | // Navigator.pushNamed(context, 170 | // '/academic_home_page/current_semester_home_page', 171 | // arguments: data); 172 | }, 173 | ), 174 | InkWell( 175 | child: myContainer("Registration"), 176 | onTap: () { 177 | // Navigator.pushNamed(context, 178 | // '/academic_home_page/registration_home_page', 179 | // arguments: data); 180 | }, 181 | ), 182 | InkWell( 183 | child: myContainer("Check Dues"), 184 | onTap: () { 185 | // Navigator.pushNamed( 186 | // context, '/academic_home_page/dues', 187 | // arguments: data); 188 | }, 189 | ), 190 | InkWell( 191 | child: myContainer("Apply for Bonafide"), 192 | onTap: () { 193 | // Navigator.pushNamed( 194 | // context, '/academic_home_page/bonafide', 195 | // arguments: { 196 | // 'firstName': data.details!['current_user'] 197 | // ['first_name'] 198 | // .toString(), 199 | // 'lastName': data.details!['current_user'] 200 | // ['last_name'], 201 | // 'branch': data.details!['user_branch'] 202 | // }); 203 | }, 204 | ), 205 | InkWell( 206 | child: myContainer("Check Attendance"), 207 | onTap: () { 208 | // Navigator.pushNamed( 209 | // context, '/academic_home_page/attendance', 210 | // arguments: data); 211 | }, 212 | ), 213 | InkWell( 214 | child: myContainer("Branch Change"), 215 | onTap: () { 216 | // Navigator.pushNamed( 217 | // context, '/academic_home_page/branch_change'); 218 | }, 219 | ), 220 | InkWell( 221 | child: myContainer("Evaluate Teaching Credits"), 222 | //onTap: (){}, 223 | ), 224 | InkWell( 225 | child: myContainer("Thesis"), 226 | onTap: () { 227 | // Navigator.pushNamed( 228 | // context, '/academic_home_page/thesis'); 229 | }, 230 | ), 231 | InkWell( 232 | child: myContainer("View Performance"), 233 | onTap: () { 234 | // Navigator.pushNamed( 235 | // context, '/academic_home_page/performance'); 236 | }, 237 | ), 238 | InkWell( 239 | child: myContainer("Add/Drop courses"), 240 | onTap: () { 241 | // Navigator.pushNamed( 242 | // context, '/academic_home_page/add_drop_courses'); 243 | }, 244 | ), 245 | ], 246 | ), 247 | ), 248 | ], 249 | ), 250 | ); 251 | } 252 | } 253 | -------------------------------------------------------------------------------- /db/courses.csv: -------------------------------------------------------------------------------- 1 | "Course Code","Course Name","credits" 2 | "NS205c","Discrete Mathematics",4 3 | "NS205i","Culture and Science-a comparison",4 4 | "CS418b","Data Mining and Data Warehousing",4 5 | "CS205","Data Communication",4 6 | "ME206L","Thermodynamics+Solid Mechanics",2 7 | "NS102","Engineering Mechanics",4 8 | "EC1001","Introduction to Profession(ece)",4 9 | "ME8017","Electric Vehicle and Mobility",3 10 | "CS8010","Introduction to Digital watermarking",3 11 | "OE3D21","Communication Design",3 12 | "OE3M10","Finite Element Methods for Mechanical Engineering",3 13 | "ME8016","Biomaterials Science and Engineering",3 14 | "EC310b","Digital System Design",2 15 | "HS303b","Literature in Social Cultural Panorama",4 16 | "CS311L","Lab based Project 2",2 17 | "ES406c","Sensros and Actuators",4 18 | "EC313c","IC Fabrication",4 19 | "CS315L","Lab based Project 3",2 20 | "CS417a","Advanced Computer Architecture",4 21 | "PR499","Project",4 22 | "CS206L","Lab based Project 1",4 23 | "CS310b","Parallel Computing",2 24 | "ME1001","Introduction to Profession(me)",4 25 | "ES102","Fundamentals of Computing",4 26 | "NS103","Mathematics-II",4 27 | "NS205g","Modern Physics",4 28 | "ES101","Fundamentals of Electrical and Electronics Engineering",5 29 | "NS104","Electrodynamics and Optics",5 30 | "ME416a","Energy Conversion Device",4 31 | "DS1001","Introduction to Profession(ds)",4 32 | "IT2E02","IT Workshop II",2 33 | "HS102","Culture and Human Values",2 34 | "DS101","Engineering Graphics",3 35 | "ES103","Data Structures and Algorithms",4 36 | "NS205a","Advance Engineering Mathematics",4 37 | "NS205d","Applied Probability and Statistics",4 38 | "PC4004","Professional Development Course4",1 39 | "NS205e","Numerical Method",4 40 | "NS205f","Optimization",4 41 | "NS205h","Material Science",4 42 | "NS205b","Analytical Method in Engineering",4 43 | "ME202","IT Workshop",2 44 | "CS417b","Cloud Computing",4 45 | "EC201","Electronics Devices and Circuits",5 46 | "IT2S02","IT Workshop II (covers contents related to solid modelling and manufacturing)",2 47 | "DS2009","Design Research Including User Study",3 48 | "CS418a","Complex Networks",4 49 | "ES204","Digital Electronics",4 50 | "CS416a","Pattern Recognition",4 51 | "ME201","Kinematics and Dynamics of Machines",4 52 | "CS421a","Image Reconstruction",4 53 | "DS2010","Material and Processes",3 54 | "DS2011","Industrial Design 2",0 55 | "DS2012","Communication Design 2",3 56 | "ES205","Fundamental of Robotics",4 57 | "OE3D37","Application for Renewable Energy Resourses in Design",3 58 | "OE3D39","Traditional Media",3 59 | "CS201","DBMS",4 60 | "CS202","Oops With Java",2 61 | "HS 102","Culture and Human Values",2 62 | "NS101","Mathematics -I",4 63 | "EC202","Instrumentation and Measurement",2 64 | "DS2013","Design Project 2",4 65 | "PR2002","Discipline Project",2 66 | "PC2002","Professional Development Course",1 67 | "EC203","Network Analysis and Synthesis",4 68 | "ME203","Thermodynamics",4 69 | "CS203","Computer Organization and Architecture",4 70 | "EC204","Signals and Systems",4 71 | "EC311L","Control systems + Communication",2 72 | "EC5N04","Analog IC Design",4 73 | "EC5009","Nano Scale Integrated Computing",3 74 | "EC5010","Low power VLSI Design",3 75 | "CS8020","Next Generation Networks",3 76 | "CS8004","Deep Learning and Applications",3 77 | "CS204","Design & Analysis of Algorithm",4 78 | "CS310c","Coding Theory",2 79 | "EC205","Microprocessor and Interfacing",4 80 | "ME205","Engineering Materials",4 81 | "HS303a","Soft Skills and use of English Language",4 82 | "EC307","Fundamental of Electromagnetic Theory",4 83 | "ME307","Manufacturing Technology",4 84 | "CS307","Computer Network",4 85 | "ME8001","Research Methodology",3 86 | "ME8011","Mechanic of composite materials and Applications",3 87 | "ME8019","Robotics and Intelligent Systems",3 88 | "ME308","Fluid Mechanic",4 89 | "CS308","Operating System",4 90 | "PC3003","Professional Development Course 3",1 91 | "OE4M70","Advanced Mechanics of Solids",3 92 | "EC8002","Advanced Engineering Electromagnetics",3 93 | "EC8029","Advanced Digital Filter Design",3 94 | "OE4E71","Satelite communication",3 95 | "OE3M18","Maintenance and Reliability",3 96 | "IT3C03","Web and mobile App development",2 97 | "EC309","Principle of Communication",4 98 | "ES406e","Computer Graphics",4 99 | "CS309","Language Theory",4 100 | "EC310a","Computer Networks",2 101 | "CS310a","Soft Computing",2 102 | "IT3E03","Cadence, Silvaco, Xylink,Sentaurus Tcad",2 103 | "DS3014","Fabrication Project",4 104 | "EC310c","Intelligent Control",2 105 | "ME310b","Steam Generators",2 106 | "ME310c","Gas Dynamics",2 107 | "ME311L","FM&ST",2 108 | "HS303c","Indian Philosophy and Literature in Engilish",4 109 | "HS3004","Ecology and Environment Science",2 110 | "SM1001","Introduction to Profession(sm)",4 111 | "ES406a","Communication Systems",4 112 | "ES406b","Electrical Drives and Control",4 113 | "ES406d","Geometric Modeling",4 114 | "ME5D6L","PG IT Workshop II",2 115 | "IT1001","Introduction to Programming In C/Python",4 116 | "DS4013","Design Seminar I",0 117 | "EC8033","Radio Frequency Integrated Circuits Design",3 118 | "OE4E69","Optical Communication",3 119 | "ME5M01","Manufacturing Science",3 120 | "ES406f","Multimedia Processing",4 121 | "ME416c","Rapid Product Development Technologies",4 122 | "OE4L73","Life Skills Management",3 123 | "EC312","Linear Integrated Circuit Design",4 124 | "ME312","Heat and Mass Transfer",4 125 | "CS314b","Machine Learning",4 126 | "EC313a","Digital Communication",0 127 | "EC313b","Digital Signal Processing",4 128 | "ME313a","Finite Element Methods",4 129 | "ME313b","CNC Machine Tools and Programming",4 130 | "CS421c","Statistical Methods in Computer Science",4 131 | "DS4014","Design Thesis II",14 132 | "MS201","Management Concepts and Techniques",4 133 | "CS313b","Network Security & Cryptography",4 134 | "CS313a","S/W testing and Quality Assurance",4 135 | "DS5015","Design and Technology",3 136 | "OE3M26","Computer Aided Design",3 137 | "EC314a","Antenna Theory & Design",4 138 | "EC314b","Wavelet and Filter Bank",4 139 | "ME314c","Computational Fluid Dynamics",4 140 | "CS416d","Computational Geometry",4 141 | "EC314c","Biomedical Instrumentation",4 142 | "EC315L","DSP+Microwave",2 143 | "DS5016","Material and Process in Design",3 144 | "ME314a","Vibration of Mechanical Systems",4 145 | "ME314b","Computer Aided Design",4 146 | "EC416a","Advanced Analog Circuits Design",4 147 | "CS418d","Mesh Free Computations",4 148 | "EC416b","Detection and Estimation Theory",4 149 | "DS5021","Product Design II",3 150 | "PR3003","Optional Project",2 151 | "EC416c","Industrial Microwave and Communication",4 152 | "CS314C","Human Computer Interactions",4 153 | "CS314d","Compiler Design",0 154 | "DS5017","Visual Design II",3 155 | "ME315L","Adv. Manufacturing+NCCNC",2 156 | "ME418b","Management of Production System",4 157 | "CS8018","Web Mining",3 158 | "OE4M23","Business Analytics using R",3 159 | "ME5D02","Mechanical Vibrations and Condition Monitoring",3 160 | "CS8017","Intrusion Detection Systems",3 161 | "ME416b","Industrial Instrumentation & Metrology",4 162 | "CS416b","Internet Technology",4 163 | "ME418c","Design of Mechanical Systems",4 164 | "EC417a","Satellite Communication",4 165 | "EC8004","Pattern Recognition and Machine Learning ",3 166 | "EC8005","Advanced Semiconductor Devices",3 167 | "ME8012","Computer Aided Geometric Design",3 168 | "EC417b","Mixed-Mode Circuit Design",4 169 | "EC417c","Power System Engineering",4 170 | "DS5018","Strategic Design Management",3 171 | "ME417a","Mechanical Vibration and Condition Monitoring",4 172 | "CS418c","Advanced Algorithms",4 173 | "ME417b","Advance Manufacturing Processes",4 174 | "ME417c","Automobile Engineering",4 175 | "CS417c","Object Oriented Analysis and Design",4 176 | "DS5019","Interactive Design",3 177 | "DS302","Engineering design",4 178 | "EC418a","Time Frequency Analysis",4 179 | "EC418b","Radio Frequency Integrated Circuits Design",4 180 | "ME8002","Design of Experiments",3 181 | "CS8007","Social Network Analysis",3 182 | "EC8016","Electromagnetics Interference and Compatibility",3 183 | "EC8030","CMOS Memory Design",3 184 | "EC8031","Digital Image Processing",3 185 | "EC418c","Physics of Semiconductor Devices",4 186 | "ME418a","Advance Solid Mechanics",4 187 | "DS5020","Design Workshop II",3 188 | "ES407a","Fundamentals of RF & Microwave Electronics",4 189 | "ES407c","Applied Photonics",4 190 | "EC206L","Microprocessor+Electronics",2 191 | "OE4M35","Advanced Manufacturing Processes and Technologies",3 192 | "EC8032","Numerical Techniques in Electromagnetics",3 193 | "OE4M72","Computational Material Science",3 194 | "OE4M22","Industrial Instrumentation & Metrology",3 195 | "ES407e","Internet of Things (IoT)",4 196 | "DS5098","Seminar I",2 197 | "ES407f","Social network Analysis",4 198 | "HS405a","Culture and Technology",4 199 | "EC419a","RF and Microwave Engineering",4 200 | "EC419b","Power Electronics",4 201 | "CS419c","Quantitative Methods in Software Engineering",4 202 | "DS599","Graduate Seminar I",2 203 | "EC419c","Advance Filter Design",4 204 | "ME419a","Computer Integrated Manufacturing",4 205 | "EC8017","Internet of Things",3 206 | "ME419b","Fracture and Fatigue",4 207 | "ME419c","Refrigeration and Air Conditioning",4 208 | "CS419a","Computer Vision",4 209 | "CS419b","Distributed Systems",4 210 | "DS699","M.Des Thesis",12 211 | "EC421a","CMOS Memory System Design",4 212 | "EC421c","Optical Communication",4 213 | "EC420a","Advanced Control Systems",4 214 | "EC420b","VLSI Test and Testability",4 215 | "EC420c","Information Theory and Coding",4 216 | "ME420a","Optimization Techniques",4 217 | "DS1002","Design Fundamentals 1",4 218 | "ME420b","Mechanics of Composite Materials",4 219 | "ME421a","IC Engine",4 220 | "ME420c","Metal Forming",4 221 | "CS420a","Big Data Analytics",4 222 | "ME310a","Steam Turbine",2 223 | "CS420b","Principles of Programming Languages",4 224 | "CS420c","Approximation Algorithms",4 225 | "DS1003","Design Drawing",4 226 | "CS420d","Randomized Algorithms",4 227 | "OE4M68","Nano finishing Science and Technology",3 228 | "CS8021","Information Retrival and Semantic Web",3 229 | "OE2D05","Packaging Design and Branding",3 230 | "ME421b","Gas Turbine and Propulsion",4 231 | "CS8022","Advanced Embedded System",3 232 | "OE3C34","Cyber Physical Systems",3 233 | "ME421c","Quality, Reliability and Maintenance Engineering",4 234 | "CS421b","Image Processing(CSE)",4 235 | "DS1004","Representation Technique",4 236 | "EC422a","Nanophotonics and Plasmonics",4 237 | "OE4M65","Biomedical Engineering: Fundamentals and Applications",3 238 | "SM2007","Cyber Physical Production Systems",3 239 | "ME2005","Engineering Materials and Characterization",3 240 | "CS2006","Operating Systems",3 241 | "ME2006","Kinematics and Dynamics of Machines",4 242 | "EC207a","AI and its application",2 243 | "EC207b","Architecture of Cellular Systems",2 244 | "EC2008","Analog Integrated Circuit",4 245 | "ME2008","Fluid Mechanics and Machines",4 246 | "SM2008","Industrial Automation",3 247 | "EC421b","Image Processing",4 248 | "OE3E35","Speech processing",3 249 | "OE3D12","Communication Skills Management",3 250 | "OE3D20","Industrial Design",3 251 | "OE3M04","Computer Aided Manufacturing",3 252 | "EC422b","Application of Signal and Image Processing",4 253 | "EC422c","Renewal Energy System",4 254 | "ME422a","Smart Materials and Structures",4 255 | "NS1001","Mathematics-I",4 256 | "CS416c","Cyber Security",0 257 | "ME422b","Fault Diagnosis and Prognosis for Engineering Systems",4 258 | "ME422c","Robot Kinematics and Dynamics",4 259 | "CS422a","Natural Language Processing",4 260 | "CS422b","Visual Cryptography & Data Hiding",4 261 | "CS422c","Model Thinking",4 262 | "CS1001","Introduction to Profession(cse)",4 263 | "HS304","Environmental Science",4 264 | "OE2C01","NoSQL Databases",3 265 | "OE2C02","Discrete Structures",3 266 | "OE2D06","Interface Design",3 267 | "OE2S09","Management concept and technology",3 268 | "NS2001","Biology for Engineers",2 269 | "IT2C02","Embedded System Lab",2 270 | "CS8013","Mobile and Wireless Network",4 271 | "CS8015","Computer Vision with Deep Learning",3 272 | "EC8021","Fundamentals of 5G and beyond 5G Mobile Network",3 273 | "OE4E64","Microwave Remote Sensing",3 274 | "CS8016","Cloud Computing ",3 275 | "ME3009","Design of Mechanical Components",3 276 | "CS3010","Software Engineering",3 277 | "CS3011","Artificial Intelligence",3 278 | "ME2003","Solid Mechanics",4 279 | "CS3009","Network Security & Cryptography",3 280 | "EC3009","VLSI System Design (VLSI IC desien, logic synthesis using VHDL) ",3 281 | "SM3009","Additive and Subractive Manufacturing Processes",3 282 | "EC3010","Fundamentals of Electromagnetic Theory",3 283 | "ME3010","Industrial Internet of Things",3 284 | "SM3010","Computer Aided Product Development",3 285 | "EC3011","Digital Communications",3 286 | "ME3011","Heat Transfer",4 287 | "CS2002","Computer Organization and Architecture",4 288 | "EC2002","Digital Electronics and Microprocessor Interfacing ",4 289 | "CS2003","Database Management Systems",4 290 | "EC203a","Principle of Analog Communications ",2 291 | "EC203b","Network Theory (Analysis and Synthesis) ",2 292 | "SM2003","Solid Mechanics + Design of Mechanical Components",4 293 | "CS2004","Introduction to Data Science ",4 294 | "EC204a","Electronics Devices and Circuits",2 295 | "EC204b","Instrumentation and Measurement",2 296 | "ME2004","Engineering Thermodynamics",4 297 | "SM2004","Engineering Thermodynamics + Heat Transfer",4 298 | "IT2C01","OOPs in Java",2 299 | "IT2E01","Matlab and Simulink, Pspice",2 300 | "IT2M01","drawing/drafting/modelling and kinematic/ dynamic modelling-ME",2 301 | "IT2S01","drawing/drafting/modelling and kinematic/ dynamic modelling-SM",2 302 | "IT3C01","Computer Network Lab ",2 303 | "IT3E01","Tanner Tool (Tspice), VHDL and Verilog ",2 304 | "IT3M01","CATIA and Power Mill",2 305 | "SM3012","Advanced Cyber Physical System",3 306 | "DS3001","Engineering Design Including Design and Fabrication Project",4 307 | "DS3009","Service Design",3 308 | "DS3010","Sustainable Design",3 309 | "DS3011","Design Management",3 310 | "DS3012","Design Project 4 (compulsory)",3 311 | "DS2005","Studies in Form ",3 312 | "DS2006","Industrial Design 1 ",3 313 | "DS2007","Communication Design 1 ",3 314 | "DS2008","Design Project 1 ",3 315 | "OE2D11","Design Thinking",3 316 | "OE2M07","Operations Research",3 317 | "OE2C09","Game Theory",3 318 | "OE2E02","Probability and random Process",3 319 | "EC8006","Photovoltaics: Fundamentals and Applications ",3 320 | "OE2N05","Complex Analysis and Linear Algebra",3 321 | "OE2D15","Design Arts and Aesthetics",3 322 | "OE2D14","Science and Culture- A Comparison",3 323 | "OE3XX","Software Defined Networking",3 324 | "OE3E25","VLSI Design Modeling",3 325 | "OE3E40","Computation Genomic & Proteomic",3 326 | "OE4E50","Detection and Estimation Theory",3 327 | "OE3M27","Vibration of Mechanical systems",3 328 | "OE3D15","Applied Ergonomics",3 329 | "OE3D16","Visual Ergonomics",3 330 | "OE3D25","Lighting Design",3 331 | "OE3D26","New Media Art",3 332 | "IT2001","Data Structure in C",3 333 | "IT2002","Data Structure in Python",3 334 | "SM3011","Control Systems",3 335 | "ME2002","Manufacturing Process",4 336 | "ME8003","Sensors and Actuators",3 337 | "OE2E01","Sensors & Actuators",3 338 | "HS101","Effective Communications",2 339 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 11 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 12 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 13 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 14 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 15 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; 16 | DB1A8C1C17DC3FCF7BEA8E4D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71634A3A14303D4A3314EE4B /* Pods_Runner.framework */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXCopyFilesBuildPhase section */ 20 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = { 21 | isa = PBXCopyFilesBuildPhase; 22 | buildActionMask = 2147483647; 23 | dstPath = ""; 24 | dstSubfolderSpec = 10; 25 | files = ( 26 | ); 27 | name = "Embed Frameworks"; 28 | runOnlyForDeploymentPostprocessing = 0; 29 | }; 30 | /* End PBXCopyFilesBuildPhase section */ 31 | 32 | /* Begin PBXFileReference section */ 33 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 34 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 35 | 24A22905EB53875069EE89FE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 36 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 37 | 71634A3A14303D4A3314EE4B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 38 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 39 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 40 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 41 | 8DD0F3C03172DB0CA37B1015 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 42 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 43 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 44 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 46 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 47 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 48 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 49 | E6CF6D81608B4B9165CF76F3 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 50 | /* End PBXFileReference section */ 51 | 52 | /* Begin PBXFrameworksBuildPhase section */ 53 | 97C146EB1CF9000F007C117D /* Frameworks */ = { 54 | isa = PBXFrameworksBuildPhase; 55 | buildActionMask = 2147483647; 56 | files = ( 57 | DB1A8C1C17DC3FCF7BEA8E4D /* Pods_Runner.framework in Frameworks */, 58 | ); 59 | runOnlyForDeploymentPostprocessing = 0; 60 | }; 61 | /* End PBXFrameworksBuildPhase section */ 62 | 63 | /* Begin PBXGroup section */ 64 | 9740EEB11CF90186004384FC /* Flutter */ = { 65 | isa = PBXGroup; 66 | children = ( 67 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, 68 | 9740EEB21CF90195004384FC /* Debug.xcconfig */, 69 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 70 | 9740EEB31CF90195004384FC /* Generated.xcconfig */, 71 | ); 72 | name = Flutter; 73 | sourceTree = ""; 74 | }; 75 | 97C146E51CF9000F007C117D = { 76 | isa = PBXGroup; 77 | children = ( 78 | 9740EEB11CF90186004384FC /* Flutter */, 79 | 97C146F01CF9000F007C117D /* Runner */, 80 | 97C146EF1CF9000F007C117D /* Products */, 81 | E7C09DACEF39BD7086EE806F /* Pods */, 82 | E7F76D88E946F94D1B2643D5 /* Frameworks */, 83 | ); 84 | sourceTree = ""; 85 | }; 86 | 97C146EF1CF9000F007C117D /* Products */ = { 87 | isa = PBXGroup; 88 | children = ( 89 | 97C146EE1CF9000F007C117D /* Runner.app */, 90 | ); 91 | name = Products; 92 | sourceTree = ""; 93 | }; 94 | 97C146F01CF9000F007C117D /* Runner */ = { 95 | isa = PBXGroup; 96 | children = ( 97 | 97C146FA1CF9000F007C117D /* Main.storyboard */, 98 | 97C146FD1CF9000F007C117D /* Assets.xcassets */, 99 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, 100 | 97C147021CF9000F007C117D /* Info.plist */, 101 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, 102 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, 103 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, 104 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, 105 | ); 106 | path = Runner; 107 | sourceTree = ""; 108 | }; 109 | E7C09DACEF39BD7086EE806F /* Pods */ = { 110 | isa = PBXGroup; 111 | children = ( 112 | 8DD0F3C03172DB0CA37B1015 /* Pods-Runner.debug.xcconfig */, 113 | E6CF6D81608B4B9165CF76F3 /* Pods-Runner.release.xcconfig */, 114 | 24A22905EB53875069EE89FE /* Pods-Runner.profile.xcconfig */, 115 | ); 116 | name = Pods; 117 | path = Pods; 118 | sourceTree = ""; 119 | }; 120 | E7F76D88E946F94D1B2643D5 /* Frameworks */ = { 121 | isa = PBXGroup; 122 | children = ( 123 | 71634A3A14303D4A3314EE4B /* Pods_Runner.framework */, 124 | ); 125 | name = Frameworks; 126 | sourceTree = ""; 127 | }; 128 | /* End PBXGroup section */ 129 | 130 | /* Begin PBXNativeTarget section */ 131 | 97C146ED1CF9000F007C117D /* Runner */ = { 132 | isa = PBXNativeTarget; 133 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; 134 | buildPhases = ( 135 | 3F74E18F33AA22719432BFE3 /* [CP] Check Pods Manifest.lock */, 136 | 9740EEB61CF901F6004384FC /* Run Script */, 137 | 97C146EA1CF9000F007C117D /* Sources */, 138 | 97C146EB1CF9000F007C117D /* Frameworks */, 139 | 97C146EC1CF9000F007C117D /* Resources */, 140 | 9705A1C41CF9048500538489 /* Embed Frameworks */, 141 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 142 | 0BDB25762B2EC399EF213EB0 /* [CP] Embed Pods Frameworks */, 143 | ); 144 | buildRules = ( 145 | ); 146 | dependencies = ( 147 | ); 148 | name = Runner; 149 | productName = Runner; 150 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */; 151 | productType = "com.apple.product-type.application"; 152 | }; 153 | /* End PBXNativeTarget section */ 154 | 155 | /* Begin PBXProject section */ 156 | 97C146E61CF9000F007C117D /* Project object */ = { 157 | isa = PBXProject; 158 | attributes = { 159 | LastUpgradeCheck = 1020; 160 | ORGANIZATIONNAME = ""; 161 | TargetAttributes = { 162 | 97C146ED1CF9000F007C117D = { 163 | CreatedOnToolsVersion = 7.3.1; 164 | LastSwiftMigration = 1100; 165 | }; 166 | }; 167 | }; 168 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; 169 | compatibilityVersion = "Xcode 9.3"; 170 | developmentRegion = en; 171 | hasScannedForEncodings = 0; 172 | knownRegions = ( 173 | en, 174 | Base, 175 | ); 176 | mainGroup = 97C146E51CF9000F007C117D; 177 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */; 178 | projectDirPath = ""; 179 | projectRoot = ""; 180 | targets = ( 181 | 97C146ED1CF9000F007C117D /* Runner */, 182 | ); 183 | }; 184 | /* End PBXProject section */ 185 | 186 | /* Begin PBXResourcesBuildPhase section */ 187 | 97C146EC1CF9000F007C117D /* Resources */ = { 188 | isa = PBXResourcesBuildPhase; 189 | buildActionMask = 2147483647; 190 | files = ( 191 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 192 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 193 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 194 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, 195 | ); 196 | runOnlyForDeploymentPostprocessing = 0; 197 | }; 198 | /* End PBXResourcesBuildPhase section */ 199 | 200 | /* Begin PBXShellScriptBuildPhase section */ 201 | 0BDB25762B2EC399EF213EB0 /* [CP] Embed Pods Frameworks */ = { 202 | isa = PBXShellScriptBuildPhase; 203 | buildActionMask = 2147483647; 204 | files = ( 205 | ); 206 | inputFileListPaths = ( 207 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", 208 | ); 209 | name = "[CP] Embed Pods Frameworks"; 210 | outputFileListPaths = ( 211 | "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", 212 | ); 213 | runOnlyForDeploymentPostprocessing = 0; 214 | shellPath = /bin/sh; 215 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; 216 | showEnvVarsInLog = 0; 217 | }; 218 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { 219 | isa = PBXShellScriptBuildPhase; 220 | buildActionMask = 2147483647; 221 | files = ( 222 | ); 223 | inputPaths = ( 224 | ); 225 | name = "Thin Binary"; 226 | outputPaths = ( 227 | ); 228 | runOnlyForDeploymentPostprocessing = 0; 229 | shellPath = /bin/sh; 230 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; 231 | }; 232 | 3F74E18F33AA22719432BFE3 /* [CP] Check Pods Manifest.lock */ = { 233 | isa = PBXShellScriptBuildPhase; 234 | buildActionMask = 2147483647; 235 | files = ( 236 | ); 237 | inputFileListPaths = ( 238 | ); 239 | inputPaths = ( 240 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 241 | "${PODS_ROOT}/Manifest.lock", 242 | ); 243 | name = "[CP] Check Pods Manifest.lock"; 244 | outputFileListPaths = ( 245 | ); 246 | outputPaths = ( 247 | "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", 248 | ); 249 | runOnlyForDeploymentPostprocessing = 0; 250 | shellPath = /bin/sh; 251 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 252 | showEnvVarsInLog = 0; 253 | }; 254 | 9740EEB61CF901F6004384FC /* Run Script */ = { 255 | isa = PBXShellScriptBuildPhase; 256 | buildActionMask = 2147483647; 257 | files = ( 258 | ); 259 | inputPaths = ( 260 | ); 261 | name = "Run Script"; 262 | outputPaths = ( 263 | ); 264 | runOnlyForDeploymentPostprocessing = 0; 265 | shellPath = /bin/sh; 266 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; 267 | }; 268 | /* End PBXShellScriptBuildPhase section */ 269 | 270 | /* Begin PBXSourcesBuildPhase section */ 271 | 97C146EA1CF9000F007C117D /* Sources */ = { 272 | isa = PBXSourcesBuildPhase; 273 | buildActionMask = 2147483647; 274 | files = ( 275 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 276 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, 277 | ); 278 | runOnlyForDeploymentPostprocessing = 0; 279 | }; 280 | /* End PBXSourcesBuildPhase section */ 281 | 282 | /* Begin PBXVariantGroup section */ 283 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = { 284 | isa = PBXVariantGroup; 285 | children = ( 286 | 97C146FB1CF9000F007C117D /* Base */, 287 | ); 288 | name = Main.storyboard; 289 | sourceTree = ""; 290 | }; 291 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { 292 | isa = PBXVariantGroup; 293 | children = ( 294 | 97C147001CF9000F007C117D /* Base */, 295 | ); 296 | name = LaunchScreen.storyboard; 297 | sourceTree = ""; 298 | }; 299 | /* End PBXVariantGroup section */ 300 | 301 | /* Begin XCBuildConfiguration section */ 302 | 249021D3217E4FDB00AE95B9 /* Profile */ = { 303 | isa = XCBuildConfiguration; 304 | buildSettings = { 305 | ALWAYS_SEARCH_USER_PATHS = NO; 306 | CLANG_ANALYZER_NONNULL = YES; 307 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 308 | CLANG_CXX_LIBRARY = "libc++"; 309 | CLANG_ENABLE_MODULES = YES; 310 | CLANG_ENABLE_OBJC_ARC = YES; 311 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 312 | CLANG_WARN_BOOL_CONVERSION = YES; 313 | CLANG_WARN_COMMA = YES; 314 | CLANG_WARN_CONSTANT_CONVERSION = YES; 315 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 316 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 317 | CLANG_WARN_EMPTY_BODY = YES; 318 | CLANG_WARN_ENUM_CONVERSION = YES; 319 | CLANG_WARN_INFINITE_RECURSION = YES; 320 | CLANG_WARN_INT_CONVERSION = YES; 321 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 322 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 323 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 324 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 325 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 326 | CLANG_WARN_STRICT_PROTOTYPES = YES; 327 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 328 | CLANG_WARN_UNREACHABLE_CODE = YES; 329 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 330 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 331 | COPY_PHASE_STRIP = NO; 332 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 333 | ENABLE_NS_ASSERTIONS = NO; 334 | ENABLE_STRICT_OBJC_MSGSEND = YES; 335 | GCC_C_LANGUAGE_STANDARD = gnu99; 336 | GCC_NO_COMMON_BLOCKS = YES; 337 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 338 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 339 | GCC_WARN_UNDECLARED_SELECTOR = YES; 340 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 341 | GCC_WARN_UNUSED_FUNCTION = YES; 342 | GCC_WARN_UNUSED_VARIABLE = YES; 343 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 344 | MTL_ENABLE_DEBUG_INFO = NO; 345 | SDKROOT = iphoneos; 346 | SUPPORTED_PLATFORMS = iphoneos; 347 | TARGETED_DEVICE_FAMILY = "1,2"; 348 | VALIDATE_PRODUCT = YES; 349 | }; 350 | name = Profile; 351 | }; 352 | 249021D4217E4FDB00AE95B9 /* Profile */ = { 353 | isa = XCBuildConfiguration; 354 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 355 | buildSettings = { 356 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 357 | CLANG_ENABLE_MODULES = YES; 358 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 359 | ENABLE_BITCODE = NO; 360 | FRAMEWORK_SEARCH_PATHS = ( 361 | "$(inherited)", 362 | "$(PROJECT_DIR)/Flutter", 363 | ); 364 | INFOPLIST_FILE = Runner/Info.plist; 365 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 366 | LIBRARY_SEARCH_PATHS = ( 367 | "$(inherited)", 368 | "$(PROJECT_DIR)/Flutter", 369 | ); 370 | PRODUCT_BUNDLE_IDENTIFIER = com.fusionIIIT.fusion; 371 | PRODUCT_NAME = "$(TARGET_NAME)"; 372 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 373 | SWIFT_VERSION = 5.0; 374 | VERSIONING_SYSTEM = "apple-generic"; 375 | }; 376 | name = Profile; 377 | }; 378 | 97C147031CF9000F007C117D /* Debug */ = { 379 | isa = XCBuildConfiguration; 380 | buildSettings = { 381 | ALWAYS_SEARCH_USER_PATHS = NO; 382 | CLANG_ANALYZER_NONNULL = YES; 383 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 384 | CLANG_CXX_LIBRARY = "libc++"; 385 | CLANG_ENABLE_MODULES = YES; 386 | CLANG_ENABLE_OBJC_ARC = YES; 387 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 388 | CLANG_WARN_BOOL_CONVERSION = YES; 389 | CLANG_WARN_COMMA = YES; 390 | CLANG_WARN_CONSTANT_CONVERSION = YES; 391 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 392 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 393 | CLANG_WARN_EMPTY_BODY = YES; 394 | CLANG_WARN_ENUM_CONVERSION = YES; 395 | CLANG_WARN_INFINITE_RECURSION = YES; 396 | CLANG_WARN_INT_CONVERSION = YES; 397 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 398 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 399 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 400 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 401 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 402 | CLANG_WARN_STRICT_PROTOTYPES = YES; 403 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 404 | CLANG_WARN_UNREACHABLE_CODE = YES; 405 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 406 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 407 | COPY_PHASE_STRIP = NO; 408 | DEBUG_INFORMATION_FORMAT = dwarf; 409 | ENABLE_STRICT_OBJC_MSGSEND = YES; 410 | ENABLE_TESTABILITY = YES; 411 | GCC_C_LANGUAGE_STANDARD = gnu99; 412 | GCC_DYNAMIC_NO_PIC = NO; 413 | GCC_NO_COMMON_BLOCKS = YES; 414 | GCC_OPTIMIZATION_LEVEL = 0; 415 | GCC_PREPROCESSOR_DEFINITIONS = ( 416 | "DEBUG=1", 417 | "$(inherited)", 418 | ); 419 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 420 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 421 | GCC_WARN_UNDECLARED_SELECTOR = YES; 422 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 423 | GCC_WARN_UNUSED_FUNCTION = YES; 424 | GCC_WARN_UNUSED_VARIABLE = YES; 425 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 426 | MTL_ENABLE_DEBUG_INFO = YES; 427 | ONLY_ACTIVE_ARCH = YES; 428 | SDKROOT = iphoneos; 429 | TARGETED_DEVICE_FAMILY = "1,2"; 430 | }; 431 | name = Debug; 432 | }; 433 | 97C147041CF9000F007C117D /* Release */ = { 434 | isa = XCBuildConfiguration; 435 | buildSettings = { 436 | ALWAYS_SEARCH_USER_PATHS = NO; 437 | CLANG_ANALYZER_NONNULL = YES; 438 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 439 | CLANG_CXX_LIBRARY = "libc++"; 440 | CLANG_ENABLE_MODULES = YES; 441 | CLANG_ENABLE_OBJC_ARC = YES; 442 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 443 | CLANG_WARN_BOOL_CONVERSION = YES; 444 | CLANG_WARN_COMMA = YES; 445 | CLANG_WARN_CONSTANT_CONVERSION = YES; 446 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 447 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 448 | CLANG_WARN_EMPTY_BODY = YES; 449 | CLANG_WARN_ENUM_CONVERSION = YES; 450 | CLANG_WARN_INFINITE_RECURSION = YES; 451 | CLANG_WARN_INT_CONVERSION = YES; 452 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 453 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 454 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 455 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 456 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 457 | CLANG_WARN_STRICT_PROTOTYPES = YES; 458 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 459 | CLANG_WARN_UNREACHABLE_CODE = YES; 460 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 461 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 462 | COPY_PHASE_STRIP = NO; 463 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 464 | ENABLE_NS_ASSERTIONS = NO; 465 | ENABLE_STRICT_OBJC_MSGSEND = YES; 466 | GCC_C_LANGUAGE_STANDARD = gnu99; 467 | GCC_NO_COMMON_BLOCKS = YES; 468 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 469 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 470 | GCC_WARN_UNDECLARED_SELECTOR = YES; 471 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 472 | GCC_WARN_UNUSED_FUNCTION = YES; 473 | GCC_WARN_UNUSED_VARIABLE = YES; 474 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 475 | MTL_ENABLE_DEBUG_INFO = NO; 476 | SDKROOT = iphoneos; 477 | SUPPORTED_PLATFORMS = iphoneos; 478 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 479 | TARGETED_DEVICE_FAMILY = "1,2"; 480 | VALIDATE_PRODUCT = YES; 481 | }; 482 | name = Release; 483 | }; 484 | 97C147061CF9000F007C117D /* Debug */ = { 485 | isa = XCBuildConfiguration; 486 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; 487 | buildSettings = { 488 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 489 | CLANG_ENABLE_MODULES = YES; 490 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 491 | ENABLE_BITCODE = NO; 492 | FRAMEWORK_SEARCH_PATHS = ( 493 | "$(inherited)", 494 | "$(PROJECT_DIR)/Flutter", 495 | ); 496 | INFOPLIST_FILE = Runner/Info.plist; 497 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 498 | LIBRARY_SEARCH_PATHS = ( 499 | "$(inherited)", 500 | "$(PROJECT_DIR)/Flutter", 501 | ); 502 | PRODUCT_BUNDLE_IDENTIFIER = com.fusionIIIT.fusion; 503 | PRODUCT_NAME = "$(TARGET_NAME)"; 504 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 505 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 506 | SWIFT_VERSION = 5.0; 507 | VERSIONING_SYSTEM = "apple-generic"; 508 | }; 509 | name = Debug; 510 | }; 511 | 97C147071CF9000F007C117D /* Release */ = { 512 | isa = XCBuildConfiguration; 513 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; 514 | buildSettings = { 515 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 516 | CLANG_ENABLE_MODULES = YES; 517 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 518 | ENABLE_BITCODE = NO; 519 | FRAMEWORK_SEARCH_PATHS = ( 520 | "$(inherited)", 521 | "$(PROJECT_DIR)/Flutter", 522 | ); 523 | INFOPLIST_FILE = Runner/Info.plist; 524 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 525 | LIBRARY_SEARCH_PATHS = ( 526 | "$(inherited)", 527 | "$(PROJECT_DIR)/Flutter", 528 | ); 529 | PRODUCT_BUNDLE_IDENTIFIER = com.fusionIIIT.fusion; 530 | PRODUCT_NAME = "$(TARGET_NAME)"; 531 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; 532 | SWIFT_VERSION = 5.0; 533 | VERSIONING_SYSTEM = "apple-generic"; 534 | }; 535 | name = Release; 536 | }; 537 | /* End XCBuildConfiguration section */ 538 | 539 | /* Begin XCConfigurationList section */ 540 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { 541 | isa = XCConfigurationList; 542 | buildConfigurations = ( 543 | 97C147031CF9000F007C117D /* Debug */, 544 | 97C147041CF9000F007C117D /* Release */, 545 | 249021D3217E4FDB00AE95B9 /* Profile */, 546 | ); 547 | defaultConfigurationIsVisible = 0; 548 | defaultConfigurationName = Release; 549 | }; 550 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { 551 | isa = XCConfigurationList; 552 | buildConfigurations = ( 553 | 97C147061CF9000F007C117D /* Debug */, 554 | 97C147071CF9000F007C117D /* Release */, 555 | 249021D4217E4FDB00AE95B9 /* Profile */, 556 | ); 557 | defaultConfigurationIsVisible = 0; 558 | defaultConfigurationName = Release; 559 | }; 560 | /* End XCConfigurationList section */ 561 | }; 562 | rootObject = 97C146E61CF9000F007C117D /* Project object */; 563 | } 564 | --------------------------------------------------------------------------------