- Berth Layton
- Dewulf Kemp
Sky Eye is a flight tracking application designed to provide users with real-time information about flights and airport activities. The users will be able to see an overview of 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 Augmented Reality (AR) feature that allows users to identify airplanes in the air with their camera.
- ✔️ = Implemented
- ❌ = Not implemented
- ⌛ = Work in progress
Status | Description | Details |
---|---|---|
Must have (12/20) | ||
✔️ | Build a multiscreen app (at least 4 screens) using the Jetpack Navigation component | Go to screenshots |
✔️ | 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 |
✔️ | Create a menu-based navigation and bottom navigation | Go to screenshots |
✔️ | Use the Android app architecture (ViewModel – State in Compose) | |
✔️ | Use a local Room database to store user data persistently | Go to Room database |
✔️ | Use Retrofit to communicate with an API service | Go to API request |
✔️ | Schedule at least 1 background task using the Workmanager | Go to workmanager |
✔️ | Use at least 2 Implicit Intents | Go to intents |
✔️ | Write significant tests to make a robust app (code coverage at least 90%) | Go to screenshots |
✔️ | Implement a custom application theme using MaterialDesign with a custom app icon | Go to screenshots |
✔️ | Generate an installable APK | |
Intermediate - self learning topics (14+/20) | ||
✔️ | Notifications | Go to notifications |
✔️ | Canvas and animations | Go to canvas & animations |
❌ | Sensor data (GPS, motion, position, environmental) | |
Experienced - self learning topics (16+/20) | ||
✔️ | Use the CameraX library | Go to camera |
❌ | Use the ML Kit to add new experience features to your app (Vision and/or Natural Language API) |
Give screenshots for every screen in the application.
We have a database that currently stores 2 things:
We use an API to retrieve airport details:
- Support email: On the support page, clicking the email address opens the email app.
- Maps: On an airport page users can click a button to show the airport on their map app.
If the app has not been opened for 2 days, the workmanager will send a push notification to increase user engagement.
If the app has not been opened for 2 days, the workmanager will send a push notification to increase user engagement.
Canvas is used to show airport markers on the map.
Optional: not implemented.
When a user wants to know what an airplane in the sky is, they can use the built-in camera AR feature.
Optional: not implemented.
- Code
- APK
- Demo App: https://www.youtube.com/watch?v=zPMMDet_dAg
- Code explanation: https://www.youtube.com/watch?v=qNs32lNKpZw
- Layton Berth - https://developers.google.com/profile/u/layton-berth
- Kemp Dewulf - https://developers.google.com/profile/u/kempdewulfhowest