In This article I will help you to add ESlint to an existing or a new project with couple of easy steps using the ESlint cli tool. Here we have a simple model in mongoose, but it doesn’t look so good and we want to add ESlint to follow some...
Zooz is a payment gateway for merchants who needs a single API for all their payments implementations. As part of my job, I implemented a Frontend architecture as micro-services, each page is self deployed to s3. The project is written completely with ES2017+ using babel to transpile all files. We put high priority on code quality, so everything is fully covered with unit and integration tests by the developers. We use auto-deployment to dev -> qa -> mars and production. Stack: React.JS, MobX, Webpack, Mocha, Chai, Enzyme, Gitlab CI/CD, NPM (dependencies and task runner), semver.
Actus is a company specializing in video monitoring for industrial broadcasting companies and networks around the world. The mission was to convert the Front End from Silver Light to HTML5 platform. I did the architecture of the project, choosing the technology to use, libraries and methodology of work. I chose Angular, Bootstrap, Less for the FED stack, Webpack as module loader and build system. Npm as task runner and module dependencies. Most of the core objects are unique to Actus and no Open Source, ready-made patterns could help us here, so we authored the core player and editor from scratch. Source control moved from Svn to Git using Semver for software version, git hooks for tagging and version bump, before push to main branch. I wasn’t incharge on the server stack, they use dot.net with c# and webapi 2 for the REST. I bootstrap the project organization only.
Moving towards Dome9 to a new dashboard for the company’s SAAS product. Converting the old and obsolete design into a modern responsive SPA. I was in charge of the Client Side project (FED) and I used a two step road map for the task: - Moving to twitter bootstrap, providing a new responsive UI. Using UI patterns provided by Metronic theme to create a better user experience. At this step all client code done with Bootstrap, jQuery and KnockoutJS (FED) ASP.NET, MVC2, MongoDB (Back-End). Using Grant for building the Front-End app and SVN as the source safe. There were no tests, using Jenkins as CI, Salt for Deployment, One deployment for both Back-End and Front-End. - Disconnect completely the Client Side app from the Back-End (ASP.NET) moving to AngularJS and create a Single Page Application using REST Resources (Dot.Net WebAPI). Using Grant as build system, Jenkins as CI, Karma, Mocha, Chai, Sinon, Protractor for unit testing and e2e, Amazon Code Deploy for deployment.This time we had great code coverage using unit testing and a platform for automation team to test the application end-to-end. Now you could deploy the Front-End (Webapp) separately and moving to new features and bug fixes completely separate from Back-End progress. I also developed an Open Source project to help us mock rest api data using a middleware for express app (Node.JS): https://github.com/Dome9/rest-mock Also collaborated in another Open Source project for customize some responses while proxying all the rest to the an origin server which can help developing without a local Back-End stack against the real Back-End, or to create additional mocks for different resources: https://github.com/Dome9/dev-proxy I also developed the Agents push notification server using Node.JS providing a better API and fixing memory leaks we had in the old one. Server runs on a single micro instance with high performance serving all Dome9’s Agents.