Специалисты

Описание

I have more than 7 years of experience in IT-sphere. I"m proficient in HTML, CSS, JavaScript, Typescript, React Native, React.js, Redux, Redux-Saga, Node.js. I am very responsible, attentive to details, and always provide a good quality product in time. I have wide experience working with both Russian and foreign Сlients.
I find different solutions to problems quickly and have excellent communication skills.


Programming Languages
JavaScript Typescript HTML/HTML5 CSS/CSS3

Framework/Libraries
React Native Expo React.js Redux Redux Saga React Hooks Node.js Express.js Sails.js jQuery Bootstrap Axios Underscore Material Design Mobx LESS SASS(SCSS) PostCSS Stylus Animate.css Moment.js Lodash

DBMS
PostgreSQL MongoDB Redis MySQL

Other
Responsive Web Development Agile Docker MVC Ajax XML JSON SSH Unix

Development Tools
Git Gulp Webpack

Application/Web Servers
Nginx Apache

Cloud services
Heroku AWS STRIPE

Application Type
Social Networks REST

Education
Master of Computer Applications
Institute of Technology, Southern Federal University, Taganrog, Russia

Опыт
Проект

Routinr

Описание

Mobile version of the platform Routinr (it uses for opinion leaders and trainers). It allows you to have access to courses hosted on the platform. Using this application, you can view and buy content, as well as add your favorite trainers to your subscriptions. Another advantage of the application is the ability for the user to monitor the implementation of exercises added by itself to the individual plan. We fixed bugs from the previous development team. We added new functionality to the mobile application, made changes to the backend. We released the application in the AppStore and Google Play. We provide support for application updates. Solutions of our team on the project:- fixed critical bugs, they led to an unexpected termination of the application;- eliminated logical errors in the application, added pagination on content screens;- added analytical services: Segment, Google Analytics, and Amplitude;- added action handlers for specific user actions;- implemented in-app payments functionality for making purchases within the application, implemented the ability to purchase a monthly subscription for users;- all actions with payments are implemented in accordance with the rules for processing payments on the AppStore and Google Play platforms;- redesigned UI for the main screens of the application.

Технологии

JavaScript / React Native / React.js Integrations: Heroku / Payment systems

Проект

Legion

Описание

According to the legislation of the Russian Federation in the field of education, a publishing house that produces textbooks is required to make electronic copies of them. That is, mobile applications for iOS, Android and a desktop application for Windows should be created. The main problem is that if the Ministry of Education does not accept the electronic version the first time, the second attempt will only take six months. During the work on the project, we created 2 textbooks, which were successfully tested by the Ministry of Education. And also, a generator of such applications was created, which is used by the publisher to independently create electronic versions. We have created an iOS, Android, and Windows application. The application uses animation to turn pages, you can select a section of text and add it to bookmarks, you can pass tests based on the results of the material studied. Also, in the application, there is content on which you can go to any part of the book. It is possible to write notes related to the page or to specific text.

Технологии

JavaScript / React Native / React.js / Electron / PostgreSQL

Проект

Seenaryo

Описание

The project was created to help people who look after children and entertain them. The application describes games, history, and activities that you can engage with children. In addition, the application describes adaptations of the same game, depending on the environment. Also, in the application, there are songs for which you can play games and read stories. In addition, the application has an editor that allows you to create maps, having printed which, you will have new options for games. The application has a function to save songs in the phone"s memory for playing them offline. There is a built-in editor that allows you to create flashcards. In addition, the application is sold by subscription, the user must pay for the application, a payment system is integrated for these purposes. In addition to this, the user can save songs to playlists.

Технологии

JavaScript / PHP / WordPress / React Native / MySQL Integrations: Payment systems

Проект

Outist

Описание

Outist is a mobile application (iOS, Android) and this is a social network for dating and joint events. You can create and conduct various events, as well as make new friends. The application shows people near you, identifying similar interests. The application idea is not new, but it has a certain set of interesting functions. The main goal of this application is to search for new acquaintances and have fun. This application collects statistics and feedback on activities carried out, including for each user. Users can discuss the event directly in the application, as it implements chats between users, as well as general event chats. We implemented this application from scratch, including design development.Based on the layouts using Django REST, the following data models and API methods related to them were implemented: - user model; - user registration using E-mail addresses as login; - user authentication using an authorization token, updating personal information by a registered user (date of birth, gender, first name, last name, avatar). Implementation of sending invitations to friends of other registered users, or canceling sent invitations, there is also the possibility of accepting received invitations or rejecting them;- model of interests;- the ability to create interests, interest groups, as well as their binding to certain groups, to an authorized user;- an authorized user can view the lists of created interests sorted by groups;- event model;- the ability to view open events, the ability to get a list of comments associated with a specific event. An authorized user can create an open or closed event. Authorized users can apply for participation in an open event, which the creator of this event can approve or reject, he can also invite his friends to participate. Only users invited by the creator of this event can participate in a closed event. Invited users can accept or decline the invitation to participate in the event;- authorized users can evaluate past events, as well as leave comments on them;- chat model;- the ability to create a chat room with an unlimited number of participants, as well as sending a message to all participants in the chat room with real-time notification.

Технологии

JavaScript / React Native / Python / Django / PostgreSQL Integrations: Social networks / Sockets / Complex data through APIs / Vultr

Проект

Bizit

Описание

Bizit allows users to share their business cards and create new connections. By uploading a business card to Bizit, or creating one through the app, users are able to share their card via wi-fi, email, Bluetooth, and contacts. And they have the ability to expand their network by searching for connections through the Discover page We were part of a team that worked on the whole project. We created an admin panel that allows new organizations to be added to the portal and the updating or removal of existing ones. Our biggest challenges were geopositioning and structuring the database. Geopositioning works with the users" current positions, which can be received from their devices, and those of nearby users, to calculate the differences in latitude and longitude

Технологии

React Native / React.js / Node.js / Express.js / MongoDB Integrations: ABBYY OCR / Google Places API / FCM / AWS S3

Проект

Under NDA

Описание

The project is intended for the “Russian Export Center” (REC) - the state institute of support for non-commodity exports, which provides Russian exporters with a wide range of financial and non-financial support measures. This project involves the creation of an information system that ensures interaction between participants in foreign economic activity and persons involved in international trade with state authorities, including regulatory authorities, and other organizations in electronic form on the basis of the "single-window" principle on the basis of the customer"s digital platform and information system "Register of exporters", which provides the processing of documents and information received from public authorities and organizations, the collection of statistics, monitoring and evaluation of organizations, search and formation of proposals for exporters related to their foreign economic activity, as well as analysis of barriers in foreign markets. Several teams are working on creating the system (different companies)."Single-window" will allow exporters to create their digital profile, apply for services around the clock, get access to analytics, and qualified support from specialists in various aspects. One of the parts of this system is the Unified Personal Cabinet, which the work was carried out. Unified Personal Cabinet (hereinafter referred to as the UPS) is a single point of delivery of the whole range of services of state authorities, and other organizations in the field of foreign economic activity and international trade. UPS should provide: 1. Registration and authorization of Exporters, including through USIA and ES. 2. Access to the exporter"s Digital Profile in the MDM Subsystem, in which the storage of information should be implemented and the possibility of their subsequent use in the process of obtaining the services of the “single-window”. 3. Access to the catalog of services. 4. Access to the list of activities useful for the implementation of foreign economic activity and contributing to the growth of exports. 5. Selection and execution of the necessary services of state authorities and other organizations. 6. Filling out forms/applications/questionnaires, including downloading the necessary documents for the provision of services. 7. Calling the functions of signing the application and/or documents of the electronic signature, as well as the functions of verifying the validity, qualification of the electronic signature and unrevoked key certificates of electronic signature verification (the development of the functions of generating or checking electronic signature is beyond the scope of current Technical requirement). 8. Interaction of the Exporters via webchat with the employees of the REC company which responsible for communication with the Exporters (hereinafter referred to as the Operators). 9. Online consultations of Exporters through chatbots. 10. Providing information on the status and timing of services. 11. Automatically informing the Exporter through various communication channels (including SMS, email, push notifications, alert in the UPS) about the change in the status of the service, the availability of information messages from the Operator, reminders of the necessary actions on the part of the Exporter, events, marketing, and other information messages. 12. Obtaining feedback from the Exporter, including with regard to the provision of services, including assessing the quality of the services provided, passing surveys and sending complaints.

Технологии

Javascript / Python / React.js / Redux / Redux-Saga / PostgreSQL / Joi / React-Router / Moment.js / Prop-types / Classnames / Nginx / Graylog / DRF / Ember.js / Docker / Kubernetes Integrations: Yandex metrica / Google analytics

Длительность

3 месяца

Проект

Comfolks

Описание

The project was created to quickly add ads to the user"s site. It is implied that the user has his own site, he is not a programmer, and wants to implement advertising on his site and track its success. In this application, the user can customize the appearance of the advertisement, its location, and he is also offered a large number of metrics, based on which the user can change the advertising company. What was done The most difficult moment was the creation of a WYSIWYG editor that would work at all resolutions. At the same time, our application was written in React.js, and in the output, we should have only HTML / CSS / JavaScript, but everything should look exactly like in our editor.

Технологии

HTML / CSS / JavaScript / React.js / Redux

Проект

LifeWell

Описание

The site was created to distribute cosmetics. The idea is that the distributor of products (ambassador) forms order in CRM, at the same time a link is formed that he sends to the user, then the user clicks the link, checks the order, if everything is correct, indicates his mail, pays for it and receives it by mail. What was done We have developed a PWA application. On the site, we integrated the DaData service so that the user can accurately enter the address of receipt. At the same time, the system checks whether we are delivering the goods to the right place if not, it notifies the user about this. In addition, we connected the CloudPayments payment system and the ability to pay via ApplePay and GooglePay.

Технологии

JavaScript / React.js / Redux / Node.js / PostgreSQL Integrations: AWS EC2 / AWS S3 / Payment Systems / DaData / CloudPayments

Проект

Perxtech

Описание

The project is an application for managing marketing campaigns for a business of various sizes. Perxtech offers services for building customer loyalty programs, gamification of receiving real bonuses for consumers, and also offers marketing analytics tools. Perxtech allows business owners to independently plan campaigns to attract customers through a customized reward system, counting bonuses and issuing certificates for their customers. The project AI can be configured to launch triggers for various promo actions of the Client - by date (for example, closer to the birthday of a particular buyer) or by location (for example, offer promotional items in a store that is often visited by a particular Client). What was done A dedicated team of specialists from our side worked on the project, focused on working on a template solution, which was then customized for the needs of various clients, and released in production. We worked on both the client-side (Angular 8) and the backend (Ruby). Our team became part of a large international team and worked closely with colleagues from different countries and timezones.The frontend team was tasked with achieving the maximum speed of application interaction with the user, both in the desktop and mobile versions, by optimizing the client-side. To solve this problem, we optimized the client code to use RxJS, which allowed us to switch to streaming processing of data coming from the service to the template, and minimize the cost of processing them.Our specialists also performed deep refactoring and code decomposition in order to create ready-made libraries and tools inside the app for solving separate tasks, such as working with charts, QR and barcodes, popup and notifications, and mini-games for getting bonuses. This also increased the speed of the client-side and the application as a whole.Our backend specialists solved a number of tasks at once. We participated in the implementation of the server-side for the new application functionality: we created new services aimed at implementing message sending in the application, and connected AWS SNS to the project. We also successfully launched a new customer loyalty system functionality and re-indexed data in Elasticsearch to increase the app"s conversion rate. We also successfully implemented the use of the RSpec test coverage system, which allowed us to increase the stability and speed of implementing the new functionality.On the backend, extensive work was done on writing algorithms for calculating bonuses/transactions, serializers were added, user search systems were introduced for various criteria, as well as a global search for potential users by consumer areas and search for potential partners, namely business owners, for cooperation. Most of the time was spent writing complex algorithms for calculating bulk data.When working with the client-side, we encountered an extensive system of computing and data processing, which was poorly optimized. To increase the speed and optimize the load on the application, RxJS and streaming data processing were introduced.When working with the server-side, the main challenge was a poorly standardized code structure. We have done painstaking work to bring the API requests to a single format for processing and returning data, and added coverage with RSpec tests, which in total allowed us to get an increase in the stability of the development process.

Технологии

JavaScript / Typescript / Angular 8 / React.js / Redux / Redux Saga / Ruby / Ruby on Rails / ElasticSearch / PostgreSQL / Google Analytics Integrations: AWS S3 / Payment systems / Complex data through APIs / Sentry / Google trace

Проект

Think Empire

Описание

This great platform for real estate businesses has multiple parts: it collects data from many sites with scrapers, has a built-in messenger, and offers multiple search options for buildings, persons and deals. What was done The main features that our team worked on were the map section and the built-in messenger.The map provides the ability to search using filters; view extended data for buildings, including owners and last sales; and save the buildings to lists that might be shared among a team or company, or sent to the exact user via the built-in messenger, email or SMS. Marking properties for sale and setting the status of your work on a current building project are also good features for teamwork. Sockets are used for real-time messages.The main advantage of our work was the optimization of performance due to a huge DB (more than 6 million records for New York alone).

Технологии

Javascript / React.js / Redux / MySQL Integrations: Heroku / AWS / EC2 / AWS S3 / Google maps / Socket.io / Complex data through APIs

Проект

Skillmil

Описание

This project puts employers and specialists (veterans) in touch. A great competitive advantage for a user is the ability to load their r?sum? on the site and after that, the system automatically fills in the information in the profile. Much attention is paid to military specialties - there are fields specifically for military experience - and user r?sum?s are well-parsed. Also, the website uses a complex system to find the most suitable candidate, based on their experience and the requirements of the employer. What was done We worked on the personal account https://signup.skillmil.com/signup.We implemented a heuristic calculation of how a person fits for each job. Analytics of each user action was performed using FullStory, Segment, Mixpanel.Here are the features we developed for this endeavor as well:- automatic filling in the user"s profile after loading the r?sum?;- keywords highlighted using the CoreNLP module;- chats between users implemented with SendBird;- payment using Stripe;- integration with LinkedIn.

Технологии

Javascript / React.js / Redux / Node.js / Express.js / PostgreSQL Integrations: Stripe / LinkedIn

Проект

All The Rooms

Описание

AllTheRooms is a portal for booking rooms. This is an extensive search engine for travelers, combining the largest sites (Expedia, Airbnb, and Jetsetter) and other popular travel resources. All the rooms compare prices on all these sites so that you can book a room or house anywhere in the world at the best price. Our team was hired to develop a supporting project for AllTheRooms. It was necessary to create an application that independently collects information from dozens of providers through the API, as well as using custom scrappers for booking sites that do not have an API (or have access restrictions). The complexity of the task was determined by the requirement for the speed of creating each subprogram (no more than 2-3 hours per provider), taking into account the fact that for each of them it was necessary to select the most optimal set of tools. For the service we have implemented:- balanced use of a distributed network of proxy servers (to prevent the provider from blocking requests by IP);- selection of timings and frequency of requests, as well as the logic of repeated requests using throttling;- сalibration of prices depending on tax conditions and various formulas for calculating/displaying commissions by providers that affect the final actual price of a reservation;- selection and implementation of the main method for parsing fields of interest (API, PhantomJS/CasperJS, Http request & regexp parser logic, a specificity of ajax & pagination & crawling handling);- the logic of extracting information from the cache with background updating is implemented for a quick display of available booking options upon the user"s request. That makes the architecture able to perform many parallel requests (high load), and also allows users to see the current availability and prices of booking options.

Технологии

Node.js / Casper.js / PhantomJS / Coffeescript / MongoDB