Giter Site home page Giter Site logo

hackerfleet / hfos-legacy Goto Github PK

View Code? Open in Web Editor NEW
29.0 15.0 4.0 3.42 MB

Hackerfleet Operating System

License: GNU Affero General Public License v3.0

Python 65.68% JavaScript 20.84% HTML 11.87% CSS 1.44% Shell 0.17%
python collaboration decentralized productivity navigation framework circuits scientific microservices event-driven

hfos-legacy's Introduction

Build Status

Quality

Coverage

Requirements Status

IRC Channel

HFOS - The Hackerfleet Operating System

A collaborative and modular infrastructure for your data.

  • Geo Information Use a sophisticated map to annotate and review geographical information
  • Vehicle support Attach a sailyacht, your camper or pack one in your backpack
  • Project planning Issue tracking for collaborative teams
  • Modular Expandable with integrated modules, build your own
  • Cloud independent Run nodes on your own infrastructure

Installation

There is more than one way of installing HFOS, see the quickstart instructions for those.

The simplest way is to use the supplied installation script:

The installation produces a lot of output which is automatically piped into 'output.log'. It installs all dependencies then sets up a user account and the system's services. This assumes, that you're not running another web server on port 443 and that your firewall is configured to allow communications on that port. HFOS modules may require additional open ports, to find out about that, read their readme files.

If you run into trouble or get any unexpected errors, contact us or try the complex installation procedure.

Modules

The system is modular, so you can install what you need and leave other things.

A lot of the included modules are still Work in Progress, so help out, if you're interested in a powerful - cloud independent - collaboration tool suite.

General modules

These are 'official' Hackerfleet developed modules. If you'd like to contribute your own, ping [email protected], to get it added to the list.

Name Description
sails Web UI, compatible with all modern browsers
automat Automation for non programmers
alert User alerting and notification system
calc Integrated EtherCalc
camera Camera support
chat Integrated chat
comms Communication package
countables Count arbitrary things
dash Dashboard information system
enrol Enrollment (new user) management
equipment Equipment management
filemanager File management
garden Garden automation tools
ldap LDAP user authorization
library Library management
mesh Mesh networking
nodestate Node wide status system
polls Tool for lightweight internet voting
project Project management tools
protocols Miscellaneous communication protocols
robot RC remote control unit
shareables Shared resource blocking tool
switchboard Virtual switchboard
wiki Etherpad + Wiki = awesomeness

Many of these are not yet fully usable, so please help out and perhaps take ownership of one (or more) of them!

Navigation (Hackerfleet) modules

We primarily focused on navigation tools, so these are currently the 'more usable' modules. They are far from complete, see the WiP list below.

Obligatory Warning: Do not use for navigational purposes! Always have up to date paper maps and know how to use them!

Name Description
anchor Automatic anchor safety watcher
busrepeater Tool to repeat navigation data bus frames to other media
logbook Displaying and manual logging of important (nautical) events
maps (Offline) moving maps with shareable views/layers
navdata Navigational data module
nmea NMEA-0183 Navigation data and AIS bus parser
webguides Importer for skipperguide.de wiki content into the map

Work in progress

  • Full GDAL based vector chart support (Currently only raster charts)
  • Dynamic Logbook
  • GRIB data (in charts)
  • Navigation aides, planning
  • Datalog, automated navigational data exchange
  • Crew management, more safety tools
  • wireless crew network and general communications

Bugs & Discussion

Please research any bugs you find via our Github issue tracker for HFOS and report them, if they're still unknown.

If you want to discuss distributed, opensource (or maritime) technology in general incl. where we're heading, head over to our Github discussion forum ...which is cleverly disguised as a Github issue tracker.

You can also find us here:

Note

Please be patient when using IRC, responses might take a few hours!

Contributors

Code

Assets

  • Fabulous icons by iconmonstr.com and Hackerfleet contributors

Support

  • c-base e.V. our home base, the spacestation below Berlin Mitte
  • Lassulus for hosting and nix expertise
  • Jetbrains s.r.o for the opensource license of their ultimate IDE
  • Github for hosting our code
  • Gitlab for hosting our code ;)
  • Travis.CI for continuous integration services
  • BrowserStack for cross device testing capabilities

License

Copyright (C) 2011-2018 riot <[email protected]> and others.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

-- โ›ต ๐Ÿ‘

hfos-legacy's People

Contributors

addy2342 avatar anm avatar ri0t avatar waffle-iron 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

Watchers

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

Forkers

addy2342 ri0t anm

hfos-legacy's Issues

Tackle performance issues

Issue by ri0t
Tuesday Aug 26, 2014 at 13:26 GMT
Originally opened as Hackerfleet/hfos_old#20


Some component is spinning madly and would be eating all the battery power if left unfixed.

  • find component
  • fix

A temporary (bad) workaround is the 'handbrake' - a sleeping, non threaded component to decelerate the whole system so it uses less CPU. Yuk. shudders

Epic: User generated geojson

  • Frontend integration
    • Leaflet.Draw configuration
    • Data handling
    • Preliminary transmission to node
  • Schemata for encapsulating object
    • GeoJSON schemata
  • Accept sent layer data from clients
  • Store data to the db with uuid reference
  • Return a list of shared & own content
  • Return geoJSON from db on request

[CLOSED] Input validation component

Issue by ri0t
Sunday Aug 17, 2014 at 13:28 GMT
Originally opened as Hackerfleet/hfos_old#8


Needs a (few?) component(s) to validate given input from outside.

Ideally this beast is capable of testing everything we could ever get from anywhere (i.e. webclients, nmea busses, etc.)

Manage external javascript dependencies in a sane and dev friendly way

