Skip to content

Commit

Permalink
Merge pull request #36 from benedettoscala/development
Browse files Browse the repository at this point in the history
From Development to Main
  • Loading branch information
Luigi11162 authored Dec 16, 2024
2 parents 2d20cfb + 6ab6009 commit 84b8552
Show file tree
Hide file tree
Showing 100 changed files with 99,781 additions and 267 deletions.
Binary file added .github/logo_CiviConnect.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 62 additions & 0 deletions .github/workflows/flutter-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,17 @@ on:
push:
branches:
- main
- development
- merge/testing
pull_request:
branches:
- main
- development
- merge/testing

jobs:
build:
environment: firebase
name: Build, Test e Checkstyle
runs-on: ubuntu-latest

Expand All @@ -35,6 +40,54 @@ jobs:
api-levels: 31
build-tools: 31.0.0

- name: Create private config file
run: |
mkdir -p ./src/android/app
cat <<EOF > ./src/android/app/google-services.json
{
"project_info": {
"project_number": "${{ secrets.PROJECT_NUMBER }}",
"project_id": "civiconnect-13aeb",
"storage_bucket": "civiconnect-13aeb.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "${{ secrets.MOBILESDK_APP_ID }}",
"android_client_info": {
"package_name": "it.unisa.civiconnect"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "${{ secrets.CURRENT_KEY }}"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}
EOF
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.x

- name: Validate and Fix JSON
run: |
for file in $(find . -name '*.json'); do
echo "Processing $file"
python3 -m json.tool "$file" > "${file}_fixed" || exit 1
mv "${file}_fixed" "$file"
done
- name: Install dependencies
working-directory: src # Specifica la cartella src
run: flutter pub get
Expand All @@ -50,3 +103,12 @@ jobs:
- name: Build APK
working-directory: src
run: flutter build apk --release
env:
APIKEY_ANDROID: ${{ secrets.APIKEY_ANDROID }}
#APIKEY_IOS: ${{ secrets.APIKEY_IOS }}
#APIKEY_MAC: ${{ secrets.APIKEY_MAC }}
#APIKEY_WEB: ${{ secrets.APIKEY_WEB }}
#APIKEY_WIN: ${{ secrets.APIKEY_WIN }}

- name: Clean up
run: rm src/android/app/google-services.json
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

91 changes: 91 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<p align="center">
<img src=".github/logo_CiviConnect.png" width="256" height="256">
</p>

<p align="center">
📱 Mobile App for urban issue reporting and management. 📱
<br>
A project for
<br>
Software Engineering and Software Project Management
<br>
courses of Computer Science at University of Salerno.
</p>

---

# Project Description and Introduction

CiviConnect is a mobile application designed to facilitate communication between citizens and local administrations. The app enables users to report and manage urban issues efficiently and transparently.

## Introduction

📱 🎓 Mobile App for urban issue management. Developed for the **Software Engineering** and **Software Project Management** courses at the University of Salerno.

## Authors

* **Luigi Bacco** - *Project Manager* - [GitHub Profile](https://github.com/Luigi11162)
* **Benedetto Scala** - *Project Manager* - [GitHub Profile](https://github.com/benedettoscala)
* **Generoso Sorridi** - *Developer* - [GitHub Profile](https://github.com/DarkSassio)
* **Marco Brescia** - *Developer* - [GitHub Profile](https://github.com/Marco-Brescia)
* **Francesco Faiella** - *Developer* - [GitHub Profile](https://github.com/FaiellaFrancesco)
* **Gianluigi Citro** - *Developer* - [GitHub Profile](https://github.com/Borax-Gargamella)
* **Giuseppe Speranza** - *Developer* - [GitHub Profile](https://github.com/Peppe289)
* **Manuel Cieri** - *Developer* - [GitHub Profile](https://github.com/Type-Here)
* **Domenico Auriemma** - *Developer* - [GitHub Profile](https://github.com/domyz21)
* **Giuseppe Gambardella** - *Developer* - [GitHub Profile](https://github.com/GiuseppeGambardella)

---

# Technical Information

## Built With

* [Flutter](https://flutter.dev/) - Framework for cross-platform mobile development.
* [Firebase](https://firebase.google.com/) - Backend-as-a-Service for database, authentication, and cloud services.
* [Firestore](https://firebase.google.com/products/firestore) - NoSQL database for data persistence.
* [Dart](https://dart.dev/) - Programming language used with Flutter.
* [OpenStreetMap](https://www.openstreetmap.org/) - Open source geographic mapping services.

## Clone and run the project locally

### Prerequisites

1. Install [Flutter](https://flutter.dev/docs/get-started/install) and Dart SDK.
2. Install Android Studio or another code editor compatible with Flutter.
3. Configure an Android emulator or connect a physical device for testing.

### Steps

1. Clone the repository:
```bash
git clone https://github.com/benedettoscala/CiviConnect.git
```
2. Navigate to the project directory:
```bash
cd CiviConnect
```
3. Install dependencies:
```bash
flutter pub get
```
4. Run the project:
```bash
flutter run
```
5. View the application on the emulator or connected device.

---

# Documentation

* The process documentation is available in the `docs` directory.
* Details about requirements and design can be found in the project's **RAD** and **SDD**.

---

# Contributors

<a href="https://github.com/benedettoscala/CiviConnect/graphs/contributors">
<img src="https://contrib.rocks/image?repo=benedettoscala/CiviConnect" />
</a>
5 changes: 5 additions & 0 deletions src/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,8 @@ app.*.map.json

# ignore firebase log file
firepit-log.txt


# ingnore env
.env/
android/app/google-services.json
5 changes: 5 additions & 0 deletions src/analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ linter:
annotate_overrides: true
avoid_types_on_closure_parameters: true
public_member_api_docs: true
prefer_const_constructors: true
prefer_const_constructors_in_immutables: true
prefer_const_declarations: true
prefer_const_literals_to_create_immutables: true
unnecessary_const: true

analyzer:
strong-mode:
Expand Down
8 changes: 4 additions & 4 deletions src/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ android {
ndkVersion = flutter.ndkVersion

compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
jvmTarget = 17
}

defaultConfig {
Expand All @@ -28,7 +28,7 @@ android {
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = 31
targetSdk = 31
targetSdk = 33
versionCode = flutter.versionCode
versionName = flutter.versionName
}
Expand Down
29 changes: 0 additions & 29 deletions src/android/app/google-services.json

This file was deleted.

6 changes: 5 additions & 1 deletion src/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:label="civiconnect"
android:label="CiviConnect"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 6 additions & 9 deletions src/android/app/src/main/res/drawable-v21/launch_background.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />

<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
</layer-list>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 6 additions & 9 deletions src/android/app/src/main/res/drawable/launch_background.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />

<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
<item>
<bitmap android:gravity="fill" android:src="@drawable/background"/>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground>
<inset
android:drawable="@drawable/ic_launcher_foreground"
android:inset="16%" />
</foreground>
</adaptive-icon>
Binary file modified src/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions src/android/app/src/main/res/values-night-v31/styles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
4 changes: 4 additions & 0 deletions src/android/app/src/main/res/values-night/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Expand Down
19 changes: 19 additions & 0 deletions src/android/app/src/main/res/values-v31/styles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
4 changes: 4 additions & 0 deletions src/android/app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#004576</color>
</resources>
4 changes: 4 additions & 0 deletions src/android/app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Expand Down
4 changes: 2 additions & 2 deletions src/android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.1.0" apply false
id "com.android.application" version "8.3.2" apply false
// START: FlutterFire Configuration
id "com.google.gms.google-services" version "4.3.15" apply false
// END: FlutterFire Configuration
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
id "org.jetbrains.kotlin.android" version "2.0.20" apply false
}

include ":app"
Loading

0 comments on commit 84b8552

Please sign in to comment.