Code Monkey home page Code Monkey logo

depnav's Introduction

App icon

DepNav – Department Navigator

Codacy Badge Known Vulnerabilities

DepNav is an Android application for viewing indoor maps of departments and searching for specific rooms on them.

The following maps are available:

  • Mathematics and Mechanics Faculty, St. Petersburg State University
  • Faculty of Physics, St. Petersburg State University
Get it on Google Play AppGallery

Features

With DepNav you can do the following:

  • View the available maps by floors
  • Search for specific rooms and other objects on the selected map with the built-in search
  • Enjoy Material UI 3 in selectable light and dark themes
  • Two languages available: English and Russian
Map Search Info

Get it!

The following download sources are available:

  • Google Play or AppGallery (recommended) – install DepNav from app stores and receive its updates automatically

  • APK – download, install, and update DepNav manually

Android 5.0 or newer required.

depnav's People

Contributors

timpushkin 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

Watchers

 avatar

depnav's Issues

Use marker clustering instead of lazy-loading

Currently markers are lazy-loaded, but clustering seems to perform better.

  • It can be optional (a switch setting between the current behavior and clustering can be provided)
  • Clustering may be applied only to rooms, while other types of markers can use fade animation
  • If a cluster only includes rooms from a single block (which have the same prefix) it can display this prefix (for example, if a cluster consist of rooms 2212, 2213, 2209 it may look like 22xx) -- this would require encoding marker blocks in their IDs

Search results ranking with weighted fields

Improve marker search results ranking to weight text fields differently: results whose title matches the query should be ranked higher than the ones whose location or description matches. E.g. use Okapi BM25F as a ranker instead of BM25F.

Problems related to border area

If padding of a map is too low, the following problems arise:

  1. Centering on some markers close to the border doesn't really place them in the center of the screen.
  2. Search button at the top of the screen may cover parts of the map close to the top border.

The first problem may be solved by playing some animation attracting attention to the marker that was centered.

The second one may be solved by adding functionality to hide the UI.

Легенда карты

Некоторые обозначения интуитивно непонятны, например звездочки и стрелочки вверх. Было бы удобнее иметь легенду карты.

In-app theme picker

Currently GUI theme is determined solely on the system's theme. Add an option to pick GUI theme from the app itself.

Mathematics and Mechanics Faculty, SPbU subdivisions

Mathematics and Mechanics Faculty at SPbU is divided into several parts, which is reflected in room names. It could be also reflected on the map somehow to help students get used to the internal organization of the faculty.

Show marker info after search

After a user finds a marker via search activity, bottom sheet needs to be displayed along with centering on the marker.

Improve map zooming

Zoom acts weird when map is zoomed out: it first centers the map and only then zooms into the desired point.

It is more of a MapCompose issue.

Add zoom-in hint

When the map is zoom-out so that markers are invisible, show a small hint to help a user understand that he needs to zoom in to see the markers.

Let users pick markers to be displayed

Add floating action button opening a menu of checkboxes using which a user would be able to pick only the markers they want to see. The categories to choose from are:

  • Entrances
  • Rooms
  • Stairs and elevators
  • Restrooms
  • Other
  • Closed

Hide room markers on low scale

When a user scales out and more map area becomes visible, room markers become very distracting covering most of the screen area.

  • Hide all unhighlighted markers when not zoomed in
  • Keep only highlighted marker when one is present

Double tap + slide zoom gesture

Google and other popular map apps have this double tap + slide zooming gesture: "One finger zooming by double tapping but not releasing on the second tap, and then sliding the finger up to zoom out, or down to zoom in" -- would be nice to also have this here.

Sort search results

Currently marker search results appear to be strangely ordered, so some sorting needs to be added

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.