> For the complete documentation index, see [llms.txt](https://aann-ai.gitbook.io/social-authenticity-network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aann-ai.gitbook.io/social-authenticity-network/aann.ai-lab/development.md).

# Development

<figure><img src="/files/QHiLdbepm0xAVytSE2gs" alt=""><figcaption></figcaption></figure>

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
