Skip to content
View DanielLin9406's full-sized avatar
๐Ÿ˜ƒ
๐Ÿ˜ƒ

Highlights

  • Pro

Organizations

@lazy-stock-screener-demo

Block or report DanielLin9406

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
DanielLin9406/README.md

๐Ÿ‘‹ ๐—”๐—ฏ๐—ผ๐˜‚๐˜ ๐— ๐—ฒ

I am a quick learner, able to grasp new concepts efficiently and effectively. In 2016, after obtaining a masterโ€™s degree in science, I decided to shift my career path and became a Software Engineer. After two years as a front-end developer and three years as a full-stack developer, I realized my foundational knowledge needed strengthening. In 2023, alongside starting my own project, I returned to school to study the fundamentals of computer science, which included problem decomposition, C++, database design, system design, algorithms, and data structures, among other topics.

๐ŸคŸ ๐—–๐—ฎ๐—ฟ๐—ฒ๐—ฒ๐—ฟ ๐—š๐—ผ๐—ฎ๐—น

My goal is to become a certified senior engineer, to think on a broader scale, and to lead my team with empathy. I aim to practice perspective-taking and make strategic trade-offs when working with limited resources. On the product side, I seek to translate abstract guiding principles into concrete, actionable steps and deliverables through constant communication and collaboration. Regarding my technical learning journey, I remain open-minded, with the ultimate goal of researching and selecting the most suitable solutions within the constraints of available resources.


๐Ÿง  Tech Skills

Languages:
โžข Javascript (expert)
โžข Golang (proficient)
โžข C++(prior exper.)
โžข Python (prior exper.)

System Design
โžข System Design Pattern: DDD/Clean Architecture
โžข Software Development Life Cycle (SDLC)

Front End
โžข React Ecosystem: Hooks, Router, Redux, SSR, dynamic import, Typescript
โžข Tools: Webpack, Babel
โžข API Client: Axio
โžข Style: CSS, SCSS, Style Component, Materical UI

Server
โžข Golang Ecosystem: Fasthttp, Gorm, MongoDriver
โžข Node.js Ecosystem: Express, Typescript, Chi+Mocha, Sequelize, Mongoose
โžข Python Ecosystem: Pandas, Mongoengine, SQLalchemy
โžข Microservice Ecosystem: gRPC
โžข DB/Cache: PostgreSQL, MongoDB, Redis

Dev-Ops
โžข Gitlab-CI
โžข Container: Docker, Docker-Compose
โžข Reverse-Proxy: Traefik
โžข Kubernete

Cloud
โžข GCP: Cloud Storage, VM, GKE
โžข AWS: S3, EC2


๐Ÿ“‚ Portfolios

๐–๐ก๐š๐ญ ๐ข๐ฌ ๐ญ๐ก๐ข๐ฌ?

  • A US stock screener based on the financial statement from www.sec.gov.

๐—ช๐—ต๐—ฎ๐˜ ๐—บ๐—ฎ๐—ธ๐—ฒ ๐˜๐—ต๐—ถ๐˜€ ๐—ฝ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜ ๐—ฑ๐—ถ๐—ณ๐—ณ๐—ฒ๐—ฟ๐—ฒ๐—ป๐˜ ๐—ณ๐—ฟ๐—ผ๐—บ ๐—ผ๐˜๐—ต๐—ฒ๐—ฟ ๐—ฝ๐—ฒ๐—ผ๐—ฝ๐—น๐—ฒ'๐˜€ ๐˜€๐—ถ๐—ฑ๐—ฒ ๐—ฝ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜?

  • I started from use-case/user story and went all the way to CI/CD.

๐…๐ž๐š๐ญ๐ฎ๐ซ๐ž

  • build autocomplete search with ternary search tree from ground up
  • TODO

๐“๐ž๐œ๐ก ๐ˆ๐—ฑ๐—ฒ๐—ฎ (/design-doc)

  • The overall goal is to give freedom to apply different tech stack and avoid unnecessary interference between services or teams. All these features make it highly maintainable.
  • Highly decoupled components, event-driven design, and SOLID principles, using Clean Architecture and DDD best practices with GoLang in the back-end

๐—ง๐—ฒ๐—ฐ๐—ต ๐—ฆ๐˜๐—ฎ๐—ฐ๐—ธ
๐˜๐˜ณ๐˜ฐ๐˜ฏ๐˜ต ๐˜Œ๐˜ฏ๐˜ฅ (/customer-web)
โžข Custom Webpack+ Babel stack
โžข React Hooks/React Router/Redux/React SSR/dynamic import/React in Typescript
โžข Style Component/Materical UI

๐˜š๐˜ฆ๐˜ณ๐˜ท๐˜ฆ๐˜ณ ๐˜š๐˜ช๐˜ฅ๐˜ฆ (/stock-server)
โžข Golang Server
โžข DDD/Clean Architecture
โžข PostgreSQL, MongoDB

