Skip to content
View Kupuyc's full-sized avatar

Block or report Kupuyc

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Kupuyc/README.md

Intro funny picture

Typing SVG

Badge: Telegram     Badge: Discord     Badge: Habrahabr

About me

About funny picture

let me: PersonDetails = {
  name: {
    first: 'Кирилл',
    surname: 'Петров',
    pronounce: 'Kirill Petrov'
  },
  education: {
    university: 'Ryazan State Radio Engineering University named after V. F. Utkin'
    level: 'ISCED 6'
  },
  job: [{
    position: 'Senior front-end developer',
    role: 'Teamlead',
    from: new Date('2020-05-20T00:00:00Z'),
    details: '#job-it1'
  }, {
    position: 'Software developer',
    role: 'Fullstack developer',
    from: new Date('2009-12-05T00:00:00Z'),
    to: new Date('2020-05-10T00:00:00Z'),
    details: '#job-garant'
  }],
  petProjects: [{
    name: 'Eve Fleet Manager',
    description: 'Set of tools for Eve Online video game: analysis, statistics, helpers.'
    details: '#pet-efm'
  }],
  goals: [{
    type: 'optional',
    name: 'Rewrite pet project using new stack.'
  }],
}

Projects

Projects funny picture

Legal reference system "Garant"

The application provides an opportunity to get up-to-date information about the articles of laws, see specific changes, compare versions of documents, and access older versions.

The development of the project began in 2012. The goal was to develop a SPA that would fully replicate the functionality of the desktop application. It was an ambitious goal - in those days there were no such rich tools as there are now, and we had to deal with finicky browsers. I designed the architecture of the application and wrote the base components of the system. After that the team was expanded by two developers, together with whom we started to add business functions.

At the time I left the company, the application had more than 50 screens, 700+ classes and components, and was about 2 Mb of JavaScript code. It was an extremely interesting project and I was happy to hear that the company was going to rewrite the application using the latest stack. Even now it's going to be a fascinating piece of work.

Stack & tech

Front end:

  • Sencha ExtJS 4

Back end:

  • Python on facade-server of application which interacts with data-server via CORBA interface
  • C++ on data-server for access to huge self-written database

Gallery

Main screen
Main page
Search results
Search results
Document screen
Document
Document + TOC
Document + TOC
Document + editions
Document + editions
Compare of two editions
Compare of two editions

Backoffice for the print subscription service

The project of subscription access to printed materials: magazines, newspapers, booklets, almanacs, etc. Thousands of publications, hundreds of publishers, delivery to millions of subscribers through the infrastructure of post offices.

For such a business to work, it is necessary to connect all the components and provide all the representatives with the opportunity to publish their materials conveniently, giving them the opportunity to subscribe to them. The project implemented tools for publishers and managers so that the former can submit a request to place material and the latter can process it. The system also allows managers to edit directories and dictionaries, work with mailing lists, generate reports, financial documents and much more.

The project was implemented as part of a microservice architecture of more than 30 services, and the data were aggregated on two sites - separately for publishers and for managers. In recent months, work has been underway to migrate the sites from the legacy stack to new technologies using Feature-Sliced Design, React 17, TypeScript, code generation based on OpenAPI specifications, Gitlab CI/CD with deploying to Kubernetes, and so on.

Stack & tech

Front end:

  • React 0.13, Angular 1
  • React 17, Redux Toolkit, TypeScript 4.7

Back end:

  • Java 8
  • Java 17, Kotlin

Eve Fleet Manager

