Skip to content

Evenoes/in2000-team-11

Repository files navigation

About the app

This app is Team 11's response to IN2000 - Software Engineering with Project Work for the Spring 2025 term. We picked Case 2: Map for fishing boats, but we decided, with the permission of the University and MET, to focus rather on kayakers and recreational boaters.

The app assists in planning safe and informed trips by displaying data from several APIs about weather and boating conditions in the user's desired area in Norway.

Important libraries:

  • Jetpack Compose : Building reactive UI. Well integrated into modern Android Development, and has enough documentation for us mere students to implement it effectively.
  • Mapbox : Map-display, along with point-annotations for each data-point.
  • Geonorge : Displaying depths along the shore.
  • Ktor : For making HTTP requests to external APIs (used in all our DataSource classes).
  • Proto DataStore : Storing user-preferences.
  • JUNIT4 : Unit testing of API-data handling.
  • Mockito : Mocking dependencies in testing

Icons and Graphic Assets: The app uses a mix of Material3 icons and custom icons

  • Icons neutral, ocean waves, arrow, information and danger-sign are sourced from Material3
  • Boat icons are provided via AIS/Kystverket.
  • Weather hazard icons are provided by Meterologisk Institutt
  • Kayak icon is externally sourced through uxwing
  • Icons smile, frown, wind, current, temperature and rain are sourced from Simple Design System by Figma

We aim to comply with licensing requirements for all third-party assets used in the project.

Running the app

Prerequisites:

  1. You have successfully downloaded the project folder.
  2. Configure API Keys (IMPORTANT):
    • Copy local.properties.example to local.properties in the root directory
    • Fill in your actual API credentials:
    • The local.properties file is gitignored and will not be committed

Steps:

  1. Open Android Studio.
  2. Select "Open an existing project", and choose the root folder of the project.
  3. Allow Gradle sync and indexing to complete.
  4. If using an emulator: Launch the emulator without running an application
    • Click on the options button (three dots) on the emulator
    • Choose the location tab
    • Set a location point in Norway and click save point
    • Click set location
  5. Press Run (green play button) to launch the app on:
    • A physical Android device (with developer mode), or
    • An emulator running API level 24 or higher.

The app requires:

  • Internet connection to fetch data from external APIs.
  • Minimum Android API level 24 (targeting 34).

The app requests the devices location. If location access is denied, the app defaults to Oslofjord. If the user is located outside of Norway and its coast, the application will not work as intended. If the device is offline, API calls are paused and an error message is shown. For the application to launch properly the first time, the emulator being used must have been launched on its own at least once.

About

Our IN2000 project - Kystklar

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages