Alexander Shogenov. Full-Stack Web-Developer: PHP, NodeJS, React
Hello, I'm Full-Stack Web-Developer
My github account is https://github.com/shaggyrec
2018 - NOW 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 the Test Driven Development. It's a very important and useful experience. This application is very popular in the 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 web-site 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 go to the 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 main site written on the bitrix.
- 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 the sites using different CMSs. All programmers(at some point in they life) want to develop own the best CMS. I try to do it in VuduTeam. I implemented 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 programmer. I learned a new (for me) language parser.
I developed the web-sites and web-application with different complexity. I've take 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:
I use version 7 with a newest features. I like php for simplicity and power.
I sure that we don't need the frameworks for each task. I like a pure PHP. With composer it is a very powerful.
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 previous client.
NodeJS is very useful for services which works like a daemons.
And I made sites and api on the NodeJS too.
For NodeJS server I prefer the Koa framework. It's very simple and nice.
I use the React, Redux, Sagas for frontend. With React I can build a big complex interfaces, for example single-page application, and I can implement a small components for web-page insertions as a separate module. This site written using react and I want to put its source code it the github in the future(When I will made that I replace this part of text with link to the repo). I implemented the universal react web-app(SSR with reusing same react code on the client and on the server).
I have repo with a small example of code on Typescript using Koa and Mysql https://github.com/shaggyrec/koajs-mysql-api
It's hard to imagine a modern development without a git. I know and use git-flow and semantic versioning.
Test Driven Development
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 the framework. And I think that the developer should to choose the right tool for the specific task.