Development

At AANN.ai Labs, we prioritize a streamlined and efficient development process to ensure the delivery of high-quality software solutions.

A private GitLab repository fortified with Continuous Integration/Continuous Deployment:

  • (CI/CD) pipelines

  • Automatic code build feature, streamlining the development process

  • Automatic static code analysis to maintain code quality and identify potential issues

  • Automatic unit testing for prompt detection and resolution of errors

  • Automatic deployment to various environments in Kubernetes

Kubernetes (K8S), a docker orchestration system:

  • Seamless deployment to any cloud or bare-metal host

  • Blue/Green deployment strategy for reduced downtime and risk

  • Automatic microservices scaling to manage high load conditions

  • Automatic load balancing for optimal distribution of network traffic

  • Log collection for simplified troubleshooting and system monitoring

A comprehensive code base:

  • A Web3 connector microservice that provides a secure connection to any EVM blockchain, enabling method calls and smart contract event subscriptions

  • A user management microservice offering user registration, authorization, and data storage

  • A Gateway (watchdog) microservice, facilitating communication between microservices and user connections

  • Swagger implemented for automatic API documentation

  • Each microservice is fortified with security systems, equipped with a request cache, and connected to its own database

The development process is divided across three environments:

  • Staging for on-going development and Research & Development (R&D) activities

  • Testing for Quality Assurance (QA) and demo of new features

  • Production as a ready-to-use environment

Development practices at AANN.ai Labs:

  • We adhere to a robust Software Development Life Cycle (SDLC), with all code undergoing cross code review

  • Our team follows the SCRUM development methodology, promoting iterative progress and flexibility

  • We employ unit tests for our code to ensure its functional integrity

  • We abide by Object-Oriented Programming (OOP) and SOLID principles to deliver maintainable and scalable code

Last updated