dFusionTech, Inc.
Published in

dFusionTech, Inc.

The Story of One Project

During our 12-years of experience working on Java development, we’ve never shared the stories of our successful projects. So as it says it is better to be later than never.

Needless to say, that, collaborating remotely nowadays is not a problem and this post is not really about it.

In fact, it is a review of our project. The main reason for this was successfully finishing the development process. But in the case of NDA, we should omit some real names.

So let’s start…

This project is a complex of Back-End and Front- End applications that manage different technologies and integrate with a couple of 3rd party media content providers. The main purpose of the system is to build the ‘next generation’s’ tool for content owners to distribute and monetize their media and to become a convenient and flexible tool for media consumers. Therefore, the goal of the system is ‘to become sweet home for Content Creators and a Playground for Fans!’

Our team started with a single Back-End Developer who became a part of the international development team.

For that moment, the Back- End application was only able to find YouTube videos by YouTube’s channel ID using a single thread at that time. So our goal was to extend the Back-End functionality and provide an ability to use scalable multi-thread and multi-node application’s configuration.

Later, the team grew up on our side and a couple of Back-End and Front- End developers joined the team; we also had our own DevOps Engineer on the project. The goal set was also expanded and we started to get tasks on the new media content generation and automation of the applications lifecycle.

Moreover, our team was also involved in the development of the predictive engine- integration with the 3rd party systems and media content analysis.

Our main challenges were Client-Side one — a single-page application that uses AngularJS because it is a new open-source web application framework being maintained by Google and it is a very powerful tool for creating single-page web applications. We’ve implemented a proper authentication/authorization strategy and any sensitive data can be accessed via server-side API.

And Server-Side app is a multi-purpose application that is used to:

- fill the project’s knowledgebase with the media content from all over the web (YouTube, Facebook, Reddit, Vimeo, various MRSS feeds, etc.);

- prepare new media content automatically or by the user’s request (highlight reels, gifs, memes, etc.);

- analyze video-related threads and extract relevant parts that people had reacted to within their effort;

- predict user’s behaviour based on its previous actions and pick the most appropriate content to build automatic playlists, aggregate content, etc.

So at first, we use MongoDB as the main data storage. Then we use a set of distributed Back- End applications over the cloud. Some of them are powered with Java, some with Node.js, Scala, etc. As a messaging system between the components, we use RabbitMQ. On the Front- End, there is a web application built with AngularJS, Node.js, Bootstrap and a set of mobile applications for most popular platforms. Wide technology stack allows us to prove our previous experience and give a chance to discover a new one.

And, how about you? What projects from your job history motivate you to move ahead?

Originally published on Linkedin.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store