DaFunk is a Embedded System Framework optimized for programmer happiness and sustainable productivity. It encourages modulatiry by adapter pattern an beautiful code by favoring convention over configuration.
This project was created to run on top of mruby runtime, and it's part of bigger ecosystem created by CloudWalk to help embedded delopers, to undertand better why CloudWalk creat it, check the DaFunk Ecosystem session.
DaFunk is a gem to be used in MRuby environment, to provide the environment we created a CLI that is able to create, compile, run and test DaFunk Apps. You can check CloudWalk Runtime Setup Page
Project creation flow in Ruby environment:
cloudwalk new project
cd project
bundle install
bundle exec rake test:unit
For more advanced users only wanting to use the iso8583
module, here's how you require it:
require 'da_funk/iso8583'
Using mruby we have created some projects that are the basis of the CloudWalk ecosystem of developing payment applications for POS terminals.
mruby-cloudwalk-platform is the project responsible for the homologation/support of new devices, using mruby's toolkit this repository provides support for cross-compilation of new platforms, and the minimal and modular API between the device (in C) and the da_funk framework (in Ruby).
For more informations check the mruby-cloudwalk-platform wiki page and mruby page.
[da_funk] (https://github.com/cloudwalkio/da_funk) is an embedded system framework optimized for programmer happiness and productivity in a sustainable environment, it encourages, modularity using Adapter Pattern, and a beautiful code using convention on configuration.
cloudwalk cli is the project responsible to create, execute, test and deploy the application.
Check CloudWalk blog post about the motiviations create the this, here.
This repository contains a set of files and folder that compose the DaFunk API. The structure goes as follows:
- The
guides
directory, which contains a group of files that are intended to instruct how to use our framework. - An
imgs
directory, containing a picture that references the creative origins of this project. - A
lib
directory, which holds the main source code of our Framework API.lib/da_funk
- DaFunk API, Helpers, Communication, Froms everything not related to a Device in order to help the developer.lib/device
- Interface between DaFunk API and homologate device
- An
out
directory, which has a previous generated binary of this project. All builds target this directory. - A
test
directory with example test cases. Tests are divided by integration tests and unit tests.
Please follow the instructions:
- Fork it under your github account!
- Create your feature branch
git checkout -b my-new-feature
- Commit your changes
git commit -am 'Added some feature'
- Push to the branch
git push origin my-new-feature
- Create a new Pull Request!
This project is released under the MIT License.