All Projects → cyber-dojo → Cyber Dojo

cyber-dojo / Cyber Dojo

Licence: bsd-2-clause
home repo for the cyber-dojo organization

Programming Languages

shell
77523 projects

Labels

Projects that are alternatives of or similar to Cyber Dojo

Ouzo
Ouzo Framework - PHP MVC ORM
Stars: ✭ 66 (-40.54%)
Mutual labels:  tdd
Building Testable Apis With Nodejs Code
Repositório oficial do código utilizado no livro Construindo APIs testáveis com Node.js 📗
Stars: ✭ 87 (-21.62%)
Mutual labels:  tdd
Study Path
An organized learning path about Clean Code, Test-Driven Development, Legacy Code, Refactoring, Domain-Driven Design and Microservice Architecture
Stars: ✭ 1,357 (+1122.52%)
Mutual labels:  tdd
Web
repo for the cyberdojo/web Docker image; a cyber-dojo microservice
Stars: ✭ 70 (-36.94%)
Mutual labels:  tdd
Autoparams
Arbitrary test data generator for parameterized tests in Java inspired by AutoFixture.
Stars: ✭ 77 (-30.63%)
Mutual labels:  tdd
Symfony 3 Rest Api Example
Symfony 3 RESTful API Example
Stars: ✭ 90 (-18.92%)
Mutual labels:  tdd
Aspnet Core Clean Arch
It is a clean architecture project template which is based on hexagonal-architecture principles built with .Net core.
Stars: ✭ 60 (-45.95%)
Mutual labels:  tdd
Jest Extended
Additional Jest matchers 🃏💪
Stars: ✭ 1,763 (+1488.29%)
Mutual labels:  tdd
Dompet
A personal bookkeeping web application, built with Laravel 5.
Stars: ✭ 87 (-21.62%)
Mutual labels:  tdd
Cucumberjvmexamples
Cucumber JVM with Selenium Java
Stars: ✭ 98 (-11.71%)
Mutual labels:  tdd
Go Dynamock
Amazon Dynamo DB Mock Driver for Golang to Test Database Interactions
Stars: ✭ 71 (-36.04%)
Mutual labels:  tdd
Nimoy
A testing and specification framework for Python 3
Stars: ✭ 76 (-31.53%)
Mutual labels:  tdd
Ddd Tdd Rich Domain Model Dojo Kata
DDD patterns implemented following TDD
Stars: ✭ 91 (-18.02%)
Mutual labels:  tdd
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (-38.74%)
Mutual labels:  tdd
Snitch
Snitch is the tool that keeps your tests under surveillence.
Stars: ✭ 100 (-9.91%)
Mutual labels:  tdd
Rgviperchat
An iOS chat app written following a VIPER architecture and BDD
Stars: ✭ 65 (-41.44%)
Mutual labels:  tdd
Android Base
Android Clean Architecture MVP RESTful client template app
Stars: ✭ 87 (-21.62%)
Mutual labels:  tdd
Todo
✅ Commad-Line Task management with storage on your GitHub 🔥
Stars: ✭ 111 (+0%)
Mutual labels:  tdd
Laracom
Laravel FREE E-Commerce Software
Stars: ✭ 1,570 (+1314.41%)
Mutual labels:  tdd
Js Unit Testing Guide
📙 A guide to unit testing in Javascript
Stars: ✭ 1,346 (+1112.61%)
Mutual labels:  tdd

Hi. Welcome to cyber-dojo :-)



running a server on Kubernetes

Follow these instructions


running a server on docker

Follow these instructions to install the cyber-dojo bash script and to prepare your server.

$ cyber-dojo up
...
$ cyber-dojo version
Version: 0.1.19
   Type: public
...

running a server on docker swarm

This is exploratory only and may be dropped without notice. Follow these instructions to install the cyber-dojo bash script and to prepare your server.

$ export CYBER_DOJO_SWARM=true
$ cyber-dojo up

listing the current version

$ cyber-dojo version
Version: 0.1.23
   Type: public

listing installed versions

From 0.1.50 onwards:

$ cyber-dojo version ls
0.1.49              2019-11-21 21:31:09 +0000 UTC
0.1.48              2019-11-20 12:52:04 +0000 UTC
...
0.1.21              2019-08-07 11:51:48 +0000 UTC
...

updating the server to the latest version

$ cyber-dojo update latest
$ cyber-dojo version
Version: 0.1.49
   Type: public
...
# Now make it live...
$ cyber-dojo up
Using version=0.1.49 (public)
...

setting the server to a specific version

$ cyber-dojo update 0.1.21
$ cyber-dojo version
Version: 0.1.21
   Type: public
...
# Now make it live...
$ cyber-dojo up
Using version=0.1.21 (public)
...

overriding the default port

By default your cyber-dojo server will be on port 80.

  • Override this port using the command-line argument --port. Eg
    $ cyber-dojo up --port=8000
    ...
    Using port=8000
    ...
    

overriding the default start-point images

overriding the default nginx image

  • By default your cyber-dojo server will use cyberdojo/nginx as its nginx service image (tagged appropriately).
  • From 0.1.47 onwards you can override this by exporting two environment variables. Eg
    $ export CYBER_DOJO_NGINX_IMAGE=cucumber/nginx
    $ export CYBER_DOJO_NGINX_TAG=efd7e37
    $ cyber-dojo up ...
    ...
    Using nginx=cucumber/nginx:efd7e37
    ...
    

overriding the default rails web image

  • By default your cyber-dojo server will use cyberdojo/web as its web service image (tagged appropriately).
  • From 0.1.28 onwards you can override this by exporting two environment variables. Eg
    $ export CYBER_DOJO_WEB_IMAGE=turtlesec/web
    $ export CYBER_DOJO_WEB_TAG=84d6d0e
    $ cyber-dojo up ...
    ...
    Using web=turtlesec/web:84d6d0e
    ...
    

overriding the default dot env files

  • There are default .env files for the web and nginx services.
  • You can override these by exporting two environment variables set to the absolute path of your own .env file. Eg
    $ export CYBER_DOJO_NGINX_ENV=/home/fred/my_nginx.env
    $ export CYBER_DOJO_WEB_ENV=/home/fred/my_web.env
    $ cyber-dojo up
    ...
    Using nginx.env=/home/fred/my_nginx.env (custom)
    Using web.env=/home/fred/my_web.env (custom)
    ...
    

From 0.1.131 onwards, when an exercise starts a welcome dialog displays traffic-light information. You can turn off this dialog with the following web.env entry:

STARTING_INFO_DIALOG=off

From 0.1.137 onwards, there is an experimental REPL service for Python. You can turn this on with the following web.env entry:

REPL=on

From 0.1.291 onwards, you can turn off the review page's [fork] button with the following web.env entry:

FORK_BUTTON=off

Micro Services

Each repo in the github cyber-dojo organization builds a single docker image. The main kubernetes backed https://cyber-dojo.org uses:

  • CircleCI custom-start-points - serves the custom start-points.
  • CircleCI exercises-start-points - serves the exercises start-points.
  • CircleCI languages-start-points - serves the languages start-points.
  • CircleCI creator - creates exercises (group and individual) with unique ids.
  • CircleCI dashboard - a group session dashboard.
  • CircleCI differ - diffs two sets of files.
  • CircleCI model - API to persist group/individual katas.
  • CircleCI nginx - web-proxy, security, images (jpg) cache, and service routing.
  • CircleCI runner - runs the tests and returns a [stdout,stderr,status,timed_out,colour] tuple.
  • CircleCI saver - a simple file-system API for volume-mounted host dir.
  • CircleCI web - rails web-server serving the core test and review pages.

Locally running servers also use:

  • CircleCI commander - receives commands from the cyber-dojo shell script
  • CircleCI versioner - holds consistent sets of image tags for all cyber-dojo services

Image Dependencies

Image Dependency Graph


Domain Model

Domain model


Screenshots

cyber-dojo.org home page

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].