Code Miner's journal

Welcome to the Code Miner's Journal - a blog from Code Mine company.

We are an experienced team of developers, highly motivated and passion about development. Our main field of work is web app development using PHP and frameworks such as Zend Framework (1 and 2), Symfony2, Laravel and more. Other technologies like Java, .NET and Java Script for one page applications are also nothing new to us.

Why such name? Because we love our district. We came from Katowice, Poland - heart of industrial region in our country, famous for it’s vintage mine shafts that are now transformed into cultural buildings. We are doing the same, we are building new, hi-tech industry and changing our city into polish silicon valley. We are more than happy to cultivate this tradition and that's why our name and logo are connected with it.

Go to our website -

Designing Value Objects

Figuring out how Value Objects should be designed is a hard task. There is lot of decisions to be made and each project will have different requirements. Fortunately there are some golden rules that we can use everywhere, in every project and language.

Can design of business domain influence end user experience?

Visual part of almost all software projects, the one that is presented directly to end user is often perceived as something entirely different from „true“ development of backend applications. User experience designers are having hard time being recognized as important assets of dev teams. Their jobs are also not so easy with tons of requirements from the backend guys. But despite this difficulties, can we work together to improve overall quality of UX?

Automatic GitHub release notes and built package from Circle CI

Recently we wanted to automate release process and have better reporting of what changes made it to the release. We are using CircleCi for CI and Jira as an issue tracker. Because we are not using GitHub’s internal issue system we needed to find different solution for generating release notes automatically. Fortunately we have found good solution. Here is Gist with configuration.

Taking care of large entities in DDD project – read models

I have noticed that some developers (including myself) often have a problem with wrapping head around aggregate roots that have a lot of child entities. Let’s think about a common example of “Order” and it’s “Items”.  It’s one of the most popular problems used as an explanation in DDD books and resources.

Changing Apache to Nginx with PHP FPM on Elastic Beanstalk – Amazon Web Services

Recently I needed to change apache to nginx on Amazon Elastic Beanstalk and after few hours of fight I manage to get decent way to do this and I decide to share that knowledge with community as this was really painful process initialy.

Before I start I must say that this works with AMI ami-25b49852. Probably this tutorial will work also with all other Amazon Linux distros but I am not guarantee this 😉

Become a Code Miner, czyli Fedruj z Code Mine.

Hello folks,
Code Mine is hiring!
We are looking for PHP developers that will join us and make our Company even… better. If you are a determined person and you have an ability to focus on business problem that Software should solve instead of focusing on technology first, we want you!
All you need to know is some OOP, PHP, Mysql and JavaScript.

oAuth endpoint in Apigility Documentation

Apigility is great and we use it all the time. There is one problem with this framework though. Build in oAuth 2 server is lacking it’s documentation that Apigility provides. It’s not a terrible problem, usage of oAuth is quite simple but it would be nice to have all endpoints documented in the same place.

Fortunately there is a solution to this problem. Thanks to modular structure of Zend Framework, we are able to modify factory that is responsible for building services in Apigility and include oath endpoint in documentation.

…and we have started!

Hello, and welcome to our journal. My fellow team members and I will try to pass as much knowledge, fun news and details and interesting stuff from our office as possible. Each Code Miner will provide slightly different content, so you can expect to find various topics that can span from software architecture and language tips to human resources, marketing and sales.

You can always be up to date with news from our Journal by following us on one of the social profiles (or all of them if you want). For all of you that prefer mail updates, there is a newsletter, to witch you can sign up.

Stay tuned for updates.


Adam Grabek and Code Mine Management