Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[gsoc] Added project idea for improving the general map: mobile locations, indoor map, linkable URLs #183

Merged
merged 4 commits into from
Feb 12, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions developer/gsoc-ideas-2024.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,93 @@ General suggestions and warnings
Project Ideas
-------------

Improve OpenWISP General Map: Indoor, Mobile, Linkable URLs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: ../images/gsoc/ideas/2024/maps.jpg

.. Important::

Languages and technologies used:
**Python**, **Django**, **JavaScript**,
**Leaflet**, **netjsongraph.js**.

**Mentors**: Federico Capoano, Gagan Deep.

**Project size**: 350 hours.

**Difficulty rate**: medium.

This GSoC project aims to elevate the user experience of the general map
of OpenWISP, which was added in the last stable version.

By creating a dedicated map page, enabling
precise device tracking, and seamlessly integrating indoor floorplans,
the project endeavors to significantly enhance the usability and
functionality of the mapping interface, ensuring a more intuitive
and effective user experience.

Pre-requisites to work on this project
######################################

The applicant must demonstrate good understanding of Python, Django,
`Leaflet library <https://github.com/makinacorpus/django-leaflet>`_,
Javascript, `OpenWISP Controller
<https://github.com/openwisp/openwisp-controller#openwisp-controller>`__,
`OpenWISP Monitoring
<https://github.com/openwisp/openwisp-monitoring#openwisp-monitoring>`__.
and `netjsongraph.js
<https://github.com/openwisp/netjsongraph.js?tab=readme-ov-file#netjsongraphjs>`__.

Expected outcomes
#################

- `Add a dedicated map page
<https://github.com/openwisp/openwisp-monitoring/issues/561>`_:
Add a dedicated page to display all network devices on a map
(similar to the map on the dashboard). This dedicated page will
provide users with a comprehensive overview of device locations,
improving visibility and ease of navigation.
- `Allow locating a device on the map
<https://github.com/openwisp/openwisp-monitoring/issues/562>`_:
Add a URL in the device's page to locate a it on the map.
The map should focus (adjust zoom level and center) the device
in question.
- `Allow tracking mobile co-ordinates
<https://github.com/openwisp/openwisp-controller/issues/828>`_:
OpenWISP Controller provides a way for devices to update their
co-ordinates. The map should be updated to reflect the updated
co-ordinates of such mobile devices.
- `Integrate indoor floorplan functionality in the map
<https://github.com/openwisp/openwisp-monitoring/issues/564>`_:
Implement functionality to support indoor locations within the
general map interface. When zooming in on a device located indoors,
users should see an option to switch to the indoor view.
This view would show the floorplan of the indoor location
and account for the following use cases:
- An indoor location can have multiple floors. The view should be
allow users to navigate between different floors.
- There can be multiple devices on the same floor. The view should
show all the devices on a floor. This will require developing an
`API endpoint which returns location of devices on the floorplan
<https://github.com/openwisp/openwisp-controller/issues/828>`_.

At each step of code changing the test coverage must be maintained stable
and the documentation in the README must be kept up to date.

.. note::

The "expected outcomes" provided above include links to corresponding
GitHub issues. However, these issues may not encompass all aspects of
the project and are primarily created to gather technical details.
Applicants are encouraged to seek clarification and propose solutions.

Applicants are also expected to deepen their understanding of the UI
changes required by utilizing *wireframes* / *mockups*, which must be
included in their application. Demonstrated willingness and enthusiasm
to learn about UI/UX development are crucial for the success of this
project idea.

Improve UX and Flexibility of the Firmware Upgrader Module
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
Binary file added images/gsoc/ideas/2024/maps.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading