Coder Social home page Coder Social logo

cargo-elixir's People

Contributors

allenan avatar amirhaleem avatar kent-williams avatar mbthiery avatar vagabond avatar vicmgs avatar

Stargazers

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

Watchers

 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

cargo-elixir's Issues

Error with docker-compose version

Hi, I'm getting below error when trying to deploy the project with docker-compose version:

How can I fix the issue? Many thanks in advance!

time="2023-05-21T11:08:24+02:00" level=warning msg="The \"SECRET_KEY_BASE\" variable is not set. Defaulting to a blank string."
[+] Building 2.8s (6/23)
 => [internal] load .dockerignore                                                                                                                                                       0.0s 
 => => transferring context: 2B                                                                                                                                                         0.0s 
 => [internal] load build definition from Dockerfile                                                                                                                                    0.1s 
 => => transferring dockerfile: 784B                                                                                                                                                    0.0s 
 => [internal] load metadata for docker.io/library/elixir:1.9-alpine                                                                                                                    0.7s 
 => [internal] load build context                                                                                                                                                       0.1s 
 => => transferring context: 4.36kB                                                                                                                                                     0.0s 
 => CACHED [ 1/19] FROM docker.io/library/elixir:1.9-alpine@sha256:4fb83dba35436dfa0c7af1f7d82f571c6571b2a7f59b49ce37dfa5308d97ca54                                                     0.0s 
 => ERROR [ 2/19] RUN apk add --update git build-base nodejs npm yarn python bash openssl postgresql-client                                                                             2.1s 
------
 > [ 2/19] RUN apk add --update git build-base nodejs npm yarn python bash openssl postgresql-client:
#0 0.540 fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
#0 0.891 fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
#0 1.429 ERROR: unable to select packages:
#0 1.476   python (no such package):
#0 1.476     required by: world[python]
------
failed to solve: process "/bin/sh -c apk add --update git build-base nodejs npm yarn python bash openssl postgresql-client" did not complete successfully: exit code: 1

Some hotspot data not available on map

Not all hotspots are being fetched by the MapScreen. This means the mouseover feature which draws a line from a packet to the hotspot that received it does not work for all hotspots. It looks like only 10,000 hotspots are loaded out of the current 15,000+ per this code.

const spots = await list.take(10000)

This is a nice to have issue and by no means critical functionality. If the limit of 10,000 is intentional, perhaps the list of hotspots can be filtered based on the current view of the map instead of pulling from all hotspots which returns the most recent 10,000 regardless of whether they are on the map or no.

Change speed to km/h or m/s

Currently the Cargo integration requires data in a mix of SI/Metric and Imperial units. Because Helium is being used across the globe, and not only in the US, it would make more sense to use SI units.

The only field that is currently not in SI units is speed.

Changing the expected unit of the speed field would result in a lot of incorrect data being ingested. We therefore need a migration plan. I suggest something like this:

  1. Add new optional fields speed_ms, speed_kph, speed_mph, speed_knots for metre per second, kilometres per hour, miles per hour and knots (as reported in NMEA) respectively.
  2. Stop ingesting the speed field.
  3. (optional) After a couple of months re-enable speed and interpret it as km/h.

Add H3 hex grid in unmapped areas.

Problem: The mappers overlay helps a lot to chart new territory, but it becomes difficult to recognize where distinct hexes might lie just a few spaces from mapped areas. In other words, the mapping benefit of the mappers overlay only helps if there are already mapped hexes in the area.

Solution: Include outlines of empty hexes across the entire map when the community map is enabled.

  • In my experimentation, white hex outlines of 5% opacity felt like enough to hint at hex borders.
  • Mappers data is currently represented in hex res 9 - this additional overlay should match.
  • Hex res 9 will bring devices to their knees when rendered on a zoomed-out map. The hex borders should only be rendered at closer zoom levels. I didn't determine an ideal zoom level in my testing.
    • Edit: Zoom 12 and up seem appropriate to show the grid. Maybe 13 to be safe.
  • Hex overlay appears in conjunction with the mappers data, controlled by the in-app switch.

Figure: crude representation using h3 outlines as an overlay on the cargo app
image

Long term: My understanding is that this overlay is best rendered using h3 and geojson2h3 on the client side. This sets up Cargo to ingest and draw h3 indexes directly in app. This would allow us to reduce the mappers payload by passing h3 indexes with their associated RSSI instead of the rendered polygons for those regions.

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.