Coder Social home page Coder Social logo

nextcloud-maps-client's Introduction

Nextcloud Maps Geofavorites Logo

Nextcloud Maps Geofavorites Android app

Get it on F-Droid

(Always prefer F-Droid build, when possible).

UNOFFICIAL and FOSS Nextcloud Maps client at its earliest stages of developement. Shows your Nextcloud Maps geofavorites in a list and a map. Geofavorites can be opened in all apps supporting geo links (i.e. Google Maps, Organic Maps etc...). A new geofavorite can be created on current location, by sharing a "geo:" uri from another app or manually picking from the map.

Requires Maps app to be installed on the Nextcloud instance.

This work is heavily based on matiasdelellis's Nextcloud SSO example to implement Nextcloud single sign on.

Screenshot 1 Screenshot 2 Screenshot 3

nextcloud-maps-client's People

Contributors

penguin86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nextcloud-maps-client's Issues

Accuracy bar

The color of the accuracy bar does not match the application theme.

obraz

App:
Nextcloud Maps Geobookmarks v0.3.3

Text edit cursor

The text edit cursor should not be black in color. I propose to match the color to the theme of the application.

obraz

App:
Nextcloud Maps Geobookmarks v0.3.3

App crashes immediately after opening if bookmarks contain entry with empty name

Immediately after launching the app and choosing the account, the app's interface shows only for a brief while (with no entries) and the app closes.

I am using Nextcloud 23.0.2, but the issue was there with 22.2.5 as well as 21.x and 20.x (I did the updates today) and Maps 0.1.10 on the server side and Geobookmarks app 0.3.4 from F-Droid on Android 10 (EMUI 10.0.0).
Clearing the app data, and reinstalling it doesn't help.

I have multiple NC accounts synced on the phone and over 410 bookmarks in the Maps in multiple categories on the affected account. The app interface stays open when the phone is not connected to the internet.

Manual query with curl --user USER:TOKEN https://SERVER/index.php/apps/maps/api/1.0/favorites is also successful.
There are some "peculiarities" in the API response, that might cause the issue. The entries are mostly imported from Google Maps and also contain non-ASCII letters if this might be an issue. Comments include HTML syntax, so quotation marks are escaped.

The app interface also stays open if i sync it with a dummy account with no data on server.

Offline Support

Hi,

The app looks awesome already! I like the design a lot! One thing that I find lacking is offline support though. It would be cool if the items available from the server could be cached on the sevice, as well as, new entries created while out of cell coverage could be synced as soon cell coverage returns.

Tile view

When you view the tile, you can see a bit of the date, which is redundant.

obraz

App:
Nextcloud Maps Geobookmarks v0.3.3

[Enhancement] Address input support

Totally love this app. With it i dont have to make an account outside of my nextcloud to keep my places bookmarked. Itll be useful if you can add a location by inputting the address, that way if you want to add all the addresses from say, google maps or waze, youll be able to do so.. itll ease the migration process.

I dont know how to code but i thought a good idea for implementation would be to use something like openstreetmaps or whatever FOSS map service there is.. maybe, it can fetch the maps API from the nextcloud Maps app and use that to resolve the addresses coordinations if thats needed.. i dont know, but i hope this idea may prove of some use.

Attach Pictures to waypoint

Hello,
possibility to attach pictures to created waypoints. The taken pictures should be stored with waypoints in folder/categories as the waypoints at the server. The attached pictures should be named by the name of the created waypoint (name with timestamp) or better, if the picture is taken in the app, the "name" and "description" of the waypoint where the picture should be attached, should be stored in the jpg file of the picture at the IPTC format (https://iptc.org/standards/photo-metadata/).

Map view

One of the next features to implement is a navigable map view to show as an alternative to the list view.
The geobookmarks are shown on the map with pins colored with the category color.
The map is filterable by category and searchable as freetext.
When the app is opened, should remember which view was shown last between map or list, and show the same.

The map also supports being opened with a single geobookmark as parameter when the geobookmark detail header map is clicked: in that case only the provided geobookmark will be shown in a navigable map.

[Enhancement] Other location markers

Instead of the blue pins that seem pretty bulky to me I would prefer smaller circles. Would it be possible for the user to select a custom location marker that is used on the map?

Feature Request: Distance/Heading Info

It would be amazing if we could show and sort by distance to each Favorite.

Distance in default decimal units (km/mi) to the Favorite, and rough heading (cardinal direction marker?) would be sweet to see in the list.

Sorting by distance would also be amazing.

Would work nicely with the Map View feature request.

[enhancement] optional post device position

It would be nice to set the device position when app is running. The device position is set e.g. when nextcloud maps is opened in browser. Why not in the maps client itself?

Support for Google Maps Uris

Google maps doesn't honor geouri standard, instead implements its own uri.
A geouri opens google maps, but the position is ignored, so it is needed to use gmaps own uri.

Memorandum for me: see commit cf6f097

Being able to create a point on the map manually

Hi,

For what I understand, we can only create from our own position at a moment. It would super useless to be able to select by ourselves a point on the map to create the Geopoint !

Another idea: Being able to import geo point from others apps through Share:
Being on Google Maps --> Select point --> Share --> Create Geopoint in Geobookmarks

These are only enhancements, your app is already super useful thank you very much !

Regards

Category icon

The category icon is associated more with the lack of a user avatar rather than a category. You should change the icon to, for example, "Location", which will be more associated with the categories of locations.

obraz

App:
Nextcloud Maps Geobookmarks v0.3.3

Map sharing implementation

@tacruc implemented a system to share maps (including favorites) with other users in the nextcloud maps app.

He says:

So the way the Sharing works is actually via the files app.
So you create a custom map, all info required for this map is stored in the folder. Therefore sharing the folder gives other users access to the map. The id of the custom map is the folderId of the corresponding folder.
So for your bookmap app, we could either add the mapId to the rest API. For sharing the api for files can be used.
Or you load the geojson file stroing the favorites via the android files app.

This issue is to implement the sharing feature on this app.

Implement geofavorite edit

Implement edit: allow user to edit an existing geofavorite. In edit mode, the MapPickerActivity is displayed and centered on the current geofavorite position. On cancel, the user is brought back to unmodified GeofavoriteDetailActivity, on accept the user is brought back and the position is updated. If the user saves on GeofavoriteDetailActivity, the geofavorite is synced with the server as usual.

Button color for sorting

The color of the button for sorting should match the theme of the application.

obraz

App:
Nextcloud Maps Geobookmarks v0.3.3

Coordinate not open in Google Maps

Hello,

is there a possibility that I can't open the saved coordinates in Google Maps but in another app of my choice (e.g. OSM And or Organic Maps)?

NorVoi

"Geobookmark" or "Geofavorite"

Inconsistency in text strings.
For example, in the header and in the information of the delete window, geobookmark is:

<string name="dialog_delete_title">Delete geobookmark</string>

<string name="dialog_delete_message">You are about to delete geobookmark {name}. Proceed?</string>

However, the delete message already contains "geofavorite":

<string name="list_geofavorite_deleted">Geofavorite deleted</string>
<string name="list_geofavorite_connection_error">Unable to obtain geofavorites list</string>

In my opinion it should be "geobookmark" if we refer to "geofavorites". Same here, it should be standardized whether it is about "geobookmark" or "geofavorites".

<string name="location_permission_required">Location permission is required to create a geofavorite.</string>

<string name="error_saving_geofavorite">Unable to save geofavorite</string>

Dark theme

Could it be possible to add a dark theme to the app?

Cryptographic APIs misuses

I'm a PhD student interested in finding security vulnerabilities in open source projects.

We found a total of 02 warnings (indicating potential vulnerabilities) when running the CogniCrypt static analyzer (*) on Nextcloud Maps Geofavorites Android app (or its library dependencies). We documented each one of these issues in private gists for the sake of confidentiality (non-disclosure).

Can you please let us know whether we can share these gists with you? We are eager to evaluate the perception of developers (e.g. severity of these warnings) and improve Nextcloud Maps Geofavorites Android app's security, and the quality of the reports of static analysis tools.

(*) https://github.com/CROSSINGTUD/CryptoAnalysis

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.