{"id":22881138,"url":"https://github.com/berthje/skyeye-documentation","last_synced_at":"2026-05-19T02:04:47.729Z","repository":{"id":242743964,"uuid":"809796725","full_name":"Berthje/skyeye-documentation","owner":"Berthje","description":"Documentation for aviation app SkyEye","archived":false,"fork":false,"pushed_at":"2024-06-04T17:54:09.000Z","size":23763,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-03T11:04:33.868Z","etag":null,"topics":["android","app","aviation","kotlin","skyeye"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Berthje.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-03T13:18:18.000Z","updated_at":"2024-07-08T15:05:43.000Z","dependencies_parsed_at":"2024-06-04T20:01:37.260Z","dependency_job_id":"04f559cb-6661-4679-9215-869e71d55f31","html_url":"https://github.com/Berthje/skyeye-documentation","commit_stats":null,"previous_names":["berthje/skyeye-documentation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Berthje/skyeye-documentation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berthje%2Fskyeye-documentation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berthje%2Fskyeye-documentation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berthje%2Fskyeye-documentation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berthje%2Fskyeye-documentation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Berthje","download_url":"https://codeload.github.com/Berthje/skyeye-documentation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berthje%2Fskyeye-documentation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264696287,"owners_count":23650936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","app","aviation","kotlin","skyeye"],"created_at":"2024-12-13T17:31:02.102Z","updated_at":"2026-05-19T02:04:47.684Z","avatar_url":"https://github.com/Berthje.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cProjectname\u003e NMA documentation\n\n## Groupmembers\n### Group 14\n1. Berth Layton\n2. Dewulf Kemp\n\n## Project summary\nSky Eye is a flight tracking application designed to provide users with real-time\ninformation about flights and airport activities. The users will be able to see an overview\nof all current flights presented on a world map + a list with all big airports and aircraft types. What sets Sky Eye apart is its innovative\nAugmented Reality (AR) feature that allows users to identify airplanes in the air with their\ncamera.\n\n## Requirements\n### ℹ️ Legend\n- :heavy_check_mark: = Implemented\n- :x: = Not implemented\n- :hourglass: = Work in progress\n\n\n|Status|Description|Details|\n|---|---|---|\n||**Must have (12/20)**||\n|:heavy_check_mark:| Build a multiscreen app (at least 4 screens) using the Jetpack Navigation component | [Go to screenshots](#screenshots)\n|:heavy_check_mark:| Use Jetpack Compose with Kotlin to build your screen layout (use at least 4 different elements with mandatory: a scrollable List, Button, Text and Image) | [Go to screenshots](#screenshots)\n|:heavy_check_mark:| Create a menu-based navigation and bottom navigation | [Go to screenshots](#screenshots)\n|:heavy_check_mark:| Use the Android app architecture (ViewModel – State in Compose)\n|:heavy_check_mark:| Use a local Room database to store user data persistently | [Go to Room database](#room-database)\n|:heavy_check_mark:| Use Retrofit to communicate with an API service | [Go to API request](#api-request)\n|:heavy_check_mark:| Schedule at least 1 background task using the Workmanager | [Go to workmanager](#workmanager)\n|:heavy_check_mark:| Use at least 2 Implicit Intents | [Go to intents](#intents)\n|:heavy_check_mark:| Write significant tests to make a robust app (code coverage at least 90%) | [Go to screenshots](#screenshots)\n|:heavy_check_mark:| Implement a custom application theme using MaterialDesign with a custom app icon | [Go to screenshots](#screenshots)\n|:heavy_check_mark:| Generate an installable APK\n||\n|| **Intermediate - self learning topics (14+/20)**\n|:heavy_check_mark:| Notifications | [Go to notifications](#notifications)\n|:heavy_check_mark:| Canvas and animations | [Go to canvas \u0026 animations](#canvas-and-animations)\n|:x:| Sensor data (GPS, motion, position, environmental)\n|||\n||**Experienced - self learning topics (16+/20)**\n|:heavy_check_mark:| Use the CameraX library | [Go to camera](#camera)\n|:x:| Use the ML Kit to add new experience features to your app (Vision and/or Natural Language API)\n\n## Overview app\n### Screenshots\nGive screenshots for every screen in the application.\n\n![Custom App Icon](ReadmeImages/custom-app-icon.png)\n![Loading Screen](ReadmeImages/loading-screen.png)\n![Homepage](ReadmeImages/homepage.png)\n![Login](ReadmeImages/loginscreen.png)\n![Register](ReadmeImages/registerscreen.png)\n![Forgot Password](ReadmeImages/forgotpasswordscreen.png)\n![Account Settings](ReadmeImages/accountsettingsscreen.png)\n![Drawer Expanded](ReadmeImages/drawerexpandedscreen.png)\n![Settings](ReadmeImages/settingsscreen.png)\n![Appearance in settings](ReadmeImages/appearancesettingsscreen.png)\n![Appearance in settings darkmode enabled](ReadmeImages/appearancesettingsscreendarkmode.png)\n![Support](ReadmeImages/supportscreen.png)\n![About](ReadmeImages/aboutscreen.png)\n![Filter modal expanded](ReadmeImages/filtermodalexpandedscreen.png)\n![Maptype modal expanded](ReadmeImages/maptypemodalexpandedscreen.png)\n![Weather layer modal expanded](ReadmeImages/weatherlayermodalexpandedscreen.png)\n![Camera screen](ReadmeImages/camerascreen.png)\n![Aircraft types list](ReadmeImages/aircrafttypelistscreen.png)\n![Aircraft detail](ReadmeImages/aircraftdetailscreen.png)\n![Airport list](ReadmeImages/airportlistscreen.png)\n![Airport detail](ReadmeImages/airportdetailscreen.png)\n\n### Room database\nWe have a database that currently stores 2 things:\n- User login information:\\\n![Account Settings](ReadmeImages/accountsettingsscreen.png)\n- Appearance settings:\\\n![Appearance in settings darkmode enabled](ReadmeImages/appearancesettingsscreendarkmode.png)\n\n### API request\nWe use an API to retrieve airport details: \\\n![Airport detail](ReadmeImages/airportdetailscreen.png)\n\n### Intents\n1. Support email: On the support page, clicking the email address opens the email app.\\\n![Open email app intent](ReadmeImages/intent-gmail.png)\n2. Maps: On an airport page users can click a button to show the airport on their map app.\\\n![Open google maps app intent](ReadmeImages/intent-googlemaps.png)\n\n### Workmanager\nIf the app has not been opened for 2 days, the workmanager will send a push notification to increase user engagement.\n![notifications uses workmanager](ReadmeImages/notification.png)\n\n### Notifications\nIf the app has not been opened for 2 days, the workmanager will send a push notification to increase user engagement.\\\n![notification ui](ReadmeImages/notification.png)\n\n### Canvas and animations\nCanvas is used to show airport markers on the map.\\\n![Canvas to render markers](ReadmeImages/canvas-markers.png)\n\n### Sensor data\nOptional: not implemented.\n\n### Camera\nWhen a user wants to know what an airplane in the sky is, they can use the built-in camera AR feature.\\\n![Camera Screen](ReadmeImages/camerascreen.png)\n\n### ML kit\nOptional: not implemented.\n\n## Repositories\n- Code\n  - https://gitlab.ti.howest.be/ti/2023-2024/s4/native-mobile-apps/projects/group-14/01-code\n- APK\n  - https://gitlab.ti.howest.be/ti/2023-2024/s4/native-mobile-apps/projects/group-14/02-apk\n\n## Link movie\n- Demo App: https://www.youtube.com/watch?v=zPMMDet_dAg\n- Code explanation: https://www.youtube.com/watch?v=qNs32lNKpZw\n\n## Link to Google profile accounts\n- Layton Berth - https://developers.google.com/profile/u/layton-berth\n- Kemp Dewulf - https://developers.google.com/profile/u/kempdewulfhowest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberthje%2Fskyeye-documentation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fberthje%2Fskyeye-documentation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberthje%2Fskyeye-documentation/lists"}