๐˜‹๐˜ข๐˜ต๐˜ข ๐˜—๐˜ช๐˜ฑ๐˜ฆ๐˜ญ๐˜ช๐˜ฏ๐˜ฆ (/data-pipeline)
โžข Follow standard ETL process

๐˜‹๐˜ฆ๐˜ท-๐˜–๐˜ฑ๐˜ด
โžข Gitlab-CI
โžข Container: Docker
โžข Kubernete

๐˜Š๐˜ญ๐˜ฐ๐˜ถ๐˜ฅ
โžข GCP: GKE

๐๐จ๐ญ๐ž:

  • The main project is private and on gitlab, therefore, only part of this project are demonstrated on github organization.

๐’๐ค๐ข๐ฅ๐ฅ๐ฌ: JavaScript ยท Docker ยท React.js ยท Kubernetes ยท Python ยท Golang ยท Bash


Full-stack: Price Dashboard

๐–๐ก๐š๐ญ ๐ข๐ฌ ๐ญ๐ก๐ข๐ฌ?

  • An internal SPA for the purpose of setting and reading prices in terms of each product in the online shop.

๐—ช๐—ต๐—ฎ๐˜ ๐—บ๐—ฎ๐—ธ๐—ฒ ๐˜๐—ต๐—ถ๐˜€ ๐—ฝ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜ ๐—ฑ๐—ถ๐—ณ๐—ณ๐—ฒ๐—ฟ๐—ฒ๐—ป๐˜ ๐—ณ๐—ฟ๐—ผ๐—บ ๐—ผ๐˜๐—ต๐—ฒ๐—ฟ ๐—ฝ๐—ฒ๐—ผ๐—ฝ๐—น๐—ฒ'๐˜€ ๐˜€๐—ถ๐—ฑ๐—ฒ ๐—ฝ๐—ฟ๐—ผ๐—ท๐—ฒ๐—ฐ๐˜?

  • A complete full stack project

๐…๐ž๐š๐ญ๐ฎ๐ซ๐ž

  • Implemented 3-party API of Googleโ€™s spreadsheet API with OAuth2/API keys authorization to my personal website.

๐“๐ž๐œ๐ก ๐ˆ๐—ฑ๐—ฒ๐—ฎ

  • Developed and built up Price Dashboard from a front-end project with SPA feature to a full-stack project with microservice architecture and fully CRUD operations.

๐—ง๐—ฒ๐—ฐ๐—ต ๐—ฆ๐˜๐—ฎ๐—ฐ๐—ธ
๐˜๐˜ณ๐˜ฐ๐˜ฏ๐˜ต ๐˜Œ๐˜ฏ๐˜ฅ
โžข Custom Webpack+ Babel stack
โžข React Hooks, React Router, Redux, React SSR, dynamic import

๐˜š๐˜ฆ๐˜ณ๐˜ท๐˜ฆ๐˜ณ ๐˜š๐˜ช๐˜ฅ๐˜ฆ
โžข Node.js Ecosystem: Express, Typescript, Chi+Mocha, Sequelize, Mongoose
โžข DB/Cache: MongoDB, Redis

Dev-Ops
โžข Travis CI
โžข Container: Docker, Docker-Compose
โžข Reverse-Proxy: Nginx
โžข Terraform
โžข Kubernete

๐˜Š๐˜ญ๐˜ฐ๐˜ถ๐˜ฅ
โžข AWS: ECS

Skills: JavaScript ยท Docker ยท Redis ยท Travis CI ยท Mocha (JavaScript Framework) ยท Webpack ยท React.js ยท Kubernetes ยท Mongoose ODM ยท Nginx ยท Bash ยท Node.js


๐–๐ก๐š๐ญ ๐ข๐ฌ ๐ญ๐ก๐ข๐ฌ?

  • A pipeline to transform raw SEC financial reports into a customized version.

๐‡๐จ๐ฐ ๐ข๐ฌ ๐ญ๐ก๐ข๐ฌ ๐ฉ๐ซ๐จ๐ฃ๐ž๐œ๐ญ ๐ฎ๐ง๐ข๐ช๐ฎ๐ž?

  • A pipeline that is independent of existing financial APIs.

๐…๐ž๐š๐ญ๐ฎ๐ซ๐ž

  • Use Python to build a SEC financial report data pipeline.
  • Input is a raw financial report, while output is custom report on Google Excel.

๐“๐ž๐œ๐ก ๐ˆ๐—ฑ๐—ฒ๐—ฎ

  • Leverage Pandas and various design patterns.

๐“๐ž๐œ๐ก ๐’๐ญ๐š๐œ๐ค
๐˜š๐˜ต๐˜ฐ๐˜ณ๐˜ข๐˜จ๐˜ฆ
โžข Google Sheet

๐˜‹๐˜ข๐˜ต๐˜ข ๐˜—๐˜ช๐˜ฑ๐˜ฆ๐˜ญ๐˜ช๐˜ฏ๐˜ฆ
โžข Leverage design patterns such as Factory, Strategy, Mediator, Observer, Chain of Responsibility, and Builder.