EFM is a pet project (in private repo) for universe of the Eve Online - #1 space MMORPG. The project specialized in providing analytical tools for players:

  • Battle analysis with the ability to build a detailed statistical picture of the clash of thousands of players with automatic analysis of damage and distribution of players on the sides of the conflict. Thanks to the successful architecture, these calculations were extremely fast, even on large amounts of data, on the order of 0.15-0.4 seconds. In gallery below you may see an example of a clash of 2300 players who lost 2600 ships.
  • Campaign analysis - a higher point of view on mass clashes of players in hundreds solar systems during weeks and months (up to year) and ability to analyze the degree of involvement and losses at the level of alliances and coalitions. The result is a picture with hundreds of thousands of ships lost. In gallery below you may see an example of campaign which describes 5 month war between several coalitions with 154000 in total number of pilots, who lost ~414000 ships which equal ~232000 USD.
  • Fleet Assistant - thanks to Meteor's feature of reactive updating on the client of the data being changed in MongoDB, a tool was implemented to display the full fleet composition in the web application. Any change in fleet in the game was almost instantly reflected in the application, which allowed to operate the fleet giving opportunities that have not been implemented in the game so far. Additional functionality in the form of statistics on losses (total number of losses, rate of loss, etc.) and damage caused by the fleet allowed the commander to make strategic decisions.
  • Other little tools like board of two types timers, wormhole map, etc

Stack & tech

Frontend:

Back end:

  • Meteor, WebSocket, ESI API
  • MongoDB 4.0

Gallery

Main page
Main page
(0.7 MB)
Most viewed battle reports
Most viewed battle reports
(0.2 MB)
Battle report: ships tab
Battle report: ships tab
(4.8 MB)
Battle report: timeline tab
Battle report: timeline tab
(3.4 MB)
Battle report: summary tab
Battle report: summary tab
(1.2 MB)
Battle report: organizations tab
Battle report: orgs tab
(2.1 MB)
Battle report: players tab
Battle report: players tab
(2.7 MB)
Campaign: ships tab
Campaign: ships tab
(2.1 MB)
Campaign: ship groups tab
Campaign: ship groups tab
(0.7 MB)
Campaign: orgs tab
Campaign: orgs tab
(0.4 MB)
Campaign: charts tab
Campaign: charts tab
(0.7 MB)
Campaign: top losses tab
Campaign: top losses tab
(1.6 MB)

Tech & skills

Tech and skills funny picture

Name Seniority Latest usage
HTML logo HTML Senior now
CSS logo CSS Senior now
JavaScript logo JavaScript Senior now
TypeScript logo TypeScript Senior now
React logo React Senior now
Redux logo Redux Senior now
Webpack logo Webpack Middle now
ESLint logo ESLint Senior now
Express logo Express Middle now
REST API logo REST API Senior now
OpenAPI logo OpenAPI Senior now
Java logo Java Junior now
Microservices logo Microservices Middle now
Ubuntu logo Ubuntu Linux Middle now
Docker logo Docker Middle now
Gitlab logo Gitlab CI/CD Middle now
Sencha logo ExtJS (3, 4) Senior 3 years ago
Node.js logo Node.js Middle 2 years ago
Meteor logo Meteor Senior 2 years ago
Python logo Python Middle 3 years ago
MongoDB logo MongoDB Middle 2 years ago

Statistics

Statistics funny picture

Statistics: languages

Popular repositories Loading

  1. accounts-eveonline accounts-eveonline Public

    Forked from bershadskiy/accounts-eveonline

    Meteor.js authentication with EvE Online SSO

    JavaScript

  2. reactive-table reactive-table Public

    Forked from aslagle/reactive-table

    A reactive table designed for Meteor

    JavaScript

  3. meteor-accounts-discord meteor-accounts-discord Public

    Forked from Lichthagel/meteor-accounts-discord

    JavaScript

  4. OpenAPI-Specification OpenAPI-Specification Public

    Forked from OAI/OpenAPI-Specification

    The OpenAPI Specification Repository

    JavaScript

  5. ironfish ironfish Public

    Forked from iron-fish/ironfish

    A novel cryptocurrency focused on privacy and accessibility.

    TypeScript

  6. metrics metrics Public

    Forked from lowlighter/metrics

    📊 An infographics generator with 30+ plugins and 300+ options to display stats about your GitHub account and render them as SVG, Markdown, PDF or JSON!

    JavaScript