This year we moved to a new office in Plaza Urquinaona, where we have an awesome room for organizing Apiumhub software architecture meetups.
Here you can watch a short video about Apiumhub life and our new office! One of our values is never stop growing. We learn from each other and care about our personal growth. Every day, we grow our knowledge and we love sharing it with others. So, this autumn we started a series of Apiumhub meetups about software architecture and software development. Actually, you can watch a teaser with our meetups here.

Also, we created our own group in meetup, where we will publish all upcoming events, feel free t join it! 

 

1st software architecture meetup: MVP & FRP

 

First one was about software architecture, to be more precise, Christian Ciceri – Co-founder & software architect of Apiumhub gave a presentation about MVP & FRP for a controllerless architecture. And Diego Ojeda – our Android crack gave a speech about MVP & FRP
as an approach for a cleaner and purer frontend architecture.

To be honest, we were so excited about our first meetup, that we decided to grab a video with the attendees and video with the speakers. You will find them later on in the article, keep reading;).

 

MVP & FRP for a controllerless architecture

Historically, little attention has been given to front-end architecture. Right now, there are very few references regarding this topic and therefore we decided to start our Apiumhub meetups with Frontend architecture.

What we try to achieve with a good software architecture is to improve the architectural qualities of the systems on which we work, such as: modularity, sturdiness, expressivity,etc.

Here you have the presentation and the video to know more about this topic. 

 

MVP & FRP as an approach for a cleaner and purer frontend architecture

How were things a few years ago? What does a good software architecture bring us? And answers to many other questions you will find in this presentation and in the video.

 

To be honest the meetup was a success. Attendees generated interesting discussions and gave us ideas for the next ones. Most of the participants said that they were interested in Backend and DDD and therefore we decided to organize our second meetup 30th of November in our office.

 

2nd software architecture meetup: Microservices Antipatterns

 

To be honest we were thinking a lot about the topic for the second meetup and we were glad to receive a lot of suggestions. The topic that had the most votes was “DDD in practice: uncovering false microservices” and we decided why not to have a theoretical part with Christian Ciceri and a practical part with Oscar Galindo.

Let’s start with the theory. Here, Christian said that microservices are not always a good idea, even though we are big fans of this architecture. He gave several examples, shared his opinion about what Martin Fowlers says regarding microservices and listed down the books that every backend developer should read.

Here you have the presentation and the video

As for the practical part, Oscar showed examples from real projects, where you can actually see the code. Examples included: client side, server side, from microservices to a monolith, environment, etc.

Here you have his presentation with all the details.

 

3rd software architecture meetup. DDD: interface segregation

 

So many people came to our second meetup that our office simply became small for such events, therefore we already spoke with Pier01 and decided to organize our upcoming meetups in mVenturesBcn (Pl. Pau Vila, 1, Sector C, 2 nd floor). There we have a room for around 80 people and all the facilities to give quality presentation. 

This month our software architect, Christian Ciceri, went to Amsterdam to participate in Domain Driven Design Europe event. He always goes there and always says that this is a very interesting event, where he always highlights new things. 

So, this meetup was about DDD, Christian shared some useful insights gathered in Amsterdam. Also, he did a detailed analysis of some SOLID principles, putting more emphasis on Interface segregation principle. 

This meetup covered: 

a) the correct application of the principles in cases of Domains

b) its importance for the detection of macro-use cases

c) its relationship with the discovery of bounded contexts

d) the consequences when designing for collaborative systems with high concurrency

Christian was giving the theoretical part of the presentation and Román Predein shared a practical example of this topic. 

 

Here you may find their videos and presentations:

Theory by Christian Ciceri: video & presentation

Practice by Román Predein: video & presentation. If you would like to receive the code, feel free to write us and we will send it to you!

 

4th software architecture meetup. DDD: Single Responsibility Principle

 

Our meetup was held 12/04 at 19:00 in Pier01, mVenturesbcn space. And it was about DDD again. This time we looked at the Single Responsibility Principle and Decomposing Monoliths by breaking classes. 

Christian Ciceri covered the topic of decomposing Monoliths by breaking classes. And continued with the previous session, in which you looked at the relationship of the Segregation Principle Interface with the simplification of domains and collaborative systems.

In this session Christian discussed:

  • the exact definition of the Single Responsibility Principle
  • showed the advantages of the application
  • applied it to the partition of domains, and to the relationship between domains
  • valued how, within the same domain, we can start classes
  • techniques that will allow us to safely represent the state transitions until we get to generate
  • something very similar to the Algebraic Data Types in functional programming
  • multiple practical examples and the associated benefits

There werebe snacks and beer! And here you have a short video about it. 

If you are interested in videos and presentations from this meetup, here you have them:

Theoretical part by Christian Ciceri: Video & Presentation

Practical part by Joaquín Caro & Rafa Ruiz: Video

Enjoy! 

 

5th software architecture meetup. DDD: testing in microservices architecture 

 

Our 5th meetup was held 21/06 at 19:00 in Pier01, mVenturesbcn space. And it was about DDD and testing in microservices architecture. 

 

Description of the meetup:

Unit Testing, TDD and BDD have become standard practices in recent years.

We looked at how to adapt the architecture to maximize the testability by minimizing the test effort.

In this session we covered:

– how architectures inspired by “tactical” DDD optimize testability
– the same for the “strategic”, and hence the architectures in microservices
– real objectives of testing, far beyond simply ensuring quality
– main practices
– We propose the map between architecture components and types of test, with the purpose of making a test minimally coupled to the concrete implementation.

Speaker
Christian Ciceri

Here you may find the presentation and the video

 

Open space

Also, we had an Open Space session where we discussed the following questions:

  • Separate “pure” code from “impure” 
  • “Pure” logic in domain logic 
  • Lean on the compiler
  • Dependency injection is not done in domain
  • Use Stubs and Spies, no Strict Mocks
  • Isolate the service layer
  • Third-party APIs are not mocked
  • Test-Drive your API 

Here youi have the video with the discussions

If you want to find yourself on the video or see who actually attended the event, here you have the teaser. Enjoy!

 

Software architecture meetups: what will be next?  

 

Our next meetup will be in Autumn, still thinking about the daates. We are always opened to your suggestions, feel free to suggest us topics for the upcoming meetups in the comments section below! And of course, feel free to join our meetup group here

Don’t forget to subscribe to our monthly newsletter to receive more information about upcoming software architecture meetups and to be the first one to reserve your place.

Thank you for your interest! We can’t wait to meet you!

 

If you are interested in software architecture meetups and in software architecture in general, you might like…

 

Many small monoliths

Why microservices are a good idea

Almost infinite scalability 

Software architecture books