Giter VIP home page Giter VIP logo

lmn / programaker-core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from programaker-project/programaker-core

0.0 1.0 0.0 6.83 MB

Core services for Programaker and the Plaza project.

Home Page: https://programaker.com

License: Apache License 2.0

Makefile 0.12% CSS 0.82% HTML 4.04% TypeScript 43.79% Erlang 46.89% JavaScript 0.65% Shell 0.47% Dockerfile 0.12% SCSS 2.06% Python 1.03%

programaker-core's Introduction

What is Programaker?

Programaker is the project behind PrograMaker.com. It has the goal of enabling anyone to build anything, without the need for code, servers or technical expertise.

Programaker's programs are not run on your computer. Thus, it is especially suited for simple tasks that don't require a lot of computing power but that must run contiguously, for example:

  • Chat bots
  • Connections between services
  • Scheduled tasks

Programaker can be programmed using MIT's Scratch language (more in progress). Through it, and Programaker's distributed computer, the steps to create a new program are:

  • Open a new program in your web browser
  • Configure the program steps
  • Press run

(We are looking for other environments to learn from, tell us about your favourite visual automation tools!)

Bridges

Programaker bridges are the components that connect the Programaker platform with external services and devices. This is a list of some bridges in no particular order.

Name Maturity Language Description License
Hue lights [repo] Usable/Experimental Python Bridge for Phillips Hue lights Apache License 2.0
AEMET [repo] Usable/Experimental Python Bridge for Spanish Weather Agency predictions. Apache License 2.0
Meteogalicia [repo] Usable/Experimental Python Bridge for Galician weather predictions. Apache License 2.0
Twitter bridge [repo] In development Python Bridge to read data from Twitter. Apache License 2.0
Toggl bridge [repo] Usable/Experimental Python Bridge to keep track of time on Toggl platform. Apache License 2.0
Telegram bridge [repo] Usable/Experimental Python Bridge to control bots on the Telegram IM network. Apache License 2.0
Unix bridge [repo] Experimental Python/Bash Library to write bridges using Unix tools (like bash scripts). Apache License 2.0
Matrix bridge [repo] Usable/Experimental Python Bridge for the Matrix IM network. Apache License 2.0
XMPP bridge [repo] Experimental Python Bridge for the XMPP/Jabber IM network. Apache License 2.0
Gitlab bridge [repo] Experimental Python Bridge for the Gitlab plaform. Apache License 2.0
InfluxDB bridge [repo] Usable/Experimental Python Bridge for the InfluxDB time series database. Apache License 2.0

Setup

For development

Directly on the development machine

The services can be direcly run on a host machine. This is the recommended way of developing the core as it can rely on angular capabilities for reloading.

Frontend

An updated node.js version is required for this. After getting it do the following:

  • Go to the frontend directory: cd frontend
  • Install dependencies: npm install .
  • Download necessary css and font type resources using the Makefile: make
  • Start the development server: npm run start

After this, the frontend can be accessed on http://localhost:4200

Backend

An updated version of erlang and rebar3 are needed for this. After getting them do the following:

  • Go to the backend directory: cd backend
  • Get dependencies: sh ./get-deps.sh
  • Run a rebar shell (which includes a server): rebar3 shell

After this, the backend is available on http://localhost:8888 (although the operation is done normaly through the frontend).

Docker compose

A docker-compose.yml script exists to setup a base deployment of Programaker. This can be used to do some tests or as a help to develop bridges. But keep in mind that a deployment launched with this script has no redundancy and the data is not saved between executions.

  • To launch the services, run docker-compose up --build.
  • To launch the services on the background, run docker-compose up -d --build. Same command to update.
  • To stop the services, run docker-compose down.

After this, the service can be accessed on http://localhost:8080 .

Architecture overview

Image of the architecture overview

programaker-core's People

Contributors

adri1177 avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar jorgegd avatar kenkeiras avatar

Watchers

 avatar

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.