user

Archfirst

Archfirst is a place for software developers to learn technology best practices through real-world examples.


Navigation
Featured

Best Practices

JoinJS – An Alternative to Complex ORMs

Posted on August 10th, 2015.

JoinJS is a JavaScript library to map complex database joins to nested objects. It’s a simpler alternative to a full-blown Object-Relation Mapper (ORM), and gives you direct control over your database interactions. In this article, we will explore the power of JoinJS using a simple hands-on example. Motivation: Direct, no-nonsense control over your database Traditional […]

Featured

Best Practices

MyBatis vs. Other ORMs

Posted on July 1st, 2015.

Object-Relational Mapping (ORM) frameworks allow us to access relational databases from object-oriented languages. Over the years, I have used several ORMs – Hibernate/JPA for Java, Bookshelf.js and Sequelize for JavaScript, just to name a few. I was never completely satisfied with these solutions because in one way or another, they did not match my way […]

Featured

Domain Driven Design

WordPress Domain Model

Posted on June 21st, 2015.

I recently switched this site to run on WordPress. For the amount of power WordPress provides, the underlying database is surprisingly simple, consisting of only 11 tables. Nevertheless, it took me a little while to understand the schema because everything is centered around posts and it was not obvious how other concepts such as pages […]

Featured

Demo Apps

Bullsfirst REST API

Posted on March 4th, 2015.

Bullsfirst provides a RESTful API to facilitate securities trading. The implementation conforms to REST Maturity Level 2. The API exposes the following resources: Users Accounts Brokerage Accounts External Accounts Order Estimates Orders Transactions Instruments Market Prices General Concepts Following the REST architecture guidelines, we expose Bullsfirst functions as a set of resources that can be […]

Featured

Best Practices

Domain-Driven Design

Posted on February 22nd, 2015.

Domain-Driven Design, or DDD, is an approach for building high-quality software that meets core business objectives. It emphasizes collaboration among domain experts, developers, UX designers and other disciplines to create a domain model that reflects the needs of the business. This involves agreeing on common terminology (a.k.a. the Ubiquitous Language), identifying business entities, their behavior […]

Featured

Demo Apps

Bullsfirst

Posted on February 18th, 2015.

Bullsfirst is a sample trading system built to fulfill Archfirst’s goal of demonstrating how current and emerging technologies can be used to solve real world problems. It is a system of medium complexity whose domain is reasonably easy to understand. Try out the live demos to experience Bullsfirst. Resources Live Demo Technical Design REST API […]