Arthur Ouyang

Experienced Full Stack Developer | React.js, Vue.js, Node.js, Java - Spring Boot + Spring MVC + JPA / Hibernate
arthuroy
Taipei, Taiwan

About

- Extensive Software Development: 25+ years
- Java Development: 20+ years
- Spring MVC: 10+ years
- Spring Framework: 15+ years
- GIT: 5+ years
- Vue.js: 3+ years
- React.js: 12+ months

Skills


Java

  • AdoptOpenJDK 11 / 8, GraalVM 20.3.0
  • IntelliJ IDEA Community Edition 2020.3, Eclipse 4.6
  • Gradle 5.6, Maven 3.6.1
  • Quarkus
  • Spring MVC, Spring Boot, Spring Framework, Spring Data JPA, Spring Security, Lombok
  • Apache Struts
  • JPA 2.2, Hibernate ORM 5.4.3, iBatis, Flyway
  • OpenAPI / Swagger, springdoc-openapi 1.5.6, JAX-RS
  • GraphQL: graphql-spring-boot / graphiql-spring-boot 5.4.1 + graphql-java 11.0
  • JAX-WS, Spring-WS 2.4.0, Apache AXIS, XML-RPC using Apache SOAP 2.0
  • Jackson JSON / XML 2.6.4, XStream
  • Thymleaf, FreeMarker, Apache Velocity, Apache Tiles
  • Nimbus JOSE + JWT, ByteBuddy, WebSocket

Liferay

  • Liferay 7.3.5 GA6 / 7.2.1 GA2
  • REST Builder (OpenAPI / GraphQL), Service Builder
  • Liferay OSGi JavaScript Widget (React.js, Vue.js), liferay-js-toolkit
  • OSGi Shared Bundles
  • WebSocket: Liferay WebSocket Whiteboard 4.0.6 (javax.websocket-api 1.1)
  • Liferay Search API (FullText search - Elasticsearch)
  • Liferay Frameworks: Calendar Booking, Journal, Documents and Media, Segments, Expando, Configuration, Preferences, Upgrade
  • Clay UI (React.js)
  • Rollup.js build
  • Elasticsearch: ik / jieba analyzer + synonym

Platforms

  • Apache Tomcat 9.0.37
  • Oracle WebLogic 12.2.1.3
  • JBoss WildFly 8.2.0 / JBoss EAP
  • Nginx, Apache HTTP server, Redis
  • WSO2 EI / IS / AM, WSO2-SP 4.3.x / Siddhi
  • Apache Ignite 2.4.0, Hazelcast 3.10.x
  • MySQL 8.0.22, 5.7 / 5.6 / 5.5
  • Microsoft SQL Server 2014 Express Advanced
  • IBM DB2 11.1.4.4 / Express-C 11.1
  • Oracle
  • Linux: CentOS, Red Hat, Fedora
  • Windows Subsystem for Linux 2 (WSL 2): CentOS 8, Arch Linux,Alpine
  • Google Firebase

Web Frontend

  • ES6 (ES2015), CommonJS (CJS), ESM
  • CSS, Sass/SCSS
  • Rollup.js 2.34
  • @rollup/plugins: alias, buble, commonjs, node-resolve
  • rollup-plugin-postcss 2.5.0 + sass 1.26.3
  • rollup-plugin-terser
  • rollup-plugin-vue 5.1.6 + vue-template-compiler 2.6.11
  • webpack 4.x
  • Google Analytics Reporting API, Facebook Chat Plugin
  • Bootstrap 3.3.7, bootstrap-fileinput, bootstrap-datetimepicker
  • FullCalendar 5 / 4.3.1, CKEditor 4, DataTables
  • OpenLayers 4.1.1, Leaflet 1.0.3, D3.js 4.8.0
  • Require.js, jQuery

Node.js

  • Node.js 14 / 12, npm, yarn 2.x/1.x
  • nodemon, serve
  • koajs 2.5.1 + koa-router 7.4.0 + koa-bodyparser 4.2.1
  • connect, config + knex + pg
  • swagger-tools + swagger-combine, node-soap + xml2js
  • levelup + LevelDB (level 4.0.0)
  • mocha 6.2.2 + chakram 1.5.0 + mochawesome
  • WebDriverIO (wdio) 5.15.x + selenium
  • dom-align, moment

React.js, Vue.js & Angular

  • Angular 11.2.11 + TypeScript 4.1.5
  • Tailwind CSS 2.1.2
  • React.js 17 / 16.12, Hooks API, Context API
  • JAMstack: next.js 10.1.3 + webpack 5 / next.js 10.0.4, react-static 7.4.2
  • CSS-in-JS: styled-components, styled-system, @emotion/react + @emotion/styled
  • @chakra-ui/react, rebass, theme-ui
  • react-bootstrap, @clayui 3.x
  • Recharts: LineChart, PieChart, BarChart
  • chat-ui-kit-react / react-chat-elements
  • react-use-websocket, websocket 1.0.32
  • Vue.js 2.6.x, Vuex, vue-router, vuera
  • vue-loader, vue-cli-service

