• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Maplicate/maplicate-editor: a collaborative map editor based on IPFS

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Maplicate/maplicate-editor

开源软件地址:

https://github.com/Maplicate/maplicate-editor

开源编程语言:

TypeScript 76.2%

开源软件介绍:

Maplicate

Build Status

Maplicate is a collaborative mapping tool based on a peer-to-peer network. It allows users to create and edit features on a shared map, without using a central server to host the data. The data synchronization is on a peer-to-peer network, which means

  • each participant is directly connected to the others
  • each participant receives updates in real-time
  • each participant owns a complete copy of map

preview

This tool is totally experimental and currently under massive development. It changes and breaks :-)

Implementation

Maplicate is built with three layers:

  • a map view that provides map feature visualization and editing
  • a data store that manages data update and synchronization
  • a p2e network where data is transmitted

The three layers are developed in an application using Angular and Angular Material.

Map View

The map view is created with Leaflet, a mapping library with full features and rich plugin ecosystem. We use leaflet.pm to provide map feature editing and leverage its abundant map events for data store update.

Data Store

OrbitDB servers as a data management service. Each map feature is stored in an in-memory key-value store with a unique id and a content hash.

At one end, it receives map feature update notifications (with data) from the map view, save map features in the data store, and emit the update across the p2p network.

At the other end, it listens data replication event from the p2e network, update its data store with the map features from other peers, and sends update notification to the map view.

P2P Network

Under the hook, IPFS is used to keep peers connected and synchronize data among connected peers.

Development

Setup the project locally:

$ npm install
$ npm run start

then checkout the app at localhost:4200 and play!

License

MIT @ 2018




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap