-
Notifications
You must be signed in to change notification settings - Fork 33
Technologies
Denis Stebunov edited this page Aug 16, 2020
·
15 revisions
- Cloud Platform - AWS
- Code Hosting - Github
- CDN - MaxCDN, CloudFront
- Email Services - SES, MailChimp, Mandrill
- Monitoring - Sentry, Datadog, New Relic, CloudWatch
- Task management - JIRA, Trello
- Communication - Slack, Zoom
- Core technologies - Python 3.8, Django 3.1, and Celery
- API - GraphQL or REST
- Favorite template engine - Jinja2
- Storage - Postgres or MySQL (in production - RDS or Aurora), Redis (in production - ElastiCache), S3
- Frontend - React.js, Babel (ES2019), Webpack, SASS, CSS modules
- Testing and codestyle - py.test, Selenium + Headless Chrome, Mocha, Flake8, ESLint + Airbnb config
- Deployment - Docker images based on Debian or Alpine (Docker Compose for local environment, AWS and ECS for production), CloudFormation, uWSGI, Fluentd, Datadog, Jenkins
- Chrome
- FireFox
- Safari
- Edge
- IE11+ (for IE11 and below, a warning message is displayed if an upgrade is required)
- Mobile Safari
- Android Browser, supporting only >= 4.4
- Data warehouses: S3 (in Apache Parquet format), Redshift
- Data processing and analysis: AWS Kinesis Firehose, AWS Glue, AWS Athena
- Framework - React Native
- CI/CD - Jenkins
- Error Monitoring - Sentry
We recommend against the use of the following technologies in our new or existing projects:
- Typescript. We think that Typescript significantly slows down development, while preventing only a small percentage of bugs in real code. Studies about this topic have demonstrated that static typing helps prevent less than 3% of bugs. However, this doesn't mean that we're strictly opposed to the idea of explicit type declaration. Sometimes it may be helpful; we just don't think that it should be mandatory and enforced;
- Styled Components. Use CSS modules instead. Unlike Styled Components, CSS modules don't introduce overhead and are also compatible with CSS linters and SASS.