Skip to content

Commit aa36c99

Browse files
jlcrodriguesheisenunesFrancisco Nunestheguilhermealmeida
authored
Finish iteration 1 (#22)
* Forked uni * Update vision.md * Update vertical prototype. * Updated use case diagram * Updated requirements.md * Feature/occupation card (#15) * create the card for the Occupation * Added occupation percent indicator * Fixed lint warnings * Increased version in pubspec Co-authored-by: Francisco Nunes <[email protected]> Co-authored-by: José Luís Cunha Rodrigues <[email protected]> * Feature/page (#16) * Started uniteca page * Finished occupation page, closes #8 * fixed failed review tests * Removed percent indicator animations * Changed argument names of function getFloor * Resolved repeated code´ * Fixed failed review tests * Added iteration doc * Fixed md extension * Update iteration1.md * Connected occupation card * Added release link * Finished release docs * Fixed Readme Co-authored-by: heisenunes <[email protected]> Co-authored-by: Francisco Nunes <[email protected]> Co-authored-by: Guilherme Almeida <[email protected]>
1 parent 535dbcd commit aa36c99

File tree

304 files changed

+12383
-1815
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

304 files changed

+12383
-1815
lines changed

.github/workflows/main.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
runs-on: ubuntu-latest
77
defaults:
88
run:
9-
working-directory: ./uniteca
9+
working-directory: ./app_feup
1010
steps:
1111
- uses: actions/checkout@v2
1212
- uses: actions/setup-java@v1
@@ -23,7 +23,7 @@ jobs:
2323
runs-on: ubuntu-latest
2424
defaults:
2525
run:
26-
working-directory: ./uniteca
26+
working-directory: ./app_feup
2727
steps:
2828
- uses: actions/checkout@v2
2929
- uses: actions/setup-java@v1

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@
99
- [Requirements](docs/requirements.md)
1010
- [Domain Model](docs/domainmodel.md)
1111
- [Architecture and Design](docs/ArchitectureAndDesign.md)
12+
- Delivery
13+
- [Iteration 1](docs/iteration1.md)

app_feup/.gitignore

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Miscellaneous
2+
*.class
3+
*.log
4+
*.pyc
5+
*.swp
6+
.DS_Store
7+
.atom/
8+
.buildlog/
9+
.history
10+
.svn/
11+
12+
# IntelliJ related
13+
*.iml
14+
*.ipr
15+
*.iws
16+
.idea/
17+
18+
# The .vscode folder contains launch configuration and tasks you configure in
19+
# VS Code which you may wish to be included in version control, so this line
20+
# is commented out by default.
21+
#.vscode/
22+
23+
# Flutter/Dart/Pub related
24+
**/doc/api/
25+
.dart_tool/
26+
.flutter-plugins
27+
.flutter-plugins-dependencies
28+
.packages
29+
.pub-cache/
30+
.pub/
31+
build/
32+
assets/env/*
33+
.flutter-plugins-dependencies
34+
35+
### Flutter ###
36+
# Flutter/Dart/Pub related
37+
**/doc/api/
38+
.dart_tool/
39+
.flutter-plugins
40+
.packages
41+
.pub-cache/
42+
.pub/
43+
build/
44+
45+
# Android related
46+
**/android/**/gradle-wrapper.jar
47+
**/android/.gradle
48+
**/android/captures/
49+
**/android/gradlew
50+
**/android/gradlew.bat
51+
**/android/local.properties
52+
**/android/**/GeneratedPluginRegistrant.java
53+
**/android/app/src/main/gen/
54+
55+
# iOS/XCode related
56+
**/ios/**/*.mode1v3
57+
**/ios/**/*.mode2v3
58+
**/ios/**/*.moved-aside
59+
**/ios/**/*.pbxuser
60+
**/ios/**/*.perspectivev3
61+
**/ios/**/*sync/
62+
**/ios/**/.sconsign.dblite
63+
**/ios/**/.tags*
64+
**/ios/**/.vagrant/
65+
**/ios/**/DerivedData/
66+
**/ios/**/Icon?
67+
**/ios/**/Pods/
68+
**/ios/**/.symlinks/
69+
**/ios/**/profile
70+
**/ios/**/xcuserdata
71+
**/ios/.generated/
72+
**/ios/Flutter/App.framework
73+
**/ios/Flutter/Flutter.framework
74+
**/ios/Flutter/Generated.xcconfig
75+
**/ios/Flutter/app.flx
76+
**/ios/Flutter/app.zip
77+
**/ios/Flutter/flutter_assets/
78+
**/ios/Flutter/flutter_export_environment.sh
79+
**/ios/ServiceDefinitions.json
80+
**/ios/Runner/GeneratedPluginRegistrant.*
81+
# Web related
82+
lib/generated_plugin_registrant.dart
83+
84+
# Exceptions to above rules.
85+
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages

app_feup/README.md

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# app_feup
2+
3+
An app to make the lives of FEUP students easier.
4+
[View changelog here](changelog.md)
5+
6+
## Getting Started
7+
8+
This project is a Flutter application.
9+
10+
A few resources to get you started if this is your first Flutter project:
11+
12+
- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
13+
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
14+
15+
For help getting started with Flutter, view the
16+
[online documentation](https://flutter.dev/docs), which offers tutorials,
17+
samples, guidance on mobile development, and a full API reference.
18+
19+
20+
## Requirements
21+
22+
In order to submit bug reports to the Github API, a Github Personal Access Token is required.
23+
If you don't have one, you can create it on https://github.com/settings/tokens. The only permission it needs is **repo > public_repo**.
24+
25+
The token is read from the file ```assets/env/env.json```, which you may need to create, and must be in the following format:
26+
27+
```json
28+
{
29+
"gh_token" : "your super secret token"
30+
}
31+
```
32+
33+
## Release
34+
35+
To release the app, a few steps are required:
36+
37+
- Make sure the terms and conditions do not need updating
38+
- Make sure you have completed the **Requirements** section of this README
39+
- Increase the version in pubspec.yaml
40+
- Fill the fields in android/key.properties. [This might require creation of a store](https://flutter.dev/docs/deployment/android)
41+
- Run `flutter build appbundle lib/main.dart` to generate the bundle ready for upload
42+
- Make sure the Play Store's Content Rating is accurate before rolling out the app
43+
44+
[Here's the full guide to releasing a flutter application](https://flutter.dev/docs/deployment/android)
File renamed without changes.

app_feup/android/.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
gradle-wrapper.jar
2+
/.gradle
3+
/captures/
4+
/gradlew
5+
/gradlew.bat
6+
/local.properties
7+
GeneratedPluginRegistrant.java
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
arguments=
2+
auto.sync=false
3+
build.scans.enabled=false
4+
connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.0-20191016123526+0000))
5+
connection.project.dir=
6+
eclipse.preferences.version=1
7+
gradle.user.home=
8+
java.home=/usr/lib/jvm/default
9+
jvm.arguments=
10+
offline.mode=false
11+
override.workspace.settings=true
12+
show.console.view=true
13+
show.executions.view=true

app_feup/android/app/.classpath

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
4+
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
5+
<classpathentry kind="output" path="bin/default"/>
6+
</classpath>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
connection.project.dir=..
2+
eclipse.preferences.version=1

uniteca/android/app/build.gradle app_feup/android/app/build.gradle

+26-6
Original file line numberDiff line numberDiff line change
@@ -25,29 +25,46 @@ apply plugin: 'com.android.application'
2525
apply plugin: 'kotlin-android'
2626
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
2727

28+
def keystoreProperties = new Properties()
29+
def keystorePropertiesFile = rootProject.file('key.properties')
30+
if (keystorePropertiesFile.exists()) {
31+
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
32+
}
33+
2834
android {
29-
compileSdkVersion 30
35+
compileSdkVersion 29
3036

3137
sourceSets {
3238
main.java.srcDirs += 'src/main/kotlin'
3339
}
3440

41+
lintOptions {
42+
disable 'InvalidPackage'
43+
}
44+
3545
defaultConfig {
36-
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
37-
applicationId "com.example.uniteca"
46+
applicationId "pt.up.fe.ni.uni"
3847
minSdkVersion 16
3948
targetSdkVersion 30
4049
versionCode flutterVersionCode.toInteger()
4150
versionName flutterVersionName
51+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
4252
}
4353

54+
signingConfigs {
55+
release {
56+
keyAlias keystoreProperties['keyAlias']
57+
keyPassword keystoreProperties['keyPassword']
58+
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
59+
storePassword keystoreProperties['storePassword']
60+
}
61+
}
4462
buildTypes {
4563
release {
46-
// TODO: Add your own signing config for the release build.
47-
// Signing with the debug keys for now, so `flutter run --release` works.
48-
signingConfig signingConfigs.debug
64+
signingConfig signingConfigs.release
4965
}
5066
}
67+
5168
}
5269

5370
flutter {
@@ -56,4 +73,7 @@ flutter {
5673

5774
dependencies {
5875
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
76+
testImplementation 'junit:junit:4.12'
77+
androidTestImplementation 'androidx.test:runner:1.1.1'
78+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
5979
}
2.02 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2-
package="com.example.uniteca">
2+
package="pt.up.fe.ni.uni">
33
<!-- Flutter needs it to communicate with the running application
44
to allow setting breakpoints, to provide hot reload, etc.
55
-->
66
<uses-permission android:name="android.permission.INTERNET"/>
7-
</manifest>
7+
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
package="pt.up.fe.ni.uni">
3+
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
4+
calls FlutterMain.startInitialization(this); in its onCreate method.
5+
In most cases you can leave this as-is, but you if you want to provide
6+
additional functionality it is fine to subclass or reimplement
7+
FlutterApplication and put your custom class here. -->
8+
<application
9+
android:name="io.flutter.app.FlutterApplication"
10+
android:label="uni"
11+
android:icon="@mipmap/ic_launcher">
12+
<activity
13+
android:name=".MainActivity"
14+
android:launchMode="singleTop"
15+
android:theme="@style/LaunchTheme"
16+
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
17+
android:hardwareAccelerated="true"
18+
android:windowSoftInputMode="adjustResize">
19+
<intent-filter>
20+
<action android:name="android.intent.action.MAIN"/>
21+
<category android:name="android.intent.category.LAUNCHER"/>
22+
</intent-filter>
23+
<meta-data
24+
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
25+
android:value="true" />
26+
<meta-data
27+
android:name="io.flutter.embedding.android.SplashScreenDrawable"
28+
android:resource="@drawable/launch_background" />
29+
</activity>
30+
<!-- Don't delete the meta-data below.
31+
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
32+
<meta-data
33+
android:name="flutterEmbedding"
34+
android:value="2" />
35+
</application>
36+
<uses-permission android:name="android.permission.INTERNET"/>
37+
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
38+
<uses-permission android:name="android.permission.READ_CALENDAR"/>
39+
40+
41+
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package pt.up.fe.ni.uni
2+
3+
import androidx.annotation.NonNull;
4+
import io.flutter.embedding.android.FlutterActivity
5+
import io.flutter.embedding.engine.FlutterEngine
6+
import io.flutter.plugins.GeneratedPluginRegistrant
7+
8+
import android.os.Build
9+
import android.view.ViewTreeObserver
10+
import android.view.WindowManager
11+
class MainActivity: FlutterActivity() {
12+
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
13+
GeneratedPluginRegistrant.registerWith(flutterEngine);
14+
}
15+
}
Loading
Loading
Loading
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Modify this file to customize your launch splash screen -->
3+
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
4+
<item>
5+
<shape android:shape="rectangle">
6+
<solid android:color="#FAFAFA" />
7+
</shape>
8+
</item>
9+
<item>
10+
<bitmap android:gravity="fill" android:src="@drawable/splash" />
11+
</item>
12+
</layer-list>
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<color name="splash_color">#ffffff</color>
4+
</resources>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
4+
<!-- Show a splash screen on the activity. Automatically removed when
5+
Flutter draws its first frame -->
6+
<item name="android:windowBackground">@drawable/launch_background</item>
7+
</style>
8+
</resources>
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2-
package="com.example.uniteca">
2+
package="pt.up.fe.ni.uni">
33
<!-- Flutter needs it to communicate with the running application
44
to allow setting breakpoints, to provide hot reload, etc.
55
-->
66
<uses-permission android:name="android.permission.INTERNET"/>
7-
</manifest>
7+
</manifest>

uniteca/android/build.gradle app_feup/android/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
buildscript {
2-
ext.kotlin_version = '1.3.50'
2+
ext.kotlin_version = '1.5.10'
33
repositories {
44
google()
5-
jcenter()
5+
mavenCentral()
66
}
77

88
dependencies {
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
org.gradle.jvmargs=-Xmx1536M
2+
android.enableR8=true
23
android.useAndroidX=true
34
android.enableJetifier=true

uniteca/android/gradle/wrapper/gradle-wrapper.properties app_feup/android/gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip

app_feup/android/key.properties

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
storePassword=ricardo
2+
keyPassword=ricardo
3+
keyAlias=key0
4+
storeFile=keystore_path_here

0 commit comments

Comments
 (0)