Issue by ri0t
Sunday Aug 17, 2014 at 13:03 GMT
Originally opened as Hackerfleet/hfos_old#3


github still thinks this is a javascript repository. Ugh. Carrying all those static dependency files is plain wrong and bad.
The process looks like this:

  • Generate hfos-frontend repository
  • Populate with basic angular, testing, grunt, etc.pp. using yeoman
  • Insert leaflet and other dependencies
  • Somehow get the rest inside
  • Move HTML and javascript tidbits over to the resulting app
  • Kick out every frontend crap from hfos
  • Integrate hfos-frontend as subrepo into hfos
  • Link Web delivery or do something else to dish out the app itself

Epic: Remote Control

  • Controller settings
  • Controllables
  • Controllable feedback
  • Basic Gamepad/Joystick interface
  • Transmitter/Target coupling
  • Controller settings interface

Add non-map provisioning

Issue by ri0t
Monday Sep 01, 2014 at 10:46 GMT
Originally opened as Hackerfleet/hfos_old#24


  • Profile
  • User account
  • Remote control
  • Layers
  • Situation (Detailed! See #92)
  • Navigation map objects
  • Crew data (rev 1.1!)
  • Vessel data
  • Logbook data - needs rework after #23 is done
  • Map views
  • Checklist data (rev 1.1?)
  • Misc objects (rev 1.1?)

Add preferences pane to profile

Needs prefs for

  • User settings
  • User profile data
  • Alerts (no content yet - also no schemata data)
  • Client configurations (not wired in yet)
  • Map
  • Navdisplay? (Maybe better there)
  • ...

Build OSDM visualization

Issue by ri0t
Thursday Sep 25, 2014 at 21:50 GMT
Originally opened as Hackerfleet/hfos_old#29


  • Client:
    • Map layer
    • Vector vessel icon?
    • Vessel drawing
    • Metadata drawing
    • Vessel table
  • Node:
    • Vessel table
    • Vessel table mockup data ;)
    • Vessel table provider

Epic: Offline rendered seamaps

  • Initial smrender setup & testing
  • rendered Helgoland using only offline data
  • Checkout daemon
  • Integrate into backend
  • Build clientside render map selector (rectangle selection)
  • Download OSeaM data
  • Limiting
    • By OSM limits? (How do editors like JOSM know what can be downloaded?)
    • By rendering time estimation (uh oh)
    • Limit to maximum effective rendered area (in highest zoom level) instead?
  • Caching and distribution of rendered data
  • Handling of rendered maps' metainfo
    • update & rerender
    • std operations

Test client in a device lab

Issue by ri0t
Tuesday Aug 26, 2014 at 18:18 GMT
Originally opened as Hackerfleet/hfos_old#21


Co.Up has a device lab! Nice.
c-base has an older device zoo and a nice variety of member phones ;)

Needs to happen a few more times before milestone is reached:

  • First test (soon!)
  • Second test (when?)
  • Third test (when?)
  • Prerelease test (when?)
  • Final release test (hahaha..)

Rebuild web mechanics based on JSON transfer only

Issue by ri0t
Thursday Sep 25, 2014 at 21:57 GMT
Originally opened as Hackerfleet/hfos_old#30


There is some mess from experiments leftover that needs to be cleared and migrated to a unified setup.

This involves carefully redesigning the frontend to work/cooperate in a clean way. Angular might be a choice, but might also be too complex here. I'm experimenting with another setup on github.com/ri0t/johannes and some other even more crazy implementations i have in my private workshed.

Build vm containerization

Issue by ri0t
Sunday Aug 17, 2014 at 13:30 GMT
Originally opened as Hackerfleet/hfos_old#9


Needs to be "realistic" i.e. hardware conforming, must enable (from-outside) testing and Q&A automation.
Should integrate with CoreOS, so we can easily upgrade Boxen's firmwares safely.

Raster chart support

Issue by ri0t
Tuesday Oct 07, 2014 at 11:48 GMT
Originally opened as Hackerfleet/hfos_old#38


...of ANY kind would be cool, but this is difficult.

  • Probably not easy to render with Leaflet
  • Doesn't create any longterm happiness, since we want to move to vectors
  • Add component responsible for producing the output from all known formats
  • Enable registration of newly created tilelayers in above component
  • Add frontend component to allow upload and management of layers

Epic: Dashboard

  • Integrate gridster.js (via deckster.js :)
  • Add basic digital readout
  • Add basic analog readout
  • Add basic course readout
  • Add Misc
  • Store configuration
  • Read configuration
  • Update mechanism
  • Interactive adding/removing
  • Better css (hide unneeded elements)

Epic: MapView sharing support

MapViews are leaflet viewport center indicators simply built thus:
{'lat': 12.345, 'lon': 6.789, 'zoom': 12} (See hfos/schemata/coords.py)

They shall be shareable and changes to them subscriptable by clients so the map controller can synchronize views from users.

Needs quite some things:
Node:

  • MapView Schemata
  • Database factory
  • Handling Component
    • Storage of updates
    • Broadcast of updates
    • Subscription management
    • Actions
    • Listing

Client:

  • Local MapView change notification
  • Broadcast evaluation
  • Listing of shared views
  • Subscription actions
  • Add n..n relationship for Maps/Mapviews

Epic: Basic documentation package

  • Add an online lecture/tutorial (1.0)
  • Screencasts for all elements ((half-)automated, via tests?)
  • Frontend Docs (some 1.0)
  • Backend Docs
    • Docstrings (not yet perfect)
  • Printable Docs/Manual?
  • Coverage management!
  • Demo component
    • Flesh out demo playback
    • generate/aquire demo content

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.