Technology stack
Technology stack
Core technologies
- Operating systems Linux, FreeBSD, NetBSD, Windows, Android, OS X
- Coding: HTML, CSS, LESS, SASS, PostCSS, BEM
- Front end: JavaScript, TypeScript, jQuery, Vue.js, Node.js, NPM/Yarn, Gulp, Babel, Webpack
- Version control systems: Git
- Programming languages: PHP, C#, SQL and dialects
- Databases: MySQL (MariaDB, Percona), PostgreSQL, MS SQL
- Other: XML/XSLT, Unix Shell Scripts, Regexp.
Customer communications
- APM — project task management system
- Personal contacts by Skype, WhatsApp, Telegram, E-mail — all logged in APM
- Trello
- Task setting and time tracking system with online monitoring of each individual project
Design
- Business process diagram development: BPMN, IDEF0
- Immersion into customer's business processes
- Competitive environment analysis
- Informational architecture of the project
- Interactive prototypes: Axure, Invision
- Google services and applications, coggle.it, draw.io.
Intra-team communications
- Task setting and time tracking system
- Online chat service MatterMost for corporate communications
- Google applications for work distribution and documents coauthoring
Development technologies
Development process:
- Git is used, Git-flow method followed
- secure internal Git repositories
- external repositories: Bitbucket, GitHub
- Git integration with the task setting system
- a system used to control projects loading to several servers
- Docker to emulate project environment on software engineer's work stations
- code-review, code analysis.
PHP with engineering patters applied
- proprietary framework and CMS
- MVC, module-based architecture
- multilingual data, multilingual user interface
- DB versioning, prompt interaction with the DB — we don't use ORM and ActiveRecord
- prompt generation of HTML/XML/JSON — we don't use template enginedata caching; Memcached, Redis, on-disk cache
- automatic intercept of run errors
- custom logging
- mailing control
- integration with Sphinx, morphological search through texts
- payment systems integration
- external services integration
- support of CDN and cloud data storages
- password-free user access
- restoration of deleted user data
- data backup sub-system with external data storage support
- XML Sitemap generation
- schema.org, structured data, snippets and Yandex micro-formats for search engines
- secure hack-proof architecture.
Other frameworks
- WordPress, 1С-Bitrix, Laravel, Lumen, Zend, Slim, F3
Data base — Mysql, PostgreSQL, MS SQL, Redis, MongoDB
- design
- complex queries optimization
- slow query monitoring after project switch to real data
- clusterization
Frontend
- semantic markup, cross-browser compatibility, IE10+
- adaptability, mobile versions, support of high-aspect ratio and high-resolution displays (retina)
- bulma to expedite projects release
- compilation — Gulp
- style sheet preprocessors LESS and SASS, post-processing— PostCSS
- styles and scripts minimization
- use of TypeScript and JavaScript ES6 (ES-2015)
- graphics optimization, use of sprites, SVG and web fonts
Terms of delivery and reliability
- bringing server requests number to the minimum
- lazy loading of page blocks
- use of CDN
- graphics optimization by the engineers
- automated optimization of graphics when loaded by users
- GZIP compression setting, browser caching
- web-servers tweaking for various operating systems
- stress testing; ◦ project and server’s availability and performance metrics tracking in Zabbix
- multi-tier backup
- Git to control server configuration
- Docker for Linux, Jails for FreeBSD for container virtualization of services
- Google Page Insights metrics
- project monitoring with Yandex.Webmasster, Google Webmaster tools
- webfarm development, load balancing, automatic deployment of server instances
- hosting platforms: Rackspace, Digital Ocean, Amazon, 1Gb, Hostkey, .masterhost, nic.ru, Netpoint. Rackspace, Digital Ocean, Amazon, 1Gb, Hostkey, Мастерхост, nic.ru, Netpoint