Alexander Shogenov. Full-Stack Web-Developer: PHP, NodeJS, React

Hello, I'm Full-Stack Web-Developer

Phone: 8-995-1-999-195

Email: alex@shogenov.com

My github account is https://github.com/shaggyrec


Several projects to see my work and my code:

This site

Entrance form

Simple http client for php(To make http request from php)

Boilerplate for app on SlimPHP


Experience

2020 - NOW Freedom Finance

Project Tradernet.com

Web-Terminal for stock traders.

This is the complicated system includes terminal with charts and trading possibilities, CRM, control panel.

I take a part in improvements of this parts.

I have created a new web-socket server (instead old one) on nodejs. It is a very important part of trading terminal because this server sends real-time quotes of stocks to the browser.

I tried to make it simple but reliable. 

2021-NOW Shopceed.com

I implemented a web-forms constructor (TypeForm-like) using Vue 3, Laravel and Postgres.

Also I implemented the from-runner for using these constructed forms.

2021 Prosto.bz

I implemented a chat-bot constructor backend using NestJS and PostgresSQL.

App contains chat-bot builder and chat-bot runner working as different services.

Builder is the WebSocket server CRUD for bots parts (Messages, Buttons, Images, Logics and branches)

Runner is the separate NodeJS (NestJS) process for running created bots.

2019-2021 Designmodo

Project Postcards

I implemented a new version of emails constructor using React and SlimPHP.

2018 - 2020 XIAG AG

I work in project hogashop.

I use the PHP and NodeJS for different tasks on the server and react in the browser.

Hogashop is the big project consisting of the microservices. For example, we have a separates module for API, each UI feature, import, etc.

For deploy and configuration, we use the salt stack. I write tests and follow Test-Driven Development. It's a very important and useful experience. This application is very popular in Switzerland. I like to develop something useful for people and something that make the everyday work of some people simplify.

2018 - 2018 Law company edin.center

I developed the website of the company(include design). I implemented this site using the slim framework. News section on this site uses the server-side rendering with react. Some js-components implemented using the react. For example forms and interactive svg map.

I implemented the js-css-compressor for minification, transform and gzipping css and js files.

2017 - 2018 Booking service edem-v-gosti.ru

Don't be scared when going to this site. I didn't do the main site (only some small fixes). I created the account for hotels owners using react, redux. I used the bitrix as api. It was very strange but the main site written on the bitrix.

Account includes:

  • the registration with not simple logic;
  • adding the hotel in the system
  • editing the hotel info
  • adding the information and types of rooms
  • price table with editing price by different time period
  • moderation and separate UI for moderators
  • Integration with CRM and making invoices

2016 - 2017 Web-studio VuduTeam

I developed sites using different CMSs. All programmers(at some point in their life) want to develop own the best CMS. I try to do it in VuduTeam. I implemented the working version of CMS but now I afraid to look the code of it. I created the photo-album constructor using js, canvas at this period. Now it is msl.su.

2014 - 2016 Web-studio Clickon

My first job as a programmer. I learned a new (for me) language parser.

I developed websites and web-application with different complexity. I've taken the next level in PHP, HTML, CSS and JS.

For example, I developed a nice site with some animations and interactive SVG-maps dom-ekonom.info.

____________

before 2014 Learning and beginning with building the simple bad apps for the web


My key skills:

PHP

I use version 7 with the newest features. I like PHP for simplicity and power.

I am sure that we don't need the frameworks for each task. I like pure PHP. With the composer, is very powerful.

In the specific cases, I use slim framework and add the necessary libraries with the composer. You can see my boilerplate for slim and sqlite3.

JS

On the server and in the browser. I use new features but I don't forget about transformation newest code to understandable for any browser.

For example, I implemented the js-css-compressor (https://github.com/shaggyrec/js-css-compressor) for one of the previous clients.

NodeJS

NodeJS is very useful for services that work like daemons.

And I made sites and API on the NodeJS too.

I took a little part in fixing a bug in the open-source project xlsx stream reader https://github.com/shaggyrec/xlsx-stream-reader.

For the NodeJS server, I prefer the Koa framework. It's very simple and nice.

React

I use the React, Redux, Sagas for frontend. With React I can build big complex interfaces, for example, single-page application, and I can implement small components for web-page insertions as a separate module. This site is written using react(https://github.com/shaggyrec/react-ts-koa-ssr-sqlite). I implemented the universal react web-app(SSR with reusing same react code on the client and on the server).

I implemented a emails constructor using React on frontend https://github.com/shaggyrec/postcards

Typescript

I like Typescript because it guarantees a good code style and strict types for such liberal language as JavaScript. I can write good readable code, use all the newest features and use OOP when I write on the Typescript.

I have a repo with a small example of code on Typescript using Koa and Mysql https://github.com/shaggyrec/koajs-mysql-api

Git

It's hard to imagine a modern development without a git. I know and use git-flow and semantic versioning.

Test-Driven Development

Since I started to write tests and use test-driven development I can't develop another way. Tests help me to write only necessary code and be sure that the code is working right. It's a very useful skill for me. When I code on PHP I use the PHPUnit and Mockery, on JavaScript - mocha and Sinon.


I follow the SOLID and DRY. I'm sure that I don't need to use OOP in each case. I can use functional programming or OOP when it fits better.

It's better to learn the language instead of the framework. And I think that the developer should choose the right tool for the specific task.

Interactive animated CV:

Click to see

Last articles in Russian

All articles
© 2021 shogenov.com