Brave 3.0 - Part 4 - Technologies behind and final series recap

Technologies used to develop a commercial website of the custom software development company. Those technologies improve website performance and effectiveness.
Brave 3.0 - Part 4 - Technologies behind and final series recap

We are a Python & JavaScript software development company with experience in building dedicated apps based on Django. We wanted to have a customizable website that we can improve day by day and where marketing people can edit content in a convenient way.

There are tons of available Content Management Systems...

Why have we decided to use Django-CMS?

  • National Geographic
  • NASA
  • Parrot
  • PBS
  • AAMC
  • Salt.
  • L'Oréal Paris

For now, it is a mature piece of code written in Python. Django-CMS has over a dozen built-in plugins. We can easily build our own, and that is another factor why we decided to use this software.

We need to know that there is no perfect CMS. Sometimes WordPress will be enough, but as far as we are Django enthusiasts, it was easier to use our favorite language and framework.

Why monolithic?

If you forget about SEO before programming, you will have a lot of problems with hacking your software to work correctly for generic SEO, e.g. you will have to use the Server Side Rendering techniques. Our previous website was built with Angular2. From the SEO point of view, it was a big mistake. Owing to the fact that we have lost one year of generic SEO (sic!), Angular wasn’t the best choice for that kind of website.

Technologies and tools around the website

Building the website is not only about marketing communication, mockups, wireframes, designing, and coding. There are tons of libraries and tools which enable us to build a highly performed website. If you don’t know them yet, you can check them now:

DockerHow many times have you been asked about generic SEO? Whenever you hear it - ask yourself either you have monolithic or “modern” frontend app built-in with React.js/Angular/Vue.js?

If you forget about SEO before programming, you will have a lot of problems with hacking your software to work correctly for generic SEO, e.g. you will have to use the Server Side Rendering techniques. Our previous website was built with Angular2. From the SEO point of view, it was a big mistake. Owing to the fact that we have lost one year of generic SEO (sic!), Angular wasn’t the best choice for that kind of website.

Technologies and tools around the website

Building the website is not only about marketing communication, mockups, wireframes, designing, and coding. There are tons of libraries and tools which enable us to build a highly performed website. If you don’t know them yet, you can check them now:

Docker

Sentry

Newrelic

If yes, you need to check the powerful Newrelic platform. In the free plan, you can easily monitor common problems on different layers, such as databases, external services, etc.. In a paid plan, everything around performance problems is very easy to find and analyze.

Cloudflare

However, how can we check what is wrong when the users left our page just after they opened it? The answer is a Hotjar platform. It is a useful tool to analyze users’ behavior and catch the weak points of the website.

Iubenda

Facebook Tracking Pixel

A few words about SEO

What does performance look like?

  • Redis cache
  • Cloudflare cache
  • Optimized templates (e.g with a statement in Django)

PWA - Web Progressive Apps

During the development process, we decided to adjust the setup in order to use our website as a PWA application. Hopefully, we have found the Django app, which could handle everything that we needed to start. The Django app allows us to set up every PWA option via Django settings. Here, you can find out more information. Some time ago, we wrote an article about PWA, where you can read about the advantages and disadvantages of the approach of doing mobile apps. If you want to see more examples of using PWA in action, please visit our partner’s site: https://onilab.com/blog/20-progressive-web-apps-examples/.

Pros & Cons of the tech stack

The transformation of the website enabled us to meet our marketing and performance assumptions. Of course there is always room for improvement. We are aware that we use a niche CMS and that for typical websites, Python is less popular language than PHP, so from my perspective:

Pros

  • Modern and customizable CMS
  • Complete website - not only a simple page but with full of marketing tools
  • We can improve things really fast

Cons

  • Niche CMS with fewer plugins than WordPress

Plan for the future development

For now, we are going to develop and polish some unfinished modules, and then we will start to improve the content quality.

Summary

We decided to build the website ourselves. However it was not easy to make this decision. There is a belief that Software Houses cannot build their own website because of a lack of agreement during the designing process. Yes, it was difficult to ensure that everyone, who was involved in the project, is on the same page. Moreover, there are always commercial projects to do.Therefore, the internal projects are often put aside. One of the biggest challenges is to always set objectives and priorities. As a manager, you need to be sure that you will find time to manage the in-house project. Finally, we haven’t decided about the project’s deadline. We assumed that the project should be improved continuously. We finished core development and now we are focused on the content and quality improvements.

You need to remember that tools around the bravelab.io are very helpful in building custom web applications too. If you want to improve your app please,let us know, we will help you.

Need Help with This?

Building something similar or facing technical challenges? We've been there.

Let's talk — no sales pitch, just honest engineering advice.