Scalable Backend & API

Web frameworks, whether used as full blown toolkit with the server side template rendering as in Django, ExpressJS, Laravel or Asp.net MVC or used as an API framework as in Django Rest Framework or NodeJS Apollo, form the corner stone of any product development.
NodeJS ecosystem
Django
Laravel
Phoenix
Asp.net MVC

Web Frameworks

Full blown web frameworks are all inclusive solutions which can handle everything from user authentication to rendering the front pages. These were in existence for a long time and they become more and more feature rich on every new release. 42Square has worked with different types of frameworks ranging from CodeIgnitor, ExpressJS, NestJS, Laravel, and asp.net MVC to new kids in the block web frameworks like Go & Phoenix. `

Javascript/Typescript Web Frameworks

NodeJS is the largest web frameowrk ecosystem in existence today. Typescript language brings the type safety feature in to the mix and thus NodeJS has become the go to choice for large maintainable projects.

Python Web Frameworks

Whether it is batteries included frameowrk like Django or a micro web framework like Flask, Python has lot to offer. When we consider the ecosystem around NLP, Machine Learning, and Artificial Intelligence libraries, Python based frameworks blows away the competition.

PHP Web Frameworks

Laravel is a modern web framework with a huge ecosystem around it.

CSharp Web Framework

ASP.net MVC provides the enterprise grade stability and C# type safety advantage.

Web Framework usage in 42Square

We choose a web framework after analyzing the client/product requirements extensively. Often the requirements grows at later stages and we might adapt a Microservice system with different frameworks handling the areas of their strength.

We have experience with most of the top level languages like Typescript, Javascript, C#, Python, Go, Ruby and Elixir. This enable us to quickly assemble a well capable team to satisfy the product features and requirements.

  • Experience with differnt types of ORMs like Django ORM, TypeORM, ActiveModel, DataMapper
  • ORM model mapping using model classes, field types, meta options, and relations
  • Code based SQL schema management using Migrations
  • Efficient and advanced queries - Aggregation, Database sepcific Search, Custom Lookups, Query Expressions, Conditional expressions, Transactions
  • Initial data management through the concept of Database seeding
  • Managing efficient data access through Eager and Lazy associations
  • Proper paginated queries using joins
  • Query caching
  • Implemented closure table pattern for advanced hierarchical data

REST & GRAPHQL API

Proliferation of mobile applications and Front end frameworks like React and Angular, has lead to the adoption of common APIs for data access. REST APIs have been in existence for many years and GraphQL is a new entry into this field.

Power of GraphQL

The biggest advantage of GraphQL is that we can evolve the APIs without versions. This makes the server code more maintainable.
  1. GraphQL is more like a query language for your API
  2. Send a GraphQL query to your API and get exactly what you need, nothing more and nothing less. GraphQL queries always return predictable results. Apps using GraphQL are fast and stable because they control the data they get, not the server.
  3. Get many resources in a single request