Post for the Audience

Apache Camel ™ is a versatile open-source integration framework based on known Enterprise Integration System.

Sound complicated? I will explain to you in easy terms by breaking it down. First is the open-source integration framework. Open-source means to be able to contribute to a repo on platforms like Github for instance. Moving to the next term, the integration framework means to be able to communicate among software applications. This framework is built using a set of patterns, one being EIP. What is EIP now? It’s an abbreviation for Enterprise Integration Patterns. Well, it’s a book describing 65 patterns for use of message-oriented middleware.

Apache camel has 6 sub-projects currently and I am working on the improvement of the camel website. The link is here! In my opinion, anyone with the knowledge of CSS, JS & HTML can work on this repo but it would take time to understand its structure (don’t worry, mentors, help you out!). I have currently contributed to camel-website, camel & camel-quarkus repo and I learn more and develop and remember to enjoy.

Camel Website is a documentation based website where its major goal is to be a platform from which the devs can easily get a grasp on Apache Camel or any of its other projects. Thus, the design of the website needs to take care of being minimalistic and also readable. The design is created in the account of all different kinds of users that would land on the page. As there is high traffic, we need to make the website very easy to use and also responsive of course.

What excites me about this project is that for every issue I try to solve related to the website or come up with a new design alternative when I implement it, I end up learning something new or at least I am better than what I used to be as a dev.

The first major thing I learned is everything about AsciiDoctor (Adoc) and how the camel-website works with Hugo and Antora. Their docs are so easy to understand as well! Other than that, I learned how to use the maven and use it to autogenerate the files for the camel repo i.e. part of the build-up of the website as well. The most recent thing I learned was flex-basis (took 2 days to search the right term and land on the perfect blog for implementation of design). That blog helped me with the easier implementation of the website, kudos to it!

The confusion was just how the generation of the nav menu panel on each docs page took place through the camel repo. Took me a week to understand and come up with proper logic on how to generate the custom nav panel using gulpfile.js. Other than that, I didn’t face much problem yet, it’s a fun ride as to date!