Go

  • Go 1.12
  • gin, Iris
  • nutsdb, upper.io/db.v3 + mattn/go-sqlite3 + SQLite
  • gobuffalo/packr

Tools

  • Visual Studio Code, Atom, Notepad++
  • WinMerge, Markdown
  • Postman, SoapUI, ngrok
  • swagger-editor, swagger-ui
  • DBeaver Community Edition 6.1.4
  • Trello, Microsoft Teams, Telegram
  • UML: StarUML, astah* 6.x, MagicDraw

Development

  • Git for Windows 2.22, SourceTree 3.3.9
  • Gitea 1.13.0, Gogs 0.11.86, GitHub, GitLab
  • Redmine 4.1.1, JIRA, Trac, Jenkins
  • Podman, Docker Toolbox + Oracle VirtualBox
  • Vagrant 1.7.4 + Ansible

Software Engineering

  • Software Development
  • Program Management
  • OOA, Object-Oriented Analysis
  • OOD, Object-Oriented Design
  • OOP, Object-Oriented Programming
  • UML, Unified Modeling Language
  • Design Patterns

Experience

17


Technical Manager

Stark Technology Inc. | 2008-03 - 2020-12
  • See "Projects" below for more information
  • The first one to use these technologies and have a subsequent impact on the development team’s skills
    - React.js, Vue.js + Vuex + Vue Router, SPA, Rollup.js
    - GraphQL, JWT
    - Spring MVC, Spring Data JPA, Spring Boot
    - JPA, Java 8 Lambda expression and Stream API
    - Node.js, mocha + chakram + mochawesome
    - GIT, SVN

Senior Software Architect

GS1 Taiwan | 2006-11 - 2008-02
  • ScratchCard Management System - GSiMedia.com
  • UBN-COSMOS framework
  • Design / evaluate the application software infrastructure and architecture
  • Design / develop the JavaEE-based Application Infrastructure using open source APIs
  • System Administration, including: SVN, TWiki, JSPWiki
  • JSF, ICEfaces, Facelets, MyFaces, Spring Framework, Apache Shale, Spring Acegi Security, JPA, Hibernate ORM, Apache Maven, Eclipse, Apache Tomcat, GlassFish, Liferay Portal, MySQL, PostgreSQL, CentOS, SVN, TWiki / JSPWiki, UML: MagicDraw

2 / 17

Projects

34


resume-nextjs-ts

side-project
2021-05
The web site for my resume using Next.js SSG (Static Site Generation) hosted on Google Firebase
  • Next.js: a minimalistic framework for server-rendered React applications as well as statically exported React apps
  • Taiwind CSS: a utility-first CSS framework
  • TypeScript: an open-source language which builds on JavaScript by adding static type definitions
  • JSON Resume, the JSON-based standard for resumes
  • Hosted on Firebase with Google Analytics for Firebase and Cloud Logging enabled
  • ngrok for the localhost testing of the mobile responsive at the breakpoint of 360 dp
Next.js 10.1.3 + React.js 17.0.2 + TypeScript 4.2.4 + SCSS, Tailwind CSS 2.1.2, Font Awesome: react-fontawesome 0.1.14, ngrok, JSON Resume, Google Firebase CLI: firebase-tools 9.10.0, Google Analytics for Firebase, Google Cloud Logging

resume-angular

side-project
2021-04
The web site for my resume using Angular 11 hosted on Google Firebase
  • Angular: a TypeScript-based open-source web application framework
  • Taiwind CSS: a utility-first CSS framework
  • JSON Resume, the JSON-based standard for resumes
  • Hosted on Firebase with Google Analytics for Firebase and Cloud Logging enabled
  • ngrok for the localhost testing of the mobile responsive at the breakpoint of 360 dp
Angular 11.2.11 + TypeScript 4.1.5 + SCSS, Tailwind CSS 2.1.2, Font Awesome: angular-fontawesome 0.8.2, ngrok, JSON Resume, Google Firebase: angular/fire 5.1.4, Google Analytics for Firebase, Google Cloud Logging

2 / 34

Education

  • Fu Jen Catholic University - Minor | English Language and Literature
    1990-07 - 1994-06
  • Fu Jen Catholic University - Bachelor's degree | Applied Mathematics
    1989-07 - 1994-06
  • Taipei Municipal Jianguo High School
    1986-07 - 1989-06

Languages

  • Chinese (Native Speaker)
  • English (Professional working proficiency)
Last Updated: 2021-05-04T08:50:00+08:00