Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Tony Narlock's CV

Live Version v1 branch (react cv, vue.js cv)

Version 2 underway!

image

Let's see what's the latest and greatest for both of these.

This time we're using typescript and wiring-in webpack from the ground up.

Status

Package Source Website Status
React packages/react/ https://cv-react-v2.git-pull.com 🟡 In-progress
Vue packages/vue/ https://cv-vue-v2.git-pull.com Unstarted
Angular packages/angular/ https://cv-angular-v2.git-pull.com Unstarted
Common code packages/lib/ N/A 🟡 In-progress
Scripts packages/data/ N/A ✔️ Stable

Quickstart

$ yarn

# Optional: Sync GitHub contributions to data/scraped/
$ yarn github  # Assure GITHUB_API_TOKEN is set

# React
$ cd packages/react/
$ yarn start

# Vue
$ cd packages/vue/
$ yarn start

# Angular
$ cd packages/angular/
$ yarn global add @angular/cli
$ yarn start

# inside any of the 3, to build:
$ yarn build  # Build to dist/

Optional: Pull GitHub contributions

This isn't required as stub data preexists in packages/data/scraped.

Create a GitHub Personal Access Token and set it in env, ideally .bashrc / .zshrc / etc. via export GITHUB_API_TOKEN=INSERT_TOKEN_HERE. Check env | grep GITHUB_API to verify terminal has the variable set.

Edit your username in packages/scripts/github.ts and run yarn github in the project root.

Project specific tasks

react, vue, angular

Start dev server / live reload:

yarn start

Build to dist/:

yarn build

Lint project

yarn lint

Package updates (requires ncu):

yarn ncu

# Apply package updates to `package.json`
yarn ncu -u

data

Download latest github color mapping:

$ yarn workspace @tony/cv-data run github-colors

lib

Run jest tests

yarn workspace @tony/cv-lib run jest

Global tasks

Install all packages:

$ yarn

Lint all packages:

yarn workspaces run lint

Structure

  • packages/angular/: Angular

  • packages/vue/: Vue.js version

  • packages/react/: React version

  • packages/lib/: Common code (reducers/filters code, initial data collections)

    lib/search.ts - Search manager for filtering / faceting state. Each application uses this to hold raw state (of all activities, places), current filters, and filters/items available with filters applied.

    This essentially replaces what a global storage, such as redux/vuex. So there's no need to have three systems. And this is custom tailored to the job being done. Which in a sense increases readability.

    It has write inherent write protection and safety as it's just an ordinary ES2015 class

  • packages/scripts/: GitHub Scraper

  • packages/data/: initial data

    • my_actors.json: Actors noun, person, place, thing, etc.
    • my_activities.json: Activities verb, action, event, happening in relation to an actor
    • scraped/: data pulled from remote API's (such as scripts/github.js)
      • gh_activities.json: Pull requests for users except yourself / your own repos. Same format as my_activities.json, combined.
      • gh_actors.json: GitHub Repos. Same schema as my_actors.json), combined.

Version 2 (Under development)

  • Written from scratch

    No vue-cli or create-react-app

    Better understanding, control of what's being used

    Spin-off core webpack starter projects. MIT licensed. Fork to add your own loaders / wire-in to your project:

  • Typescript

    • Typed webpack configuration (webpack.config.ts)

      Maintainability

    • React: Typed components

    • Libraries / Common code: Typed Github commit fetcher

    • Libraries / Common code: Typed data structures

  • Lazy loaded, split chunks, smart initialization

    Utilize new splitting, dynamic import, React.lazy support in Webpack 4.x (https://webpack.js.org/guides/code-splitting/)

    Care taken to load essential stuff first and packages like moment (in itself split) last. Some experimentation is done here to find a balance of how to present the interface initially and can be tweaked overtime.

  • Smaller stuff

    Internal data props using underscores now are camelCase, e.g. repo_url -> repoUrl

Thanks

@IonicaBizao/github-colors - For data/gh_colors.json (via yarn workspace @tony/cv-data run github-colors), license MIT

You can’t perform that action at this time.