Technology stack and strategy

Evergreen's tech stack

slogan-img

Scroll to see other reasons

  1. UX/UX and prototyping
    AxureRP, Invision, Adobe XD
    Adobe Illustrator, Adobe Photoshop for design
    3ds max, Animatron, AfterEffects for VFX
    Visio, Draw.io, Google Draw for schemes
  2. SaaS & PaaS
    Amazon AWS (C2, S3, Cognito, Lambda, RDS, Aurora), Azure, Firebase, Back&, Corezoid
  3. Back End
    PHP frameworks: Laravel, Yii, Phalcon, Codeigniter, Slim, Lumen, Zend, Symfony NodeJS: coffescript, expressjs, socket.io, cluster
  4. Servers & Cloud
    Apache, Nginx, Amazon AWS (C2, S3, Cognito, Lambda, RDS, Aurora), Galera Cluster Microsoft Azure, Docker containers
  5. Storage engines and databases
    SQL: mysql, mariaDB
    noSQL: Redis, MongoDB, Memcache, Firebase
  6. Queues systems
    RabbitMQ, Redis pub/sub, AmazonSQS, Corezoid
  7. QA, testing
    Manual testing, test cases, smoke test, regress testing
    Selenium - automated UI test
    Codeception, PHP Unit
  8. CRM and business process automation
    AmoCRM, Bitrix24, Pipedrive, ZohoCRM, Corezoid, Redmine, Trello, Jira, etc.
  9. Continuous Integration Deployer php, Composer, Jenkins
  10. Mobile native, ionicFramework(ios/android), swift, java
  11. CMS MODx, Wordpress
    Ecommerce OpenCart, WooCommerce
  12. HTML coding
    Responsive
    HTML5+CSS3
    Bootstrap, Foundation
    SASS, LESS, Gulp
    SVG
  1. UX/UX and prototyping
    AxureRP, Invision, Adobe XD
    Adobe Illustrator, Adobe Photoshop for design
    3ds max, Animatron, AfterEffects for VFX
    Visio, Draw.io, Google Draw for schemes
  2. SaaS & PaaS
    Amazon AWS (C2, S3, Cognito, Lambda, RDS, Aurora), Azure, Firebase, Back&, Corezoid
  3. Back End
    PHP frameworks: Laravel, Yii, Phalcon, Codeigniter, Slim, Lumen, Zend, Symfony NodeJS: coffescript, expressjs, socket.io, cluster
  4. Servers & Cloud
    Apache, Nginx, Amazon AWS (C2, S3, Cognito, Lambda, RDS, Aurora), Galera Cluster Microsoft Azure, Docker containers
  5. Storage engines and databases
    SQL: mysql, mariaDB
    noSQL: Redis, MongoDB, Memcache, Firebase
  6. Queues systems
    RabbitMQ, Redis pub/sub, AmazonSQS, Corezoid
  7. QA, testing
    Manual testing, test cases, smoke test, regress testing
    Selenium - automated UI test
    Codeception, PHP Unit
  8. CRM and business process automation
    AmoCRM, Bitrix24, Pipedrive, ZohoCRM, Corezoid, Redmine, Trello, Jira, etc.
  9. Continuous Integration Deployer php, Composer, Jenkins
  10. Mobile native, ionicFramework(ios/android), swift, java
  11. CMS MODx, Wordpress
    Ecommerce OpenCart, WooCommerce
  12. HTML coding
    Responsive
    HTML5+CSS3
    Bootstrap, Foundation
    SASS, LESS, Gulp
    SVG

How we select technologies for a project

We select technologies for each project in several steps.

Step 1:  Define technical requirements for a project.  This is most complicated step, because inadequate collection of requirements entails a wrong technical solution. With our technical architect and system design process we do this step right. 

Step 2:   Decompose the project to logical and business components. 

Step 3:   Designing a product workflow.  This stage gives a general understanding between the client and our team. For example: "Where does the Mobile App end and the Web start?"

Step 4: Design a technical solution by component/technology.   This design stage determines the choice of solution and technology for the components of the project.

Example:

The Registration and Authorization component will be implemented using Amazon Cognito service since we need to be able to log in with both the Mobile App and the Web. The real-time synchronization between the Web and the Mobile App should be available for the user profile. &Nbsp; The notification component for the Web will be implemented based on the written async server node.js + socket.io and the RabbitMQ queue

Our point is that there are no universal solutions, there are well done system design process, where we choose systems and technologies, that seamlessly fit in and solve business task of the project.

In order to speed up the development of projects, we create commonly used open source components.