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 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.
- 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:
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.
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 is very useful for services that work like daemons.
And I made sites and API on the NodeJS too.
For the 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 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 and I want to put its source code it the Github in the future(When I will make that I replace this part of text with a 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 a 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.
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.