Home
Softono
b

bugthesystem

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
2

Software by bugthesystem

angular-es6-webpack-boilerplate
Open Source

angular-es6-webpack-boilerplate

# Angularjs ES6 Webpack boilerplate Angular 1.5.9 + ES6 application boilerplate with testing practices [![Dependency Status](https://david-dm.org/ziyasal/ng-espack-boilerplate.svg)](https://david-dm.org/ziyasal/ng-espack-boilerplate) [![devDependency Status](https://david-dm.org/ziyasal/ng-espack-boilerplate/dev-status.svg)](https://david-dm.org/ziyasal/ng-espack-boilerplate#info=devDependencies) [![Build Status](https://travis-ci.org/ziyasal/ng-espack-boilerplate.svg)](https://travis-ci.org/ziyasal/ng-espack-boilerplate) [![Coverage Status](https://coveralls.io/repos/ziyasal/ng-espack-boilerplate/badge.svg?branch=master&service=github)](https://coveralls.io/github/ziyasal/ng-espack-boilerplate?branch=master) >_Inspired from [angular-webpack-workflow](https://github.com/Foxandxss/angular-webpack-workflow)_ ##Features - [x] [Webpack](https://webpack.github.io/) Setup - [x] [Babel](https://babeljs.io/) - [x] [Isparta](https://github.com/douglasduteil/isparta) [Instrumenter Loader](https://github.com/ColCh/isparta-instrumenter-loader) - [x] [Bootstrap](http://getbootstrap.com/) - [x] Gulp.js Setup - [x] [Angular Template Cache](https://github.com/miickel/gulp-angular-templatecache) - [x] [Webpack](https://webpack.github.io/) - [x] [ESLint](http://eslint.org/blog/2014/11/es6-jsx-support/) - [x] Basic App Structure by following [Angular Style Guide](https://github.com/johnpapa/angular-styleguide) - [x] SEO ready configuration using [angular-seo](https://github.com/steeve/angular-seo) - [x] Full fake REST API using [json-server](https://github.com/typicode/json-server) - [x] Testing Structure by following [official docs](https://docs.angularjs.org/guide/unit-testing) and [Testing Angular](https://github.com/daniellmb/angular-test-patterns) - [x] [Karma](http://karma-runner.github.io/0.13/index.html) - [x] [Jasmine](http://jasmine.github.io/2.0/introduction.html) - [x] [PhantomJS](http://phantomjs.org/) - [x] Controller test - [x] Service test - [x] Directive test - [x] Filter Test - [x] Http interceptor Test ##Install Clone repo and install npm and bower packages; ``` git clone https://github.com/ziyasal/ng-espack-boilerplate.git cd ng-espack-boilerplate npm install bower install gulp ``` ## Development All scripts are run with `npm run [script]`, for example: `npm run test`. `build` - generate a minified build to `public` folder `test` - run all tests `test:live` - continuously run unit tests watching for changes `eslint:app` - lint code in `app` folder `eslint:tests` - lint code in `tests` folder See what each script does by looking at the scripts section in `package.json`. License ======= Code and documentation are available according to the `MIT` License (see [LICENSE](https://github.com/ziyasal/ng-espack-boilerplate/blob/master/LICENSE)).

Web Development SEO Tools
34 Github Stars
reducio
Open Source

reducio

# ❱ reduc.io ❰ > URL shortener service `http://reduc.io/wuXaq` [![Build Status](https://travis-ci.org/ziyasal/reducio.svg?branch=master)](https://travis-ci.org/ziyasal/reducio) [![Coverage Status](https://coveralls.io/repos/github/ziyasal/reducio/badge.svg?branch=master)](https://coveralls.io/github/ziyasal/reducio?branch=master) ## Tech stack - [Scala](https://www.scala-lang.org/) - [Akka Http](https://github.com/akka/akka-http) - [Circe](https://github.com/circe/circe) - [Redis](https://github.com/antirez/redis) - [ScalaTest](http://www.scalatest.org/) - [Specs2](https://github.com/etorreborre/specs2) - [Mockito](https://github.com/mockito/mockito) - [Gatling](https://gatling.io/) ## Alternative solutions We could use following short code gen also: ``` substr(base62(md5(url)), 6) = 62 ^ 6 //unique short urls ``` ## Commands ### Run Run `docker-compose`, it will start `api`, `redis` and will expose api port to host. ```sh docker-compose up ``` ## Sample usage ```sh # Shorten curl -i http://localhost:9001 -F "url=https://www.amazon.com/Star-Wars-Battlefront-II-Digital/dp/B072JZZ4XD" # Call shortened url for ((i=1;i<=100;i++)); do curl -i "http://localhost:9001/SEwuXHhBQw"; done # Get Stats curl -i "http://localhost:9001/stats/?url=https://www.amazon.com/Star-Wars-Battlefront-II-Digital/dp/B072JZZ4XD" # returns: {"callCount":100} ``` ### Create executable ```sh sbt packageBin ``` ### Test ```sh sbt test ``` #### Gatling Simulation Simulation users count can be set in `application.conf` in test resources. ```sh # terminal 1 sbt run # Run simulation in terminal 2 sbt gatling:test gatling:latestReport ``` ### Coverage with Report ```sh sbt clean coverage test coverageReport ``` ## Improvements - Seperate read and write API's - Move statistics to different data store and API - Add DB support by having write master/replicas and have read replicas - Move hit counts to MapReduce job and generate them from the Web Server logs - Implement Authentication using JWT authentication protocol with OAuth2 authentication framework - API Documentation using swagger or similar - Add Host denyList - Add Retry policies for `Redis` calls using [Retry](https://github.com/softprops/retry) or similar one - Add Throttling using [akka-http-contrib](https://github.com/adhoclabs/akka-http-contrib) - Add Metrics support using [akka-http-metrics](https://github.com/Backline/akka-http-metrics) z i λ a s a l.

Link Shortening & Tracking
69 Github Stars