BTC Trading Simulator (Development)
A coin trading solution that connects to an exchange provider using its REST API and web socket endpoints.
It retrieves BTC trades and current orders in real time showing the best bids and best asks in the UI.
It also simulates trade transactions based on a 'contrarian' algorithm which creates trades based on BTC price downticks and upticks.
* Java FX8
* Concurrent programming
* Web sockets
* REST API
I created a codebase that works as a template to create SaaS projects based on a full-stack microservices architecture that integrates Spring Cloud and React.js/Redux as main technologies.
The solution combines the following services:
* Authentication service (Spring Security OAuth2).
* Discovery service (Netflix Eureka).
* Database service (PostgreSQL).
* Configuration service (Spring Configuration)
* API services (Spring Boot)
* Single-page web application (React/Redux).
* Behavior-driven development module that verifies the system's specifications by running E2E tests.
Technologies: Spring Cloud, React.js, ES6, Gradle, Cucumber, JsonPath, Webpack, Lodash.js, JDBC.
Monedero Bingo API Services (Development)
Monedero Bingo is a SaaS solution that allows companies give loyalty points to their customers and clients using their phone number. Customers can redeem their points to get promotions and giveaways.
It provides a robust REST API service intended for internal use but also aimed to external clients.
It also has a BDD module that specifies the system features using Cucumber Gherkin syntax and validates them by running functional E2E tests.
Technologies: Spring IoC, Java, EasyMock, JDBC, PostgreSQL, Cucumber.
Monedero Bingo Web App (Development)
Single-page web app that consumes Monedero Bingo API services and allows companies to configure redemption and promotion strategies.
Technologies: AngularJS, Mocha, Bootstrap, CSS, HTML.
Monedero Bingo Android App (Development)
Xaldo - Mobile App for Service Bill Management (Development)
Android App and API services platform that allows the user to check and pay their bills from multiple providers in one single place.
Blog Website (Other amazing things)
Static web project hosted in GitHub web pages whose content is generated using Jekyll.
It's a simple but elegant project which elegance is reflected in the website.
Progreso Mobile (Development)
Mobile Android app the allows users to transfer money between accounts, make service payments, and check account balance history among other banking transactions.
Test-driven React.js Development: React.js Unit Testing with Enzyme and Jest (Publication)
Any piece of code that has no tests is said to be legacy code according to Michael Feathers. Therefore, one of the best ways to avoid creating legacy code is using test-driven development (TDD).