Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

September 2024 Release #1321

Merged
merged 355 commits into from
Sep 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
355 commits
Select commit Hold shift + click to select a range
955056a
Implementing sheet library
DGoiana Apr 10, 2024
d13babc
re-add accidentally removed TODO
bartekpacia Apr 16, 2024
4a1f09f
alteração faculties e _secureStorage
clarapbsousa Apr 17, 2024
7289ad3
Merge branch 'develop' into credencial_storage
clarapbsousa Apr 18, 2024
31e5d29
resolver erros
clarapbsousa Apr 18, 2024
87a95ea
resolver erros
clarapbsousa Apr 18, 2024
60b704b
resolver erros
clarapbsousa Apr 18, 2024
5bcc5c1
resolver erros
clarapbsousa Apr 18, 2024
e7b2658
Change credentials storage (#1167)
clarapbsousa Apr 18, 2024
6c9f889
Bump app version [no ci]
clarapbsousa Apr 18, 2024
96cb235
Made app_database class abstract and implemented logic to encapsulate…
vitormpp Mar 27, 2024
1151cb7
Implemented logic to encapsulate persistent logic in all database cla…
vitormpp Mar 27, 2024
b9ad0d3
Updated providers according to previous changes in database classes
vitormpp Mar 27, 2024
8185590
Updated providers so that they save data to database only if session …
vitormpp Mar 27, 2024
eb76819
Merge branch 'develop' into custom_lints
thePeras May 29, 2024
02cd6d2
Integrate custom lints (#1215)
thePeras May 29, 2024
d1cc8b1
Merge branch 'develop' into feature/json-serialization
rubuy-74 May 29, 2024
cb22c24
Added user agent and screen width size to plausible
thePeras Jun 1, 2024
67929ce
Made small changes in providers to encapsulate persistent session logic
vitormpp Apr 3, 2024
be9d919
fix: app_user_database
vitormpp Apr 3, 2024
1cb9a81
Fixed error in app_database
vitormpp May 29, 2024
728982d
Fixed lint error
vitormpp May 29, 2024
d0dcf2b
Separate converters into different files
rubuy-74 Jun 5, 2024
0428a37
fix: app user database
vitormpp Jun 5, 2024
522e133
fix: lint error
vitormpp Jun 5, 2024
aab6a96
Merge branch 'develop' into refactor/data-base
vitormpp Jun 5, 2024
7a78e8a
Merge branch 'develop' into feature/json-serialization
rubuy-74 Jun 5, 2024
7e25ca3
Added user agent and screen width size to plausible (#1240)
thePeras Jun 11, 2024
46c3eff
bump java version and ua_client_hints
DGoiana Jun 12, 2024
36b0f44
bump java version and ua_client_hints (#1241)
thePeras Jun 12, 2024
9cfadd7
migrating to google books
DGoiana Jun 13, 2024
adfd98f
Login page and FA session creation at session provider
thePeras Jun 14, 2024
e608aeb
Implemented refresh session for AF authentication
thePeras Jun 17, 2024
39128d9
Alternative login as a dialog
thePeras Jun 17, 2024
8a3afbe
Login design improvements
thePeras Jun 19, 2024
05e6e57
Merge branch 'develop' into feature/json-serialization
DGoiana Jun 19, 2024
ef7819e
Merge branch 'develop' into feature/openid-connect-auth
thePeras Jun 19, 2024
a2b44b5
AAI Svg
thePeras Jun 19, 2024
5477255
fixing password encoding in local storage
DGoiana Jun 19, 2024
ebe7b02
Merge branch 'develop' into r_hp
DGoiana Jun 19, 2024
07e18da
fixing password encoding in local storage (#1245)
DGoiana Jun 19, 2024
bdf0ae5
Implement pkce flow
thePeras Jun 19, 2024
76d37d7
Merge branch 'develop' into feature/openid-connect-auth
thePeras Jun 19, 2024
ffcb286
Secure storage for refresh token and translations
thePeras Jun 20, 2024
968486b
Remove empty files
thePeras Jun 20, 2024
3a3d5ce
Merge branch 'develop' into r_hp
thePeras Jun 24, 2024
94410bf
refine home page (#1095)
thePeras Jun 24, 2024
041bbbf
fix: overflow when keyboard is opened on credentials login
limwa Jun 24, 2024
6aeb5b3
bump Flutter to 3.22
bartekpacia Jun 13, 2024
1751d9c
update Java on CI to 21 and Gradle to 8.8
bartekpacia Jun 13, 2024
500b055
bump Dart dependencies that needed upgrading
bartekpacia Jun 13, 2024
4f9378f
fix warnings in app/build.gradle
bartekpacia Jun 13, 2024
286e2d8
bump more Gradle dependencies to the latest versions, set Kotlin JVM …
bartekpacia Jun 13, 2024
462c8b3
fix Gradle build
bartekpacia Jun 13, 2024
7da37f0
fix theming 1/n: `ColorScheme.background` -> `ColorScheme.surface` m…
bartekpacia Jun 13, 2024
9caa64e
fix the rest of theme issues
bartekpacia Jun 13, 2024
786b863
bump codecov action (Node.js 16 is deprecated on GHA)
bartekpacia Jun 13, 2024
3ab886a
Bump Flutter to 3.22 (#1242)
limwa Jun 24, 2024
e062843
Abstract proguard rules at package level
LuisDuarte1 Jun 24, 2024
79694ec
Merge branch 'develop' into fix/proguard-rules
DGoiana Jun 24, 2024
66ba817
force removal of native permission
DGoiana Jun 24, 2024
dac5a02
adding android tools support
DGoiana Jun 24, 2024
abbe72b
Merge branch 'develop' into fix/proguard-rules
thePeras Jun 25, 2024
5775214
Abstract proguard rules at package level (#1247)
thePeras Jun 25, 2024
340fffe
Merge branch 'develop' into feature/openid-connect-auth
thePeras Jun 25, 2024
5b6a022
Update proguard-rules.pro to include concurrent annotations
LuisDuarte1 Jun 25, 2024
523ae92
Loading effect in login
thePeras Jun 25, 2024
ad5568e
Update proguard-rules.pro to include concurrent annotations (#1250)
DGoiana Jun 25, 2024
d5b6d3a
Auth with token for notifications
thePeras Jun 26, 2024
c5376b0
include Podfile.lock to gitignore
thePeras Jul 1, 2024
77e808b
Merge branch 'develop' into feature/openid-connect-auth
thePeras Jul 1, 2024
289cd19
Remove password encryption
thePeras Jul 1, 2024
5176491
Remove password encryption (#1259)
limwa Jul 2, 2024
b1fd137
Bump app version [no ci]
limwa Jul 2, 2024
3111a62
Small fix to providers
vitormpp Jul 3, 2024
193736e
Merge branch 'refactor/data-base' of github.com:NIAEFEUP/uni into ref…
vitormpp Jul 3, 2024
ea07c32
Made app_database class abstract and implemented logic to encapsulate…
vitormpp Mar 27, 2024
380ee85
Implemented logic to encapsulate persistent logic in all database cla…
vitormpp Mar 27, 2024
6ddbc01
Updated providers according to previous changes in database classes
vitormpp Mar 27, 2024
08e5c52
Updated providers so that they save data to database only if session …
vitormpp Mar 27, 2024
21c8f10
Made small changes in providers to encapsulate persistent session logic
vitormpp Apr 3, 2024
21c513b
fix: app_user_database
vitormpp Apr 3, 2024
9cb68ba
Fixed error in app_database
vitormpp May 29, 2024
7290b6f
Fixed lint error
vitormpp May 29, 2024
c6b4cc7
fix: app user database
vitormpp Jun 5, 2024
fbe3193
fix: lint error
vitormpp Jun 5, 2024
82d6052
Small fix to providers
vitormpp Jul 3, 2024
fea1173
fix lint errors
vitormpp Jul 3, 2024
9a50314
Merge branch 'refactor/data-base' of github.com:NIAEFEUP/uni into ref…
vitormpp Jul 3, 2024
9576016
fix: tests
vitormpp Jul 3, 2024
151e7ee
Make all pages scrollable. Fix scroll on some pages.
Process-ing Sep 8, 2023
b2a4d92
Fix course units page bottom margin.
Process-ing Sep 11, 2023
6cbc03e
Make pages scrollable. Refactor home and schedule pages to new format.
Process-ing Dec 15, 2023
ceefb2b
Fix rebase; Refactor all the pages to the new format
Process-ing Dec 22, 2023
82eae8f
Fix linter
Process-ing Dec 22, 2023
d1a200e
Fix rebase
Process-ing Jan 12, 2024
b243b28
Fix home page header
Process-ing Jan 12, 2024
6e722bb
Fix rebase
Process-ing Feb 20, 2024
f87d3de
Fix linter
Process-ing Feb 21, 2024
8b20bd8
Fix rebase
Process-ing Jun 19, 2024
b5e67e8
Fix missing app top bar in most of the pages
Process-ing Jun 19, 2024
a013845
Fix restaurant page refresh
Process-ing Jun 19, 2024
b8d81dc
Fix format
Process-ing Jun 19, 2024
3db7102
Fix restaurant list upper padding
Process-ing Jun 19, 2024
9d4f371
Make headers nullable
Process-ing Jun 19, 2024
d3db6eb
Fix rebase
Process-ing Jun 27, 2024
1809d46
Fix linting
Process-ing Jun 27, 2024
5caf6d9
Make all pages scrollable and add headers (#1069)
Process-ing Jul 3, 2024
01fee09
Bump app version [no ci]
Process-ing Jul 3, 2024
b293484
small falogin refactor
thePeras Jul 3, 2024
0da270c
Merge branch 'develop' into feature/openid-connect-auth
thePeras Jul 3, 2024
108eec8
Update generated test mocks
thePeras Jul 4, 2024
9cb9871
Merge branch 'develop' into refactor/data-base
DGoiana Jul 4, 2024
d867a7b
Merge branch 'develop' into feature/json-serialization
DGoiana Jul 5, 2024
91ac998
linter fix
DGoiana Jul 5, 2024
0ed5a70
Refactor/database (#1220)
DGoiana Jul 6, 2024
0c342bd
Bump app version [no ci]
DGoiana Jul 6, 2024
07f8587
adjusting and rebasing
DGoiana Jul 6, 2024
98799c5
Merge branch 'develop' into enhancement/academic-path-api
DGoiana Jul 6, 2024
975f404
formatting
DGoiana Jul 6, 2024
c3e8dfc
linting
DGoiana Jul 6, 2024
f9f1ef4
Merge branch 'develop' into feature/openid-connect-auth
DGoiana Jul 7, 2024
b0a8403
formatting
DGoiana Jul 6, 2024
b0e3a6c
Login progress indicator resetting after browser close
thePeras Jul 10, 2024
634cb3c
Federated Authentication (#1196)
thePeras Jul 10, 2024
a8d82b5
Bump app version [no ci]
thePeras Jul 10, 2024
d33a9b9
Move aai envs from .env to constants file
thePeras Jul 12, 2024
aed0bfc
Merge branch 'develop' into enhancement/academic-path-api
DGoiana Jul 13, 2024
7007b32
Redesigning academic page (#1151)
DGoiana Jul 13, 2024
ba00571
Bump app version [no ci]
DGoiana Jul 13, 2024
442ec58
Merge branch 'develop' into feature/json-serialization
rubuy-74 Jul 15, 2024
8885a51
Merge branch 'develop' into feature/json-serialization
rubuy-74 Jul 15, 2024
a53c0e9
Merge branch 'feature/json-serialization' of github.com:NIAEFEUP/uni …
rubuy-74 Jul 15, 2024
e1b4136
Implement auto-serialization (#1072)
DGoiana Jul 17, 2024
b951845
bump audio_session version
DGoiana Jul 19, 2024
93a8adc
adding audio_session as a direct dependency
DGoiana Jul 19, 2024
9125f29
Bump audio_session version (#1265)
thePeras Jul 19, 2024
a258932
just_audio bump
DGoiana Jul 19, 2024
563a087
Removed logout confirm dialog
vitormpp Jul 19, 2024
5fc7152
Deleted LogoutConfirmDialog widget
vitormpp Jul 19, 2024
f3320d3
Removed unnecessary code
vitormpp Jul 19, 2024
a476c97
Remove logout exit dialog (#1266)
thePeras Jul 20, 2024
68e9a2e
deleting unused packages and supressing warnings
DGoiana Jul 20, 2024
5a131c7
Merge branch 'develop' into fix/aai_on_notifications
thePeras Jul 21, 2024
9e212c6
Update build.gradle
DGoiana Jul 21, 2024
8322384
Fixing deploy pipeline (#1279)
DGoiana Jul 21, 2024
440302e
Merge branch 'develop' into fix/aai_on_notifications
thePeras Jul 22, 2024
99212cc
Move aai envs from .env to constants file (#1262)
thePeras Jul 22, 2024
eda484b
Bump app version [no ci]
thePeras Jul 22, 2024
006b74e
package spliting
DGoiana Jul 23, 2024
1ef6309
fix workflow path
DGoiana Jul 23, 2024
47c42da
Package splitting for redesign (#1282)
DGoiana Jul 23, 2024
d46e5e2
new generic card
thePeras Jul 26, 2024
32baf22
setting up the theme
DGoiana Jul 27, 2024
448b05c
adding card theme
DGoiana Jul 31, 2024
0ee167c
Setting up the theme (#1290)
DGoiana Jul 31, 2024
746f331
Merge remote-tracking branch 'origin/develop' into ui/new_generic_card
thePeras Jul 31, 2024
0a10cba
Add theme color and fix deploy
thePeras Jul 31, 2024
c26b4fd
Add theme color and fix deploy
thePeras Jul 31, 2024
586ddf9
New Generic Card (#1289)
thePeras Jul 31, 2024
43aab39
Bump app version [no ci]
thePeras Jul 31, 2024
574bf3d
Dialog/Modal Widget
rubuy-74 Aug 8, 2024
2d55ffc
Comply with requested changes
rubuy-74 Aug 8, 2024
00bff18
More minor changes
rubuy-74 Aug 16, 2024
d5328c0
Modal Widget (#1298)
DGoiana Aug 21, 2024
418b9b2
Bump app version [no ci]
DGoiana Aug 21, 2024
afaec7b
feat: add new schedule api
limwa Jul 22, 2024
4524f52
style: add trailing commas
limwa Jul 22, 2024
3b1ed7d
fix: handle weird sigarra non-redirect redirect
limwa Jul 22, 2024
e3861c5
refactor: properly name response variables
limwa Jul 22, 2024
6103f34
test: remove test
limwa Jul 22, 2024
025f34a
feat: handle multiple classes better
limwa Jul 22, 2024
5de8cea
refactor: use functional programming
limwa Aug 21, 2024
8a776cf
chore: use new package layout
limwa Aug 21, 2024
ad8808f
refactor: create FederatedSession and CredentialsSession
limwa Jul 23, 2024
ad1c898
refactor: serialize session requests instead
limwa Jul 24, 2024
6043220
refactor: change logic to use new sessions
limwa Jul 30, 2024
e7b177e
refactor: add NetworkRouter.login method again
limwa Jul 30, 2024
cf66e05
refactor: some more work on http rewrite
limwa Aug 7, 2024
8a3f241
refactor: continue refactor
limwa Aug 21, 2024
62411af
refactor: use new package structure
limwa Aug 21, 2024
1e1ad89
refactor: some more progress
limwa Aug 21, 2024
f48cf01
Removed SQLite reserved keywords from sql scripts
vitormpp Jul 19, 2024
3bb35da
Updated the exam model to ensure consistency.
vitormpp Jul 19, 2024
74a9d03
Updated exam widgets to align with the changes.
vitormpp Jul 19, 2024
753156d
Updated generated file
vitormpp Jul 19, 2024
f9bbdf2
fix(database): update version and add migration logic for version update
vitormpp Aug 7, 2024
d460c06
fix: correct mistake by changing startTime to finishTime
vitormpp Aug 8, 2024
cb95ca5
fix: sqlite keywords (#1277)
DGoiana Sep 2, 2024
e20681e
Bump app version [no ci]
DGoiana Sep 2, 2024
649dc96
feat: some more progress
limwa Sep 2, 2024
f9f52fb
chore: upgrade download-artifact
thePeras Sep 4, 2024
7b8a4d6
feat: some more stuff
limwa Sep 4, 2024
ea4ee97
Merge branch 'develop' into feature/new-schedule-api
limwa Sep 5, 2024
806179d
feat: some more work
limwa Sep 5, 2024
5ba3985
fix: indefinite waiting with no internet
limwa Sep 5, 2024
f1e3b86
docs: explain controller behavior
limwa Sep 5, 2024
4365773
style: reorder lines
limwa Sep 5, 2024
8c9a278
refactor: make message more accurate
limwa Sep 5, 2024
1a6876e
refactor: clean up login
limwa Sep 5, 2024
52586cd
fix: bug reports for non-persisted sessions
limwa Sep 5, 2024
73798c1
fix: don't throw on network errors
limwa Sep 6, 2024
81c0cce
Merge branch 'develop' into refactor/sessions
limwa Sep 6, 2024
8cbeba2
fix: schedule loading from storage
limwa Sep 6, 2024
f168bef
fix: schedule loading from storage (#1315)
limwa Sep 6, 2024
f2cb059
Bump app version [no ci]
limwa Sep 6, 2024
8e43723
removing unecessary filter
DGoiana Sep 7, 2024
8a518bc
feat: add new schedule api (#1281)
DGoiana Sep 10, 2024
5c2936b
Bump app version [no ci]
DGoiana Sep 10, 2024
593a4cd
dealing with a possible null url
DGoiana Sep 10, 2024
0947552
Fix schedule null api URL (#1316)
DGoiana Sep 10, 2024
91a100b
Bump app version [no ci]
DGoiana Sep 10, 2024
c73170c
refactor: some more work
limwa Sep 10, 2024
fb4dd70
adding new library api
DGoiana Sep 10, 2024
64a4651
refactor: finish session refactor
limwa Sep 11, 2024
59f4716
test: remove tests (lol)
limwa Sep 11, 2024
019b975
Merge branch 'develop' into refactor/sessions
limwa Sep 11, 2024
6bb7f16
fix: minor issues
limwa Sep 11, 2024
24809b7
test: readd some tests
limwa Sep 11, 2024
5fd57c0
refactor: lint code
limwa Sep 11, 2024
711a0cb
Merge branch 'develop' into feature/new-library-api
DGoiana Sep 11, 2024
88df1e9
refactor: remove useless code
limwa Sep 12, 2024
ede3c97
refactor: readd close method
limwa Sep 12, 2024
dd1b60b
fix: use inner client on callback client
limwa Sep 12, 2024
efce93c
refactor: add suggestions
limwa Sep 12, 2024
f82beca
style: add trailing comma
limwa Sep 12, 2024
fa3f3be
fix: lectures are no longer stored with null blocks
limwa Sep 12, 2024
947fb41
fix: lectures database serialization (#1320)
limwa Sep 12, 2024
7291101
Bump app version [no ci]
limwa Sep 12, 2024
d7a23e0
cleaning code
DGoiana Sep 12, 2024
7acad75
changing map to list of tuples
DGoiana Sep 12, 2024
452a6c4
Merge branch 'develop' into feature/new-library-api
DGoiana Sep 12, 2024
24416fd
Merge branch 'develop' into refactor/sessions
DGoiana Sep 12, 2024
d5f2715
refreshing session over time while user is logged in
DGoiana Sep 12, 2024
f6e0da3
Adding new library api (#1318)
DGoiana Sep 12, 2024
a3b12b9
Bump app version [no ci]
DGoiana Sep 12, 2024
4d28139
Merge branch 'develop' into refactor/sessions
DGoiana Sep 12, 2024
091eded
refactor: session logic (#1283)
limwa Sep 12, 2024
db38d5f
Bump app version [no ci]
limwa Sep 12, 2024
6b88d67
Merge branch 'develop' into chore/upgrade-download-artifact-to-v4
DGoiana Sep 12, 2024
3909b97
chore: Upgrade download-artifact (#1313)
DGoiana Sep 12, 2024
dd10d37
Bump app version [no ci]
DGoiana Sep 12, 2024
104b2ed
fix: add post logout url
limwa Sep 13, 2024
e0d8d97
fix: error when unit bibliography is null
limwa Sep 13, 2024
67967c5
fix: error when null progress in library
limwa Sep 13, 2024
73c4c55
fix: add post logout url (#1322)
DGoiana Sep 13, 2024
ed4d329
fix: error when null progress in library (#1324)
DGoiana Sep 13, 2024
0d7dbde
fix: error when there is no unit bibliography (#1323)
DGoiana Sep 13, 2024
4bedbbb
ci: upgrade upload-artifact
limwa Sep 13, 2024
8240868
ci: upgrade upload-artifact (#1325)
limwa Sep 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ version: 2

updates:
- package-ecosystem: "pub"
directory: "/uni"
directory: "/packages/uni_app"
schedule:
interval: "daily"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-patch"]

2 changes: 1 addition & 1 deletion .github/workflows/app_version_integrity.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ jobs:
name: "Version integrity"
runs-on: ubuntu-latest
env:
APP_VERSION_PATH: "uni/app_version.txt"
APP_VERSION_PATH: "packages/uni_app/app_version.txt"
steps:
- uses: actions/checkout@v4

Expand Down
41 changes: 22 additions & 19 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,13 @@ jobs:
environment:
name: ${{ github.ref_name }}
env:
PROPERTIES_PATH: "android/key.properties"
JAVA_VERSION: "17.x"
FLUTTER_VERSION: "3.13.7"
APP_VERSION_PATH: "app_version.txt"
PUBSPEC_PATH: "pubspec.yaml"
PROPERTIES_PATH: android/key.properties
JAVA_VERSION: 21.x
APP_VERSION_PATH: app_version.txt
PUBSPEC_PATH: pubspec.yaml
defaults:
run:
working-directory: ./uni
working-directory: ./packages/uni_app
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -39,7 +38,7 @@ jobs:
git fetch origin develop
git pull origin master
echo "DEVELOP_HASH=$(git rev-parse origin/develop)" >> $GITHUB_ENV
echo "MASTER_HASH=$(git rev-parse origin/master^2)" >> $GITHUB_ENV
echo "MASTER_HASH=$(git rev-parse origin/master^2)" >> $GITHUB_ENV

- name: Get latest version (develop)
if: github.ref != 'refs/heads/master'
Expand All @@ -49,15 +48,15 @@ jobs:
google_service_account_json: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }}
package_name: ${{ secrets.ANDROID_PACKAGE_NAME }}
track: "beta"

- name: Get latest production version
uses: LuisDuarte1/[email protected]
id: latest-production-version
with:
google_service_account_json: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }}
package_name: ${{ secrets.ANDROID_PACKAGE_NAME }}
track: "production"

- name: Bump beta version
uses: LuisDuarte1/[email protected]
if: github.ref != 'refs/heads/master'
Expand All @@ -67,7 +66,7 @@ jobs:
production_version: ${{ steps.latest-production-version.outputs.latest_version_name }}
staging_version: ${{ steps.latest-beta-version.outputs.latest_version_name }}
bump_type: prerelease

- name: Bump prod version (from develop)
uses: LuisDuarte1/[email protected]
if: github.ref == 'refs/heads/master' && env.MASTER_HASH == env.DEVELOP_HASH
Expand All @@ -85,7 +84,7 @@ jobs:
current_environment: production
production_version: ${{ steps.latest-production-version.outputs.latest_version_name }}
bump_type: patch

- name: Combine output and write new version into file
run: |
export NEW_VERSION_NAME=${{
Expand All @@ -102,13 +101,17 @@ jobs:
with:
commit_message: "Bump app version [no ci]"

- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
java-version: ${{env.JAVA_VERSION}}
distribution: "zulu"
- uses: subosito/flutter-action@v2

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: stable
flutter-version-file: packages/uni_app/pubspec.yaml
cache: true

- name: Download Android keystore
run: echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 --decode > /tmp/key.jks
Expand All @@ -124,18 +127,18 @@ jobs:

- name: Create .env file
run: echo "${{vars.UNI_ENV_FILE}}" > ./assets/env/.env

- name: Build Android App Bundle
run: |
flutter pub get
flutter build appbundle

- name: Upload App Bundle
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: appbundle
if-no-files-found: error
path: uni/build/app/outputs/bundle/release/app-release.aab
path: packages/uni_app/build/app/outputs/bundle/release/app-release.aab

deploy_play_store:
name: "Deploy to Google Play Store"
Expand All @@ -144,7 +147,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Get App Bundle
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: appbundle

Expand Down Expand Up @@ -174,4 +177,4 @@ jobs:
if: github.ref == 'refs/heads/master'
run: |
echo '${{ secrets.NIAEFEUPBOT_PAT }}' | gh auth login --with-token
gh workflow run 'Deploy Action' --ref develop
gh workflow run 'Deploy Action' --ref develop
67 changes: 39 additions & 28 deletions .github/workflows/format_lint_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,72 +4,83 @@ on:
branches: [master, develop]

env:
FLUTTER_VERSION: 3.13.7
JAVA_VERSION: 17.x
JAVA_VERSION: 21.x

jobs:
format:
name: "Format"
name: Format
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./uni
working-directory: ./packages/uni_app
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
- name: Clone repository
uses: actions/checkout@v4

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: stable
flutter-version-file: packages/uni_app/pubspec.yaml
cache: true

- run: dart format $(find . -type f -name "*.dart" -a -not -name "*.g.dart" -a -not -name "*.mocks.dart") --set-exit-if-changed

lint:
name: "Lint"
name: Lint
runs-on: ubuntu-latest
needs: format
defaults:
run:
working-directory: ./uni
working-directory: ./packages/uni_app
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- name: Clone repository
uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: "zulu"
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
distribution: zulu

- name: Cache pub dependencies
uses: actions/cache@v3
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
path: ${{ env.FLUTTER_HOME }}/.pub-cache
key: ${{ runner.os }}-pub-${{ github.ref }}-${{ hashFiles('**/pubspec.lock') }}
restore-keys: ${{ runner.os }}-pub-${{ github.ref }}-
channel: stable
flutter-version-file: packages/uni_app/pubspec.yaml
cache: true

- run: flutter pub get

- run: flutter analyze .
- run: |
flutter analyze .
dart run custom_lint

test:
name: "Test"
name: Test
runs-on: ubuntu-latest
needs: lint
defaults:
run:
working-directory: ./uni
working-directory: ./packages/uni_app
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: "zulu"
- uses: subosito/flutter-action@v2
distribution: zulu

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: stable
flutter-version-file: packages/uni_app/pubspec.yaml
cache: true

- name: Test with coverage
run: flutter test --coverage

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

## Overview

**uni** is a project developed by [NIAEFEUP](https://ni.fe.up.pt/) to help students of the [University of Porto](https://up.pt) to manage their academic life, including useful features such as upcoming classes and exams. It is a mobile app that is available for both Android and iOS, and is developed using the [Flutter](https://flutter.dev/) framework.
**uni** is a project developed by [NIAEFEUP](https://niaefeup.pt/) to help students of the [University of Porto](https://up.pt) to manage their academic life, including useful features such as upcoming classes and exams. It is a mobile app that is available for both Android and iOS, and is developed using the [Flutter](https://flutter.dev/) framework.

Some of the features are only available to students of [FEUP](https://fe.up.pt). The reliability of the information provided by the app is not guaranteed, and the app is not affiliated with the University of Porto or any of its faculties.

Expand All @@ -34,4 +34,4 @@ This application is licensed under the [GNU General Public License v3.0](./LICEN

Contributions are welcome, and can be made by opening a pull request. Please note, however, that a university's account is required to access most of the app's features.

For further information about the project structure, please refer to [the app's README file](./uni/README.md).
For further information about the project structure, please refer to [the app's README file](./packages/uni_app/README.md).
File renamed without changes.
File renamed without changes.
11 changes: 7 additions & 4 deletions uni/README.md → packages/uni_app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,16 @@ dart run build_runner watch

## Translation files

Intl package allows the internationalization of the app, currently supporting Portuguese ('pt_PT') and English ('en_EN). This package creates `.arb` files (one for each language), mapping a key to the correspondent translated string.
In order to access those translations through getters, you must add the translations you want to the `.arb` files and run:
Intl package allows the internationalization of the app, currently supporting Portuguese ('pt_PT') and English ('en_EN'), by generating `.dart` files (one for each language), mapping a key to the correspondent translated string as you can see at ```generated/intl``` files.
To generate these files, you must add the translations you want in the `.arb` files of the ```I10n``` folder and run:
```
dart pub global activate intl_utils 2.1.0
```
```
dart pub global run intl_utils:generate
```
This will generate `.dart` files with the getters you need to access the translations.
You must include `'package:uni/generated/l10n.dart'` and, depending on the locale of the application, `S.of(context).{key_of_translation}` will get you the translated string.

To use the translation import `'package:uni/generated/l10n.dart'` and use `S.of(context).{key_of_translation}`.

## Project structure

Expand Down
10 changes: 10 additions & 0 deletions packages/uni_app/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
include: package:leancode_lint/analysis_options.yaml

analyzer:
# Exclude auto-generated files from dart analysis
exclude:
- "**.g.dart"
- "**.mocks.dart"
- "**generated/**"
plugins:
- custom_lint
File renamed without changes.
92 changes: 92 additions & 0 deletions packages/uni_app/android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
plugins {
id "com.android.application"
id "org.jetbrains.kotlin.android"
id "dev.flutter.flutter-gradle-plugin"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file("local.properties")
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader("UTF-8") { reader ->
localProperties.load(reader)
}
}

def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
if (flutterVersionCode == null) {
flutterVersionCode = "1"
}

def flutterVersionName = localProperties.getProperty("flutter.versionName")
if (flutterVersionName == null) {
flutterVersionName = "1.0"
}

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
namespace "pt.up.fe.ni.uni"

compileSdkVersion 34
ndkVersion "25.1.8937393"

compileOptions {
targetCompatibility JavaVersion.VERSION_11
sourceCompatibility JavaVersion.VERSION_11

// This is required by flutter_local_notifications. See its README.
coreLibraryDesugaringEnabled true
}

kotlinOptions {
jvmTarget = "11"
}

sourceSets {
main.java.srcDirs += "src/main/kotlin"
}

defaultConfig {
applicationId "pt.up.fe.ni.uni"
minSdkVersion 22
targetSdkVersion 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}

signingConfigs {
release {
keyAlias keystoreProperties["keyAlias"]
keyPassword keystoreProperties["keyPassword"]
storeFile keystoreProperties["storeFile"] ? file(keystoreProperties["storeFile"]) : null
storePassword keystoreProperties["storePassword"]
}
}

buildTypes {
release {
signingConfig signingConfigs.release

proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}

flutter {
source "../.."
}

dependencies {
// The following 3 lines are a workaround for the Flutter issue.
// Learn more: https://github.com/flutter/flutter/issues/110658
implementation "androidx.window:window:1.3.0"
implementation "androidx.window:window-java:1.3.0"
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.0.4"
}
Loading
Loading