t-recx / maritimo Goto Github PK
View Code? Open in Web Editor NEWMaritimo is a set of applications used to decode, persist and display AIS data
Home Page: https://maritimo.digital
License: MIT License
Maritimo is a set of applications used to decode, persist and display AIS data
Home Page: https://maritimo.digital
License: MIT License
Currently more than one decoder can pick up and process encoded messages from the same stream. Redis was being used to store the fragments of a message before processing them all as a unit. There is however a problem that might arise if the stream is too fast: One decoder instance might be still setting the fragment on the redis instance for the message while another decoder already started to work on the next fragment, asking for the rest of the fragments while they're still not there and throwing a PreviousFragmentsNotPresentForMessageId or NumberOfRecordedFragmentsDoesNotMatchMessageFragmentCount error.
As such both the decoder and the station applications need to be reworked if we're ever going to allow more than one decoder instance to process the same encoded messages stream:
Allow the user to select the map type they prefer.
As a user, I want to be able to view the list of atons available, so that I can get an overview of all the atons stored in the database.
A search input that should search freely on the following fields:
- Name
- MMSI
A grid with the following fields:
The grid should be paginated.
To make a decoder instance truly stateless it might make sense to store accumulated payloads outside of the decoder process, for instance in a redis or memcached server.
Care should be taken when a source id is not supplied in an AIS sentence. Maybe it might be a good idea to use the queue name has the hash key.
Create a dockerfile for decoder
Create a view talking about the project with a link to its repository and a form of communication.
Stations should be associated to a list of source addresses.
When the decoder has an exception mid-message decoding the received message is kept in the work queue stream, being picked up over and over.
Coordinates, zoom level, etc. Maybe in url query parameters.
As a user, I want to be able to create an account on the website, so I can access protected features and save personal information.
Actions in the navbar:
As a user, I want to be able to view the list of vessels available, so that I can get an overview of all the vessels stored in the database.
A search input that should search freely on the following fields:
- Name
- MMSI
- IMO
- Callsign
A grid with the following fields:
The grid should be paginated.
Add support for receiving data via-UDP.
As a user, I want to be able to view the information of a vessel, so that I can get an overview of the data related to a vessel.
Information that should be included:
As a user, I want to be able to delete my account thereby removing all data related to the account.
There should be an action to do this in the account edit view.
Allow for decoder configuration of these parameters through environment variables:
The station application currently supports reading or receiving data via TCP or UDP. To allow for more flexible testing procedures a third supported protocol should be introduced to allow the messages to be read from a file.
As a user, I want to be able to view the information of an aton, so that I can get an overview of the data related to an aton.
Information that should be included:
As a user, I want to be able to view photos that are associated to an object on the map view and the vessel view, so I can have a visual indication of what an object looks like.
As a user, I want to be able to see all photos uploaded to the website.
As an administrator, I want to be able to see unmoderated photos and allow them to be shown for the general public.
If the logged-in user has a role that allows it, the following filters should be present:
If the logged-in user has a role that allows it, the following actions should be present:
This grid should be paginated.
As a user, I want to be able to upload photos for an AIS object, so there can be a visual representation of an object in its specific page.
As a user, I want to be able to search objects directly from the navigation bar.
As a user, I want to be able to filter the live map, so that I can fine tune my view of the map.
These filters should be grouped in sections.
As a user, I want to be able to see a ship travel history through time.
Introduce a timeout in the connection and the data reception in the station application
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.