Giter Site home page Giter Site logo

swiss-birds-app's Introduction

Visit the Github Pages for this project for more app related information.

Birds of Switzerland

This is the missing app which I hoped would have been developed by Swiss Ornithological Institute (SOI). They do have a really nice website where you can lookup birds found in Switzerland and get more detailed information, but they are missing an iPhone app which makes the same information easily accessible "on the go".
This is why I started to develop this app in November 2019.

The goal is to provide an app accessing the data of the website. It should allow the user to search through the vast list of birds (by name and category) and show more details.

This app is loading the list of birds, images and sounds from the website and caches them locally, so the already fetched data can be accessed "on the go".

How to build the app

The script to prefetch the filter icons has to be executed before building the app. As the current implementation of the script is a mixture of unix shell and JavaScript, please make sure you have node.js installed on your build machine.

  1. Run the script ./fetch_data.sh in the data-scripts directory.
    This will first fetch the list of filter categories and cleanup the data (remove duplicates). (Yes, this script is overly complicated for the simple task it does today...)

  2. Run the script ./prepare_Filter.xcassets.sh
    This will create a Filter.xcassets folder containing transformed SVG symbols for the filter categories.

  3. Move the resulting Filter.xcassets into the app folder (along with Assets.xcassets): mv Filter.xcassets ../Swiss-Birds/

  4. Start-up Xcode (at least version 13 is needed as the UI is completely build using SwiftUI) and try building the app for the simulator.
    If you want to deploy the app to your device, you will have to create a LocalConfig.xcconfig file with the following content (updated to your developer account)

     // Local Config
     PRODUCT_BUNDLE_IDENTIFIER = Swiss-Birds
     DEVELOPMENT_TEAM = A1BC22XYZ
     CODE_SIGN_STYLE = Automatic
    

Acknowledgments

  1. Swiss Ornithological Institute for their information gathering and their research and conservation projects to support our native birds.
    They have also a great website with much more information.
  2. @kocher_sandra for the permission to her photograph of a Blue Tit as icon and start-up image

Impressions

iPhone Bird Search iPhone Filter Search

swiss-birds-app's People

Contributors

pd95 avatar

Stargazers

 avatar jimmy8854 avatar jcoder avatar

Watchers

James Cloos avatar  avatar

swiss-birds-app's Issues

Store favorite species

Is your feature request related to a problem? Please describe.
Everybody has some favorite birds. It should be possible to tag them and find them easily.

Describe the solution you'd like
Add some “Favorite” button to the species details screen to add a specie. The “Favorite” status can be used to filter the list, or it would be possible to list all the favorites in a separate tab/screen.

Describe alternatives you've considered
None

Additional context
None

Allow adding own notes/pictures

Is your feature request related to a problem? Please describe.
Users may see or take pictures of rare/special/loved species. There is yet no possibility to add custom information like notes/pictures/locations.
The information may even be synced across devices?

Describe the solution you'd like
From the details view of a bird it should be possible to add own notes/pictures.

Describe alternatives you've considered
None

Additional context
Perhaps it would make sense to add some “tracking flag” which allows users to mark birds which they have already seen/located. That would enable something like Pokémon Go for Swiss Birds.

Sync favorites across multiple devices

Is your feature request related to a problem? Please describe.
In issue #2 favorites management has been introduces. At the moment they are stored locally on device in UserDefaults.
It might be great for people with multiple devices (iPhone and iPad) to share the favorites automatically using iCloud.

Describe the solution you'd like
Share the favorites automatically using iCloud.
Perhaps ask the user for permission when setting the first favorite?

Describe alternatives you've considered
n/a

Additional context
n/a

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.