Client location

California

Industry

SaaS

Duration

3+ years

Team

6 members

Customer

Our customer is a global leader in API distribution headquartered in California. Four Ages Software was responsible for the development of the entire solution from scratch: microservices architecture, front-end and back-end, CI/CD set up as well as the overall cloud design, infrastructure as code, tools and services on AWS.

Solution

Team Structure and Model of Engagement: hybrid model of engagement (product development+dedicated team). Since the start,  it has been a global team of 8 Eastern European engineering experts (AWS certified) and 20 Israeli team members. The core team had the following set up and it gradually tripled in size over years:

  • 1 QA engineer
  • 1 Junior Full-stack developer
  • 1 Middle Front-end developer
  • 3 Middle  Full-stack developers

The initial request of the customer was for product development. After the solution was in production, we switched to the dedicated team model where our PM and the engineering team were reporting to the PO from the customer’s side.   

Project management: a PMP certified Project manager was following best practices of SCRUM methodology. Jira was used for task tracking and Slack as a messenger for everyday communication. 

Over the period of 3 years, the team accomplished the following deliverables: 

  • designed product technical architecture 
  • designed database structure 
  • developed service core, business logic 
  • created integrations with other services
  • implemented payment systems integration (Stripe, PayPal)
  • developed custom analytics
  • setup and supported deployment process

Front end: 100+ screens were developed on the front-end and the following milestones were met:

  • Product portal (React, Next.js) - Landing page with product information
  • API Marketplace (React) - Marketplace of the available APIs (40k+) 
  • API Playground (React) - Application for API debugging, and request building
  • Providers dashboard (React) - Dashboard to sign a contract and add the API to the platform (for API providers)
  • Analytics dashboard (React) - Dashboard to monitor analytics (by customers, providers, etc)
  • Product portal (React, Next.js) - Landing page with product information

Back-end: In the sophisticated back-end of the platform, the engineering team developed a system for the integration of APIs of different structures and logic. 

The developed system aimed to support numerous protocols and interfaces:

  • REST API
  • GraphQL
  • COAP
  • MQTT
  • WebSockets
  • GRPC
  • Webhooks

Customers were able to opt for any of the above types using 1 simple library (RapidQL). And the high-load system was made to support up to 10M requests per second (request should have been routed to the provider’s APIs)

Here is the illustration of the approximate microservices architecture solution that was offered to the customer. The exact solution designed for the customer is under the NDA,  this representation doesn’t include all the details:

The platform used infrastructure as a code and the project was built-in the cloud. All infrastructure was described with CloudFormation configs.

Testing: 

Four Ages Software was responsible for testing of the platform as well. 

  • Manual QA (Front-end, business logic)
  • Unit testing (Code level)
  • Integration tests, Runscope (API)

Security

  • All microservice communication was encrypted by SSL/TLS connection. 
  • API Requests used JWT tokens.
  • AWS services used security groups and application firewalls

Platform

AWS EC2
AWS Lambda
AWS ECR
AWS ECS
AWS Fargate
AWS CloudFormation

Back-end

Node.js
Next.js

Front-end

React.js
Redux
Redux-Thunk
TypeScript

Databases

PostgreSQL
Couchbase

CI/CD setup

Docker
Kubernetes
Jenkins
AWS ECS
AWS CloudFormation

Tests

Jest
React Testing Library

Get in touch

As a custom software development company, Four Ages is here to align your vision with practical solutions. 

Briefly detail your needs, and our representative will contact you shortly.

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form.