Divide all classes, subjects and assignments by educational organizations – colleges, schools, courses, universities, etc. Work comfortably with each of them and get the most out of your learning processes.
Stay connected with your friends! Add them to your network and share your schedules and homework from any organization. Share valuable information, stay in sync, and help each other succeed!
Design your recurring schedules with ease and make one-time adjustments for specific days. Change class durations, swap subjects, and keep a history of all schedule changes so you’re always on top of your time management.
Simplify your homework routine! Quickly add tasks and link them directly to your upcoming classes. During lessons, the app automatically determines the next subject, saving you time and effort.
Stay ahead of your tasks with real-time workload tracking! Monitor your weekly workload right on the home screen, and get detailed statistics on the number of tasks for each day, helping you plan your time more effectively.
Never miss a beat! Receive timely notifications about high workloads, incomplete assignments, and alerts for the beginning or end of lessons. Keeping up-to-date with your schedule has never been easier!
Organize your tasks effortlessly! Create and manage your personal TODO list, ensuring that you never miss an important deadline and stay one step ahead in your studies.
Start today with the Study Assistant app—a powerful tool to make your learning more efficient and organized! 🚀
We do not share your account data with third parties without your consent. All information is securely stored on our Firestore servers (Data of schedules, tasks, etc. are currently stored only in your phone's memory).
Service | Free version | Subscription version |
---|---|---|
Github | ✓ | ✗ |
Fdoroid | In progress | ✗ |
RuStore | In planned | In planned |
Play Market | In planned | In planned |
App gallery | In planned | In planned |
App Store | In planned | In planned |
Flavor | Crashlytics | Firestore | Messaging | Reminders |
---|---|---|---|---|
Github | ✓ | ✓ (GMS) | FMS | ✓ |
Fdoroid | ✗ | Only Network | ✗ | ✓ |
RuStore | ✓ | ✓ (GMS) | FCM, RUSTORE | ✓ |
✓ | ✓ (GMS) | FCM | ✓ | |
Huawei | In planned | In planned | In planned (HCM, FMS) | ✓ |
Apple | In progress | ✓ | In planned (APNS) | In planned |
This project utilizes the following technologies and libraries:
- Clean Architecture: Implement a scalable and maintainable project structure.
- MVI (Model-View-Intent): A unidirectional data flow architecture pattern.
- Multi Modularity: Structure the project into feature modules with
api
andimpl
layers. - SOLID Principles: Five principles for object-oriented design and programming.
- Kodein: Dependency injection framework for Kotlin Multiplatform.
- SQLDelight: Type-safe SQL for Kotlin Multiplatform.
- filekit: A library for file management.
- Ktor: Asynchronous HTTP client and server framework for Kotlin.
- Google OAuth 2.0: Secure authorization for Google APIs.
- Firebase Firestore: NoSQL cloud database for mobile and web apps.
- Firebase Authorization: Authentication services for your app.
- Firebase Messaging: Messaging and notifications.
- Firebase Storage: File storage for your app.
- Firebase Crashlytics: Real-time crash reporting.
- Rustore UniversalPush: Push notifications for alternative app stores.
- Compose Material 3: Material Design components for Jetpack Compose.
- Voyager: Multiplatform navigation library for Jetpack Compose.
- koalaplot-charts: Multiplatform chart library for Compose.
- sketch-compose: Lightweight image loading library for Jetpack Compose.
- Android WorkManager: Manage background tasks on Android.
- Android BuildFlavors: Configure different versions of your app.
- Kotlinx-datetime: Date and time library for Kotlin Multiplatform.
- Kotlin Coroutines and Flows: Asynchronous programming with coroutines and flows.
- Logger: Multiplatform logging library.
- KSP (Kotlin Symbol Processing): Lightweight compiler plugin for Kotlin.
- Gradle KTS: Gradle build scripts with Kotlin DSL.
- Detekt & Lint: Static code analysis tools.
- BuildKonfig: Multiplatform configuration management.
This list provides an overview of the key technologies and libraries used in this Kotlin Multiplatform project. For detailed documentation and usage, please refer to the linked resources.
graph LR;
androidApp --> shared
iosApp --> shared
shared --> core
subgraph one [Core]
direction LR;
core --> common & ui & domain & data
data --> remote & database
end
shared --> features
subgraph two [Features]
direction LR;
features --> navigation-impl --> navigation-api
features --> preview-impl --> preview-api
features --> auth-impl --> auth-api
features --> schedule-impl --> schedule-api
features --> tasks-impl --> tasks-api
features --> info-impl --> info-api
features --> profile-impl --> profile-api
features --> settings-impl --> settings-api
features --> users-impl --> users-api
features --> editor-impl --> editor-api
end
Copyright 2024 Stanislav Aleshin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.