Advantages of a Python Based Web Stack

Unified Management

A Python based web stack will allow for a unified and integrated management of all tools, information, data and more. Unified management will allow Pelican to manage the platform using a single system, which will greatly facilitate the management, maintenance and evolution of the solution. All of the technological choices below are Python based which makes for perfect compatibiliy and an elegant solution. The ease of use of the system reduces training costs and allows for significant time savings.


Open Source Technologies

All technologies chosen for this project are open source and meet all of Pelican’s requirements. There are no licensing costs and these technologies will be supported for decades. The chosen programming language is the most popular in the world, with a community of over 10 million developers with an additional of 1.6M per year. These Enterprise Level technologies are used by companies such as Google, Spotify, Instagram and Netflix, among others.


Headless

Headless technologies are a new trend in modern software that decouple the back end from the front end for efficiency and flexibility purposes. Typically, a headless system would provide an API that can connect the back end with any front end technology. This flexibility allows developers to use any front end technology that fits the requirements of their project. It allows for scalability, for testing different customer facing UIs, and for swapping different front end components without impacting the rest of the software. A big advantage of headless technologies is using the same back end for web and mobile. So in the future if we were to introduce a mobile application, we will only need to build the front end of the app without touching any of the back end code. This is a big cost saving and makes applications future proof.


Evolution of the solution

Because of the flexible and solid technological choices, it will be possible to evolve the solution by adding functionalities, information and integrations. We will be able to develop, for example, an API that will allow other systems to draw data from our tool. It will be possible to create mobile applications or to expand the fields of activity covered by the platform.

The Recommended Technologies

Python is now the fastest growing programming language, used by over 8.2 million active developers. Python’s popularity is due, among other things, to its ease of implementation, its large community and documentation, its speed of development and its integration with other programming languages.

Despite its simplicity, Python is a powerful language. It is a development language that allows great flexibility and ease of maintenance that will allow for a longer project life. There are libraries for just about anything which removes bottlenecks in complex or large projects.

Popular sites made with Python:

  • Google
  • Spotify
  • The Washington Post
  • Dropbox
  • Firefox
  • Netflix
  • Youtube
  • Instagram
  • Uber
  • NASA

Django is an open-source Python framework, also with a large community. Used for large projects such as Instagram and Pinterest, it is a powerful and rich framework with extensive and up-to-date documentation.

Thanks to its maturity, Django offers a robust, flexible and secure solution. Django takes security seriously and has built-in features that help developers avoid many common security mistakes.

Django provides powerful administration features and user management out of the box. It also has a large community support and is one of the most stable and reliable web application frameworks making it ideal for enterprise level applications.

Popular sites made with Django:

  • Instagram
  • Bitbucket
  • Dropbox
  • Eventbrite
  • Disqus
  • Pinterest
  • Google
  • Uber
  • Lyft
  • Facebook
  • Netflix
  • Quora
  • Reddit
  • Prezi

Wagtail is a headless CMS (headless allows to decouple the code of the backend and the frontend allowing to facilitate the maintenance of the website) which is not only easy to use, but can be customized from the ground up.

Custom data structures, special functions, connections to interfaces or tools tailored to the project can be implemented in a standardized way and integrated cleanly into the user interface.

Content is maintained in an intuitive way and can be located quickly. You dont have to be an IT specialist in order to make content updates using Wagtail. Both the user interface and programming interface are based on uniform standards, which has a positive effect on the clarity, both of the UI and code (keyword maintainability). Wagtail also offers great features for Marketing teams such as A/B testing.

  • Twilio
  • Google Blog
  • Think with Google
  • Nasa
  • Mozilla
  • BMW
  • Amnesty International
  • Oxfam

Salesman is a headless ecommerce platform for Django and Wagtail which provides a configurable system for building an online store. It includes a RESTful API with endpoints for manipulating the shopping cart, processing the checkout and payment operations as well as managing customer orders. This gives developers the flexibility to achieve all of your e-commerce goals.

Some notable features include:

  • API endpoints for Basket, Checkout and Orders
  • Support for as many Product types needed using generic relations
  • Support for multiple SKUs
  • Pluggable Modifier system for basket processing
  • Payment methods interface to support any gateway necessary
  • Customizable Order implementation
  • Fully swappable Order and Basket models
  • Wagtail and Django admin implementation which fits seamlessly with the project tech stack