diff --git a/.gitignore b/.gitignore index 9a78642..005c0db 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # Miscellaneous +*.db *.class *.lock *.log diff --git a/.metadata b/.metadata index 32dc8a5..6eb54a1 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "300451adae589accbece3490f4396f10bdf15e6e" + revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49" channel: "stable" project_type: app @@ -13,26 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: 300451adae589accbece3490f4396f10bdf15e6e - base_revision: 300451adae589accbece3490f4396f10bdf15e6e + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - platform: android - create_revision: 300451adae589accbece3490f4396f10bdf15e6e - base_revision: 300451adae589accbece3490f4396f10bdf15e6e + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - platform: ios - create_revision: 300451adae589accbece3490f4396f10bdf15e6e - base_revision: 300451adae589accbece3490f4396f10bdf15e6e + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - platform: linux - create_revision: 300451adae589accbece3490f4396f10bdf15e6e - base_revision: 300451adae589accbece3490f4396f10bdf15e6e + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - platform: macos - create_revision: 300451adae589accbece3490f4396f10bdf15e6e - base_revision: 300451adae589accbece3490f4396f10bdf15e6e + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - platform: web - create_revision: 300451adae589accbece3490f4396f10bdf15e6e - base_revision: 300451adae589accbece3490f4396f10bdf15e6e + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 - platform: windows - create_revision: 300451adae589accbece3490f4396f10bdf15e6e - base_revision: 300451adae589accbece3490f4396f10bdf15e6e + create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 + base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49 # User provided section diff --git a/README.md b/README.md index 50f812a..b9f56fc 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,81 @@ - +![Logo](assets/icons/academia.png) + # Academia -"Academia" is a 📱 mobile app 🎓🏫 exclusively designed for Daystar University students, tailored to streamline their academic experience. With Academia, Daystar students can effortlessly manage their class schedules 🗓️, assignments 📚, exams 📝, grades 📊, and more, all within a single, user-friendly platform. The app harnesses the power of 🚀 Flutter, a versatile mobile app SDK for building high-performance, cross-platform apps for iOS, Android, web, and desktop, all from a unified codebase. 📲 +Academia is an open-source mobile application designed specifically for Daystar University students. + + +## Features + +- Chirp - Daystar's social platform +- Course Tracking +- Student transcripts and audits +- Flash Cards +- Ai Study with me +- Todos + + +## Run Locally + +Please ensure that you have [Flutter](https://flutter.dev) installed on your machine + +Clone the project + +```bash + git clone https://github.com/IamMuuo/academia.git +``` + +Go to the project directory + +```bash + cd academia +``` + +Install dependencies + +```bash + flutter pub get +``` + +Run the application + +```bash + flutter run +``` + + +## Documentation + +The application's source code is self documenting. For the backend the postman exports are also available on the `docs` folder. + +Incase of any query about documentated with inline comments you can always reach out to any of the project maintainers or DITA for more information -Academia is powered by magnet for scraping data +## Authors -## Features 🔥🚀 +- [@Erick](https://www.github.com/iammuuo) -📅 **Schedule:** Keep track of all your classes and lectures with the built-in calendar. +## Screenshots -📝 **Assignments:** Track all your assignments and their deadlines in one place. +![App Screenshot](screenshots/shot.png) -📚 **Course Material:** Access all your course material in one place, including lecture notes, PDFs, and videos. -📈 **Grades:** Keep track of your grades throughout the semester. +## Contributing -💬 **Announcements:** Stay up-to-date with the latest announcements from your school or professor. +Contributions are always welcome! -🔔 **Reminders:** Get notified about upcoming assignments, exams, and other important events. +See `contributing.md` for ways to get started. -## Screenshots 📷 +Please adhere to this project's `code of conduct`. -![Screenshot](screenshots/shot.png) -## Getting Started 🚀 +## Support -1. Install [Flutter](https://flutter.dev/docs/get-started/install). -2. Clone this repository: `git clone https://github.com/IamMuuo/academia.git` -3. Install dependencies: `flutter pub get` -4. Run the app: `flutter run` +For support, you can open a github issue or mail dita@daystar.ac.ke -## Contributing 🤝 +We would really appreciate if you reported bugs or even made features for you and your fellow students to use and enjoy! -Contributions are always welcome! If you have any ideas or suggestions, please open an issue or submit a pull request. For more information, please see [CONTRIBUTING.md](CONTRIBUTING.md). +## License -## License 📝 +[MIT](https://choosealicense.com/licenses/mit/) -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. diff --git a/analysis_options.yaml b/analysis_options.yaml index 61b6c4d..6fc31f1 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -22,6 +22,9 @@ linter: # `// ignore_for_file: name_of_lint` syntax on the line or in the file # producing the lint. rules: + always_declare_return_types: true + annotate_overrides: true + avoid_empty_else: true # avoid_print: false # Uncomment to disable the `avoid_print` rule # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule diff --git a/android/app/build.gradle b/android/app/build.gradle index 4c40d2c..2426cbe 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,61 +1,56 @@ plugins { id "com.android.application" id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') +def localPropertiesFile = rootProject.file("local.properties") if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> + localPropertiesFile.withReader("UTF-8") { reader -> localProperties.load(reader) } } -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +def flutterVersionCode = localProperties.getProperty("flutter.versionCode") if (flutterVersionCode == null) { - flutterVersionCode = '1' + flutterVersionCode = "1" } -def flutterVersionName = localProperties.getProperty('flutter.versionName') +def flutterVersionName = localProperties.getProperty("flutter.versionName") if (flutterVersionName == null) { - flutterVersionName = '1.0' + flutterVersionName = "1.0" } def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { - keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } android { - namespace "com.example.academia" - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } + namespace = "com.dita.academia" + compileSdk = 34 + ndkVersion = flutter.ndkVersion - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.dita.academia" + applicationId = "com.dita.academia" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion 21 - targetSdkVersion flutter.targetSdkVersion - versionCode 6 - versionName "2.0.0" + minSdk = 29 + targetSdk = 34 + versionCode = 10 + versionName = "Jessica" } + // signingConfigs { release { keyAlias keystoreProperties['keyAlias'] @@ -66,19 +61,14 @@ android { } buildTypes { - - release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.release + signingConfig = signingConfigs.release } } - } flutter { - source '../..' + source = "../.." } - -dependencies {} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 990c295..454707f 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,17 +1,22 @@ - - + + + + + + + + + - + android:icon="@mipmap/launcher_icon"> + + - - + + + + + + + diff --git a/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java b/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java deleted file mode 100644 index 752fc18..0000000 --- a/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java +++ /dev/null @@ -1,25 +0,0 @@ -// Generated file. -// -// If you wish to remove Flutter's multidex support, delete this entire file. -// -// Modifications to this file should be done in a copy under a different name -// as this file may be regenerated. - -package io.flutter.app; - -import android.app.Application; -import android.content.Context; -import androidx.annotation.CallSuper; -import androidx.multidex.MultiDex; - -/** - * Extension of {@link android.app.Application}, adding multidex support. - */ -public class FlutterMultiDexApplication extends Application { - @Override - @CallSuper - protected void attachBaseContext(Context base) { - super.attachBaseContext(base); - MultiDex.install(this); - } -} diff --git a/android/app/src/main/kotlin/com/dita/academia/MainActivity.kt b/android/app/src/main/kotlin/com/dita/academia/MainActivity.kt index e4b248a..66147c3 100644 --- a/android/app/src/main/kotlin/com/dita/academia/MainActivity.kt +++ b/android/app/src/main/kotlin/com/dita/academia/MainActivity.kt @@ -1,5 +1,5 @@ package com.dita.academia -import io.flutter.embedding.android.FlutterActivity +import io.flutter.embedding.android.FlutterFragmentActivity -class MainActivity: FlutterActivity() +class MainActivity: FlutterFragmentActivity() diff --git a/android/app/src/main/kotlin/com/example/academia/MainActivity.kt b/android/app/src/main/kotlin/com/example/academia/MainActivity.kt deleted file mode 100644 index dc4a997..0000000 --- a/android/app/src/main/kotlin/com/example/academia/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.example.academia - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/android/app/src/main/res/drawable-hdpi/android12splash.png b/android/app/src/main/res/drawable-hdpi/android12splash.png index 19b5fd0..a2af964 100644 Binary files a/android/app/src/main/res/drawable-hdpi/android12splash.png and b/android/app/src/main/res/drawable-hdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-hdpi/splash.png b/android/app/src/main/res/drawable-hdpi/splash.png index 134b337..59e78e5 100644 Binary files a/android/app/src/main/res/drawable-hdpi/splash.png and b/android/app/src/main/res/drawable-hdpi/splash.png differ diff --git a/android/app/src/main/res/drawable-mdpi/android12splash.png b/android/app/src/main/res/drawable-mdpi/android12splash.png index 89dec3a..f609611 100644 Binary files a/android/app/src/main/res/drawable-mdpi/android12splash.png and b/android/app/src/main/res/drawable-mdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-mdpi/splash.png b/android/app/src/main/res/drawable-mdpi/splash.png index 1f86104..a0c06f7 100644 Binary files a/android/app/src/main/res/drawable-mdpi/splash.png and b/android/app/src/main/res/drawable-mdpi/splash.png differ diff --git a/android/app/src/main/res/drawable-night-hdpi/android12splash.png b/android/app/src/main/res/drawable-night-hdpi/android12splash.png index 19b5fd0..a2af964 100644 Binary files a/android/app/src/main/res/drawable-night-hdpi/android12splash.png and b/android/app/src/main/res/drawable-night-hdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-night-mdpi/android12splash.png b/android/app/src/main/res/drawable-night-mdpi/android12splash.png index 89dec3a..f609611 100644 Binary files a/android/app/src/main/res/drawable-night-mdpi/android12splash.png and b/android/app/src/main/res/drawable-night-mdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-night-v21/background.png b/android/app/src/main/res/drawable-night-v21/background.png index da50176..27c9e08 100644 Binary files a/android/app/src/main/res/drawable-night-v21/background.png and b/android/app/src/main/res/drawable-night-v21/background.png differ diff --git a/android/app/src/main/res/drawable-night-v21/launch_background.xml b/android/app/src/main/res/drawable-night-v21/launch_background.xml index 52e8749..5367a88 100644 --- a/android/app/src/main/res/drawable-night-v21/launch_background.xml +++ b/android/app/src/main/res/drawable-night-v21/launch_background.xml @@ -6,7 +6,7 @@ - + diff --git a/android/app/src/main/res/drawable-night-xhdpi/android12splash.png b/android/app/src/main/res/drawable-night-xhdpi/android12splash.png index 17cb364..0651692 100644 Binary files a/android/app/src/main/res/drawable-night-xhdpi/android12splash.png and b/android/app/src/main/res/drawable-night-xhdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png b/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png index a24cc74..3ecd554 100644 Binary files a/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png and b/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png b/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png index 738e313..3340ef2 100644 Binary files a/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png and b/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-night/background.png b/android/app/src/main/res/drawable-night/background.png index da50176..27c9e08 100644 Binary files a/android/app/src/main/res/drawable-night/background.png and b/android/app/src/main/res/drawable-night/background.png differ diff --git a/android/app/src/main/res/drawable-night/launch_background.xml b/android/app/src/main/res/drawable-night/launch_background.xml index 52e8749..5367a88 100644 --- a/android/app/src/main/res/drawable-night/launch_background.xml +++ b/android/app/src/main/res/drawable-night/launch_background.xml @@ -6,7 +6,7 @@ - + diff --git a/android/app/src/main/res/drawable-v21/background.png b/android/app/src/main/res/drawable-v21/background.png index a2a2ada..b380547 100644 Binary files a/android/app/src/main/res/drawable-v21/background.png and b/android/app/src/main/res/drawable-v21/background.png differ diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml index 52e8749..5367a88 100644 --- a/android/app/src/main/res/drawable-v21/launch_background.xml +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -6,7 +6,7 @@ - + diff --git a/android/app/src/main/res/drawable-xhdpi/android12splash.png b/android/app/src/main/res/drawable-xhdpi/android12splash.png index 17cb364..0651692 100644 Binary files a/android/app/src/main/res/drawable-xhdpi/android12splash.png and b/android/app/src/main/res/drawable-xhdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-xhdpi/splash.png b/android/app/src/main/res/drawable-xhdpi/splash.png index 69bcef4..82d6628 100644 Binary files a/android/app/src/main/res/drawable-xhdpi/splash.png and b/android/app/src/main/res/drawable-xhdpi/splash.png differ diff --git a/android/app/src/main/res/drawable-xxhdpi/android12splash.png b/android/app/src/main/res/drawable-xxhdpi/android12splash.png index a24cc74..3ecd554 100644 Binary files a/android/app/src/main/res/drawable-xxhdpi/android12splash.png and b/android/app/src/main/res/drawable-xxhdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-xxhdpi/splash.png b/android/app/src/main/res/drawable-xxhdpi/splash.png index e296892..ef894f0 100644 Binary files a/android/app/src/main/res/drawable-xxhdpi/splash.png and b/android/app/src/main/res/drawable-xxhdpi/splash.png differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/android12splash.png b/android/app/src/main/res/drawable-xxxhdpi/android12splash.png index 738e313..3340ef2 100644 Binary files a/android/app/src/main/res/drawable-xxxhdpi/android12splash.png and b/android/app/src/main/res/drawable-xxxhdpi/android12splash.png differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/splash.png b/android/app/src/main/res/drawable-xxxhdpi/splash.png index 8b21751..8c8ccf9 100644 Binary files a/android/app/src/main/res/drawable-xxxhdpi/splash.png and b/android/app/src/main/res/drawable-xxxhdpi/splash.png differ diff --git a/android/app/src/main/res/drawable/academia.png b/android/app/src/main/res/drawable/academia.png new file mode 100644 index 0000000..8ea833d Binary files /dev/null and b/android/app/src/main/res/drawable/academia.png differ diff --git a/android/app/src/main/res/drawable/app_icon.png b/android/app/src/main/res/drawable/app_icon.png deleted file mode 100644 index 07b05e4..0000000 Binary files a/android/app/src/main/res/drawable/app_icon.png and /dev/null differ diff --git a/android/app/src/main/res/drawable/background.png b/android/app/src/main/res/drawable/background.png index a2a2ada..b380547 100644 Binary files a/android/app/src/main/res/drawable/background.png and b/android/app/src/main/res/drawable/background.png differ diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml index 52e8749..5367a88 100644 --- a/android/app/src/main/res/drawable/launch_background.xml +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -6,7 +6,7 @@ - + diff --git a/android/app/src/main/res/mipmap-hdpi/launcher_icon.png b/android/app/src/main/res/mipmap-hdpi/launcher_icon.png index fa6344b..0d7eb50 100644 Binary files a/android/app/src/main/res/mipmap-hdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-hdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/launcher_icon.png b/android/app/src/main/res/mipmap-mdpi/launcher_icon.png index 75db88c..655829d 100644 Binary files a/android/app/src/main/res/mipmap-mdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-mdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png index 134b337..390ffa9 100644 Binary files a/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png index 83b44fa..f91be10 100644 Binary files a/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png index e296892..59e78e5 100644 Binary files a/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png and b/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/values-night-v31/styles.xml b/android/app/src/main/res/values-night-v31/styles.xml index 49cc545..2d376da 100644 --- a/android/app/src/main/res/values-night-v31/styles.xml +++ b/android/app/src/main/res/values-night-v31/styles.xml @@ -6,7 +6,7 @@ false false shortEdges - #252623 + #030301 @drawable/android12splash