๐๐จ๐ญ๐ž:

  • A complete version resides in the secFinancialReportScraper folder.

Skills: Python ยท Google Sheet API


๐–๐ก๐š๐ญ ๐ข๐ฌ ๐ญ๐ก๐ข๐ฌ?

  • Upgraded version of a email promotion and monitor system based on Stephergrinder's email sender. Solely to practice the cutting edge tech stack.

๐‡๐จ๐ฐ ๐ข๐ฌ ๐ญ๐ก๐ข๐ฌ ๐ฉ๐ซ๐จ๐ฃ๐ž๐œ๐ญ ๐ฎ๐ง๐ข๐ช๐ฎ๐ž?

  • Learning to build a full-stack proejct

๐“๐ž๐œ๐ก ๐ˆ๐—ฑ๐—ฒ๐—ฎ

  • Use Webpack-dev-server to proxy all api services and websocket connection.
  • Use express as static file server in production and handle websocket connection.
  • A express project in company with graphql+socket.io
  • A express project in company with apollo-server+socket.io
  • Update api service file structure from technical role to self-contained components.
  • Refractor api service from common.js to ES6 import syntax

๐“๐ž๐œ๐ก ๐’๐ญ๐š๐œ๐ค
๐˜๐˜ณ๐˜ฐ๐˜ฏ๐˜ต ๐˜Œ๐˜ฏ๐˜ฅ
โžข Custom Webpack+ Babel stack
โžข React Hooks, React Router, Redux, dynamic import
โžข WebSocket by Socket
โžข Husky+Lint-stage

๐˜š๐˜ฆ๐˜ณ๐˜ท๐˜ฆ๐˜ณ ๐˜š๐˜ช๐˜ฅ๐˜ฆ
โžข Node.js Ecosystem: Express, Chi+Mocha, Mongoose
โžข WebSocket by Socket.io
โžข GraphQL by express-graphql or apollo-server
โžข DB/Cache: MongoDB

๐’๐ค๐ข๐ฅ๐ฅ๐ฌ: JavaScript ยท Websocket ยท Nginx ยท Docker ยท Travis CI


Front-End: Mix Dan Studio

๐–๐ก๐š๐ญ ๐ข๐ฌ ๐ญ๐ก๐ข๐ฌ?

  • Refactored version of my very first website with OAuth 2.0 and Google Sheet API integrated.

๐‡๐จ๐ฐ ๐ข๐ฌ ๐ญ๐ก๐ข๐ฌ ๐ฉ๐ซ๐จ๐ฃ๐ž๐œ๐ญ ๐ฎ๐ง๐ข๐ช๐ฎ๐ž?

  • The first task involved transforming a static website into a server-hosted one with third-party API integration.

๐“๐ž๐œ๐ก ๐ˆ๐—ฑ๐—ฒ๐—ฎ

  • Multi-entry webpack
  • Write a replace image path webpack plugin
  • Implement OAuth 2.0 and API keys to authorize user.
  • Implement Google Sheet API

๐“๐ž๐œ๐ก ๐’๐ญ๐š๐œ๐ค ๐˜๐˜ณ๐˜ฐ๐˜ฏ๐˜ต ๐˜Œ๐˜ฏ๐˜ฅ
โžข Webpack
โžข Pug template
โžข WebSocket by Socket
โžข Husky+Lint-stage

๐˜š๐˜ฆ๐˜ณ๐˜ท๐˜ฆ๐˜ณ ๐˜š๐˜ช๐˜ฅ๐˜ฆ
โžข Express
โžข Google Sheet API

Skills: JavaScript ยท Google Sheet API ยท Node.js

Pinned Loading

  1. fullstack-priceDashboard fullstack-priceDashboard Public

    An internal SPA for the purpose of setting and reading prices in terms of each product in the online shop with microservice approach.

    JavaScript 1 1

  2. lazy-stock-screener-demo/stock-server lazy-stock-screener-demo/stock-server Public

    It is a golang server based on the idea of clean architecture and DDD best practices. A microservice based US stock screener for financial statements from www.sec.gov (SEC). Leveraging DDD design cโ€ฆ

    Go 1

  3. worker-financialReportScreenr worker-financialReportScreenr Public

    A SEC financial report is input and a well-organized table is output to Google Sheet.

    Python

  4. fullstack-emailSender-upgraded fullstack-emailSender-upgraded Public

    Upgraded version of a email promotion and monitor system based on Stephergrinder's fullstackreactcode. Solely to practice the cutting edge tech stack.

    JavaScript

  5. frontend-mixDanStudio frontend-mixDanStudio Public

    Refactored version of my very first website.

    SCSS 1

  6. lazy-stock-screener-demo/design-doc lazy-stock-screener-demo/design-doc Public

    A document that outlines the design phase of the project, leveraging Domain-Driven Design (DDD) and incorporating use cases and user stories.