All Projects → JockDaRock → Time2code

JockDaRock / Time2code

Licence: mit
Portable Scalable web code editor to integrate into your sites and learning experiences

Programming Languages

python
139335 projects - #7 most used programming language
ruby
36898 projects - #4 most used programming language
golang
3204 projects
powershell
5483 projects
csharp
926 projects
fortran
972 projects

Projects that are alternatives of or similar to Time2code

Gofn
Function process via docker provider (serverless minimalist)
Stars: ✭ 134 (-54.42%)
Mutual labels:  serverless, faas, swarm
Fn
The container native, cloud agnostic serverless platform.
Stars: ✭ 5,046 (+1616.33%)
Mutual labels:  serverless, faas, swarm
dockside
Dockside is a tool for provisioning lightweight access-controlled IDEs, staging environments and sandboxes - aka 'devtainers' - on local machine, on-premises raw metal or VM, or in the cloud
Stars: ✭ 205 (-30.27%)
Mutual labels:  ide, coding
traefik-ondemand-service
Traefik ondemand service for the traefik ondemand plugin
Stars: ✭ 35 (-88.1%)
Mutual labels:  docker-swarm, swarm
serverless
BlueNimble is a Hybrid Serverless Platform focusing on developer productivity and application portability. Create and run scalable APIs and applications without coding or by coding less. Focus on application business logic without any knowledge of the underlying microservices architecture.
Stars: ✭ 30 (-89.8%)
Mutual labels:  faas, swarm
Funker
Functions as Docker containers
Stars: ✭ 244 (-17.01%)
Mutual labels:  serverless, swarm
Jazz
Platform to develop and manage serverless applications at an enterprise scale!
Stars: ✭ 254 (-13.61%)
Mutual labels:  serverless, faas
trafficjam
A Docker firewall for your reverse proxy network
Stars: ✭ 79 (-73.13%)
Mutual labels:  docker-swarm, swarm
Bref
Serverless PHP on AWS Lambda
Stars: ✭ 2,382 (+710.2%)
Mutual labels:  serverless, faas
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (-83.67%)
Mutual labels:  docker-swarm, swarm
swarm-gcp-faas
Setup OpenFaaS on Google Cloud with Terraform, Docker Swarm and Weave
Stars: ✭ 15 (-94.9%)
Mutual labels:  docker-swarm, faas
traefik-ondemand-plugin
Traefik plugin to scale containers on demand
Stars: ✭ 149 (-49.32%)
Mutual labels:  docker-swarm, swarm
Openwhisk Deploy Kube
The Apache OpenWhisk Kubernetes Deployment repository supports deploying the Apache OpenWhisk system on Kubernetes and OpenShift clusters.
Stars: ✭ 231 (-21.43%)
Mutual labels:  serverless, faas
Malagu
Malagu Development Framework (QQ: 1013685855 钉钉群:31992376)
Stars: ✭ 196 (-33.33%)
Mutual labels:  serverless, faas
Docs
User documentation for Knative components.
Stars: ✭ 3,106 (+956.46%)
Mutual labels:  serverless, faas
Firecamp
Serverless Platform for the stateful services
Stars: ✭ 194 (-34.01%)
Mutual labels:  serverless, swarm
swarm-router
Scalable stateless «zero config» service-name ingress for docker swarm mode with a fresh more secure approach
Stars: ✭ 58 (-80.27%)
Mutual labels:  docker-swarm, swarm
LilSholex
A project containing web apps and Telegram API bots.
Stars: ✭ 32 (-89.12%)
Mutual labels:  docker-swarm, swarm
Templates
OpenFaaS Classic templates
Stars: ✭ 189 (-35.71%)
Mutual labels:  serverless, faas
Malagu
Malagu is a Serverless First, component-based, platform-independent, progressive application framework based on TypeScript.
Stars: ✭ 184 (-37.41%)
Mutual labels:  serverless, faas

Time2Code

A portable, scalable web based code editor to integrate into your code learning experiences.

The goal is to make deploying your own web based code editor easier and more fun.

Tech Overview

  • The Code execution backend is built off of the serverless FaaS Framework for scalability and ability to support many languages. Support for k8s is ready through faas-netes and appears to be working well.

  • UI Modelled after the wonderful Play-with-Moby Site and the wonderful work the guys at Play-With-Docker do to make our Docker Learning Experiences Better.

  • Function handling and code execution are being handled by Python processes. Python handles the STDIN of all of the function requests and then passes it to the desired language for interpretation and execution or compilation and execution.

  • Web site is being driven by the Flask Framework as a Swarm service.

  • Code editor is built from Ace Editor project.

  • Terminal is built from XTermJS.

Up and Running

Docker Swarm

The following snippet will initialize your swarm, Time2Code, FaaS and Time2code functions.

$ docker swarm init --advertise-addr eth0 && \
  git clone https://github.com/JockDaRock/Time2Code && \
  cd Time2Code && \
  bash time2deploy.sh && \
  docker service ls

If you are on your laptop navigate to http://127.0.0.1:5555 and start coding.

Play-with-Docker

Note: Play-with-Docker now requires you to have a Docker Hub account to use it. It is free to signup, if you don't have one I would suggest to get an account on Docker Hub.

Try in PWD

Click the Try in PWD and get started with Time2Code quickly. Once your PWD instance is up and running click on the 5555 tag and start coding.

Kubernetes (minikube)

You will need to have minikube installed before you begin.

Type the following snippets will get minikube started and faas-netes loaded into the kube cluster.

$ git clone https://github.com/JockDaRock/Time2Code

$ minikube start or $ minikube start --vm-driver=xhyve

Then run the following bash script to load FaaS and Time2Code...

`$ bash ./minikube.sh'

Once the script is complete it will provide you with the url, like this http://192.168.99.100:31114/, to reach the Time2Code web editor. BEFORE you start using it, you will need to deploy the code execution functions after the FaaS services have started. It might take a minute or two for all of the necessary Kube pods to be Running. Keep checking the pods with kubectl get pods.

To deploy the functions use the following command in your terminal.

$ faas-cli -action deploy -f ./time2code-faas-cli-minikube.yml

Once the kube pods for the code execution are running you can get to coding :)!

Latest News

Time2Code: Functions as Service and Code as a Function

Coding Languages Currently Supported

  • Python, Golang, Powershell, NodeJS, ... more coming very soon.

  • Currently working on... I am currently working C# code execution. Most of my tests are running well, but need to iron out some necessary dependencies and other issues.

Repos for language specific code execution handlers

Roadmap and Contributing

Currently in progress:

  • Adding markdown and instruction functionality to accompany code execution. - check and check

  • Add language dependency builder for code execution functions.

  • Kubernetes Support - check and check

Time2Code is written mostly in HTML and Javascript on the FrontEnd, Python and Flask to handle the WebIDE pages, and Python on the backend to handle code language execution on the OpenFaaS framework. This project is MIT licensed - contributions are welcomed whether that means providing feedback, testing existing and new features or hacking on the source. This project is still in early stages so I need to people to generally try functionality and provide feedback. I need help building new code execution handlers for different languages or suggestions for languages to add. I also need help reducing the image sizes for the Microsoft languages handlers (Powershell and C#).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].