This article is a clone of the original offline:
http://experimentsinmeteor.com/package-based-architecture/
Author:
Nick Riebeek
Furthermore it was used for the design of the framework KeplerJs and inspiration to write the article:
Software Architecture for large-scale NodeJS applications

I recently viewed a great screen cast by Sacha Grief where he explains Telescope’s package based architecture.

We’re going to take an existing application and apply the principles laid out in Sacha’s screen cast to convert the application to a package based architecture. We’ll be replicating a lot of the conventions used in Telescope such as utilizing a lib and core package.

Why packages?

So before we get going, what’s the point of using a package based architecture?
Well, there are a number of reasons that Sacha covers in his screen…


This article consider the large-scale Javascript NodeJS/Meteor applications architecture and treat the case study of the framework KeplerJs.

This article is work in progress…
UPDATES:
19 March 2018 (Plugins dependecies section)
24 March 2018 (Templates section)
4 February 2019 (Templates section)
31 January 2020 (Package.js)

I will to explain how to structure scalable applications designed to greatly increase their complexity, facilitating contributions and organizing the source code in a sustainable way from today until the end of the universe.

Image for post
Image for post
arrows are the dependencies, green are the base packages and the plugin packages are yellow.

Kepler is a open source geosocial framework that allow to aggregate different geospatial data sources in a single application, the data sources are many and varied then the structuring of the code requires a care in the organization of the logic that implements each of them to give space to personalization and special cases of work. It is also an open source project then is need this logic is simple to understand, any developer who wants to contribute to the project should be able to do it in a few minutes without having to study long implementation and reference manuals.
One of the problems with using new frameworks (especially in javascript) lies in the fact that their learning curve is often too steep for the new contributors. In Kepler we tried to avoid this problem by avoiding adding too many new concepts specific of the framework, but working with some simple concepts already present in the minds of javascript programmers, both novices and experts. …


Statistics on data and users are a very important part of a social platform. This article describes which tools have been developed to control and analyze some quantitative aspects of the KeplerJs platform.

This article is work in progress…
UPDATES:
2 April 2018 (charts integration)

Image for post
Image for post
keplerjs.io shows geostatistical data about demo platform in realtime

Homepage redesign integrates data generated from official demo.
The data is produced by the new plugin keplerjs:stats

A new experimental plugin that allows you to publish through a REST interface some aggregated geostatistical data coming directly from the platform’s database, preserving user’s privacy.

Image for post
Image for post
Statistics on the growth of new users and data created

The plugin produces statistics that highlights the social activity of users and published places, based on Geostats for statistical classification. …


Hi everybody devs!

In recent months I have resumed working on my very large Meteor project, the biggest of my experience in Meteor, after a part of rewriting for supporting pkg-based architecture and a plugins system now is published and it is online and released under MIT license.

KeplerJs

It is an open source Geosocial solution that allows users to create and share favorite places and join discussions, checkin in places in real-time.
It can be seen as a platform where users can interact with other open data platforms searching across OpenStreetMap, Geonames among other sources, importing data in order to create a new social layer above them. For full list of features see here.

Project Homepage:
keplerjs.io

Documentation:
docs.keplerjs.io

Demo online:
demo.keplerjs.io

Repository:
github.com/Keplerjs

Best Regards,
Stefano Cudini
labs.easyblog.it


Image for post
Image for post

The open source full-stack geosocial network platform.

The latest open source geosocial solution that lets users share favorite places and join discussions in real-time. It can be seen as a platform where users can interact with other open data platforms searching across OpenStreetMap, Geonames among other sources. The name as the best Meteor tradition wants to remain in the space field, “Kepler” is inspired by Kepler space telescope and wants to be seen as an sequel of the first big Meteor projects Telescope current VulcanJS.

Mission

Allows users to collect and georeferencing places on a modern web-mapping interface, describe them accurately, create relationships, sharing with other users and create a social environment. In addition to creating new place you can import pre-existing objects from Openstreetmap creating a social layer over OpenStreetMap. A place in KeplerJs can be linked to metadata from different data sources automatically, it can be anything that has a geographic location fixed or movable, real or virtual. …


docs.keplerjs.io

The basic project documentation has been written and published on a dedicated website. The docs is subdivided into categories accessible online has a modern and responsive layout. It self is an open source project and you can report problems or translation errors in its issue reporting.

About

Stefano Cudini

open source developer http://labs.easyblog.it

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store