Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 29 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,22 @@ The open source code provided by the Android Team at Instructure.

## Building

First, install the Flutter SDK using the instructions found [here](https://flutter.dev/docs/get-started/install).

Next, run `./open_source.sh` once. You may now use Gradle to build the apps.
Run `./open_source.sh` once. You may now use Gradle to build the apps.

### Student, Teacher and native Parent

1. Open `apps/build.gradle` in Android Studio
```
Android Studio > Import Project > canvas-android/apps/build.gradle
```

2. Select the app from the list of configurations (`student` or `teacher`)
3. Tap 'Run' (`^R`) to run the app

### Flutter Parent

1. Open `canvas-android/apps/flutter_parent` in Android Studio.
2. Make sure the `main.dart` configuration is selected
```
Android Studio > Import Project > canvas-android/apps/build.gradle
```
2. Select the app from the list of configurations
3. Tap 'Run' (`^R`) to run the app

App | Command | Build Status
--- | --- | ---
Student | `./gradle/gradlew -p apps :student:assembleDevDebug` | [![Student build Status](https://app.bitrise.io/app/9417c28328c02b7c/status.svg?token=D7fHdeUlz19PurcEPIQNzw&branch=master)](https://app.bitrise.io/app/9417c28328c02b7c)
Teacher | `./gradle/gradlew -p apps :teacher:assembleDevDebug` | [![Teacher build Status](https://app.bitrise.io/app/4f5339d0ec3436ca/status.svg?token=ATqaYNnYyS4eDUxc0d9EZQ&branch=master)](https://app.bitrise.io/app/4f5339d0ec3436ca)
Parent | (in apps/flutter_parent) `flutter pub get; flutter build apk` | [![Parent build Status](https://app.bitrise.io/app/39fd3312f33be200/status.svg?token=jiiPeSZlSxrx5lkqccLN1Q&branch=master)](https://app.bitrise.io/app/39fd3312f33be200)
| App | Command | Build Status |
|---------|------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Student | `./gradle/gradlew -p apps :student:assembleDevDebug` | [![Student](https://github.com/instructure/canvas-android/actions/workflows/open-source-build-student.yml/badge.svg)](https://github.com/instructure/canvas-android/actions/workflows/open-source-build-student.yml) |
| Teacher | `./gradle/gradlew -p apps :teacher:assembleDevDebug` | [![Teacher](https://github.com/instructure/canvas-android/actions/workflows/open-source-build-teacher.yml/badge.svg)](https://github.com/instructure/canvas-android/actions/workflows/open-source-build-teacher.yml) |
| Parent | `./gradle/gradlew -p apps :parent:assembleDevDebug` | [![Parent](https://github.com/instructure/canvas-android/actions/workflows/open-source-build-parent.yml/badge.svg)](https://github.com/instructure/canvas-android/actions/workflows/open-source-build-parent.yml) |

## Running tests

Expand All @@ -42,11 +33,11 @@ To run unit tests for Student, Teacher and native Parent

#### The Applications we have published on Google Play.

App | Description
--- | ---
[Canvas Student][canvas] | Used by Students all over the world to be smarter, go faster, and do more.
[Canvas Teacher][teacher] | User by Teachers all over the world to update course content or grade on the go.
[Canvas Parent][parent] | Used by Parents all over the world to be parents.
| App | Description |
|---------------------------|----------------------------------------------------------------------------------|
| [Canvas Student][canvas] | Used by Students all over the world to be smarter, go faster, and do more. |
| [Canvas Teacher][teacher] | User by Teachers all over the world to update course content or grade on the go. |
| [Canvas Parent][parent] | Used by Parents all over the world to be parents. |

[canvas]: https://play.google.com/store/apps/details?id=com.instructure.candroid
[teacher]: https://play.google.com/store/apps/details?id=com.instructure.teacher
Expand All @@ -56,20 +47,20 @@ App | Description

#### These are things that we use internally to create our applications.

Module | Description
--- | ---
annotations | A wrapper for the PSPDFKit library and logic for annotation handling and converting in PDF documents.
buildSrc | Library for common gradle dependencies and gradle transformers that are used by the project.
canvas-api-2 | Canvas for Android Api used to talk to the Canvas LMS and is testable.
dataseedingapi | gRPC wrapper for Canvas that enables creating data to test the apps.
DocumentScanner | A wrapper for document scanning features.
espresso | The UI testing library built on Espresso.
interactions | Interactions for navigation used in the apps.
login-api-2 | The libarary used to make logging in and getting a token relative easy and is testable.
pandares | Collection of resources used in our apps.
pandautils | The core library for the apps. All the common code is implemented here that is reused by the 3 apps.
rceditor | A wrapper for rich content editing used in our apps.
recyclerview | A fancy RecyclerView library that supports expanding and collapsing, pagination, and stuff like that. (deprecated)
| Module | Description |
|----------------|--------------------------------------------------------------------------------------------------------------------|
| annotations | A wrapper for the PSPDFKit library and logic for annotation handling and converting in PDF documents. |
| buildSrc | Library for common gradle dependencies and gradle transformers that are used by the project. |
| canvas-api-2 | Canvas for Android Api used to talk to the Canvas LMS and is testable. |
| dataseedingapi | gRPC wrapper for Canvas that enables creating data to test the apps. |
| espresso | The UI testing library built on Espresso. |
| horizon | Canvas Career experience for the Student app. |
| interactions | Interactions for navigation used in the apps. |
| login-api-2 | The libarary used to make logging in and getting a token relative easy and is testable. |
| pandares | Collection of resources used in our apps. |
| pandautils | The core library for the apps. All the common code is implemented here that is reused by the 3 apps. |
| rceditor | A wrapper for rich content editing used in our apps. |
| recyclerview | A fancy RecyclerView library that supports expanding and collapsing, pagination, and stuff like that. (deprecated) |

#### Our applications are licensed under the GPLv3 License.

Expand Down
Loading