Creating Cron Jobs in Clojure
Demystify FP Blog - Tamizhvendan S
by
5y ago
In the last blog post, we processed the messages from IBM-MQ and relayed the information to the marketplace. In this blog post, we are going to focus on adding cron jobs to our existing infrastructure. The cron jobs pull the data from the marketplace, perform some transformation and send it to the Order Management System(OMS) via IBM-MQ. This blog post is a part 8 of the blog series Building an E-Commerce Marketplace Middleware in Clojure. We will be following the Functional Core, Imperative Shell technique in this implementation as well by keeping the Cron job infrastructure at the applic ..read more
Visit website
Ranging Items In E-Commerce Marketplaces
Demystify FP Blog - Tamizhvendan S
by
5y ago
In this seventh part of the blog series Building an E-Commerce Marketplace Middleware in Clojure, I am going to share how we captured a business operation from the client’s Order Management System(OMS) processed it in a marketplace. Ranging is an activity in the OMS that turn on the visibility of an item in a marketplace and make it available for sale. The reverse operation is Deranging, which unlist the item from the marketplace. There are two more operations Inventorying and Pricing which updates the inventory and the pricing of the items in the marketplace, respectively. The back-office t ..read more
Visit website
Processing Messages From IBM-MQ in Clojure
Demystify FP Blog - Tamizhvendan S
by
5y ago
The Order Management System(OMS) of our client exposes its operations in the form of messages via IBM-MQ. In this blog post, we are going to focus on setting up the infrastructure to receive and process these messages in our application. This blog post is a part 6 of the blog series Building an E-Commerce Marketplace Middleware in Clojure. Setting up IBM-MQ for Local Development We are going to leverage the IBM-MQ’s developers edition docker image for the local development. The steps for running it are as follows. These steps assumes that you have docker installed in your machine. # Pul ..read more
Visit website
Using Slack as Log Appender
Demystify FP Blog - Tamizhvendan S
by
5y ago
The back-office team of our client has an active slack based workflow for most of their systems. As this middleware is going to be another system that they need to keep track of, they asked us to send messages on Slack if the middleware encounters an error during its operation. In this blog post, I am going to share how we did it in Clojure using Timbre. This blog post is a part 5 of the blog series Building an E-Commerce Marketplace Middleware in Clojure. Slack Incoming Webhooks Slack has the mechanism of Incoming Webhooks that provides a simple way to post messages from any application ..read more
Visit website
Storing Log Events in Postgres Using Toucan
Demystify FP Blog - Tamizhvendan S
by
5y ago
In the last blog post, we configured Timbre to log the events in the Console. In this blog post, we are going to add a database appender to persist the domain level events alone in Postgres using Toucan. This blog post is a part 4 of the blog series Building an E-Commerce Marketplace Middleware in Clojure. Adding Migration Script Let’s get started by adding the migration script to create the event table in the database. > mkdir -p resources/db/migration > touch resources/db/migration/V201910021105__create_event.sql -- V201910021105__create_event.sql CREATE TYPE event_level AS ENU ..read more
Visit website
Configuring Logging Using Timbre
Demystify FP Blog - Tamizhvendan S
by
5y ago
In the first two blog posts of the blog series Building an E-Commerce Marketplace Middleware in Clojure, we learnt how to bootstrap a Clojure project using Mount & Aero and how to configure database connection pooling & database migration along with reloaded workflow. We are going to continue setting up the infrastructure, and in this blog post, we are going to take up logging using Timbre. Timbre is a Clojure/Script logging library that enables to configure logging using a simple Clojure map. If you ever had a hard time dealing with complex (XML based) configuration setup for logging ..read more
Visit website
Configuring Database Connection Pooling, Migration and Reloaded Workflow
Demystify FP Blog - Tamizhvendan S
by
5y ago
In the last blog post, we bootstrapped the Clojure project using Mount and Aero. We are going to continue from we left off and configure database connection pooling, migration & Reloaded Workflow in this blog post. This blog post is a part 2 of the blog series Building an E-Commerce Marketplace Middleware in Clojure. Configuring Hikari-CP Let’s get started by adding the hikari-cp, a Clojure wrapper to HikariCP, and the Postgres driver dependencies in the project.clj. (defproject wheel "0.1.0-SNAPSHOT" ; ... :dependencies [; ... [org.postgresql/postgresql "42.2.6 ..read more
Visit website
Bootstrapping Clojure Project Using Mount And Aero
Demystify FP Blog - Tamizhvendan S
by
5y ago
In this blog post, we are going to focus on bootstrapping the Clojure project using Mount & Aero and interacting with the application using the REPL. This blog post is a part 1 of the blog series Building an E-Commerce Marketplace Middleware in Clojure. Getting Started Let’s get started by creating a new app project using Leiningen and give it a project name wheel. lein new app wheel Reading Configuration To manage the application-level configuration, we are going to use Aero. ; project.clj (defproject wheel "0.1.0-SNAPSHOT" ; ... :dependencies [[org.clojure/clojure "1.10.1 ..read more
Visit website
Building an E-Commerce Marketplace Middleware in Clojure
Demystify FP Blog - Tamizhvendan S
by
5y ago
We recently built an e-commerce marketplace middleware for a leading retail chain for consumer electronics & durables. The middleware enables them to sell their products on multiple e-commerce sites seamlessly. Through this blog post series, I am planning to share how we developed it in Clojure by building a minimal version of it. Problem Statement The retailer (our client) runs 134 stores across 32 cities in India. In addition to this, they sell their products in e-commerce marketplaces Tata-Cliq, Amazon and Flipkart. For managing the products inventory, updating the pricing of the pr ..read more
Visit website

Follow Demystify FP - Tamizhvendan S Blog on FeedSpot

Continue with Google
Continue with Apple
OR