Summoners War Merger (hosted at GitHub Pages)
Goals
- Demonstrate full stack technical capabilities π»
- Demonstrate rapid π prototyping
- Make useful tool for gaming
- I am an avid SW player π€
- A lot of my friends play SW π
Goal - Sharpen Angular 4.x
skills
- Utilize TypeScript for the Angular application
- β All components are to be written in TypeScript, as the Angular team suggests (and Angular quick start generates)
- β Utilize properties and components properly
- β Utilize import / export and modular design (appropriately split classes, modules, components, css, and html)
- β Utilize dependency injection (e.g. inject data service / mock data service)
- β
Add routing using Angular
Router
injection and route configuration - β Use dynamic classes and class names in templates via Angular scoped methods
- β³ Add hash navigation where applicable
- Maintain CSS Quality
- β
No
!important
flags are to be used in the CSS - β
Only
em
or%
units are to be used in the CSS - β No repeated identifiers
- β³ Add build step to automatically verify CSS formatting / quality (something like ESLint for CSS)
- β
No
- Customize and enhance site from generated code
- β Add favicon to the site (uses default Angular favicon currently) Β - β³ Add accurate favicon to admin site (after creating one)
- β³ Add FB OpenGraph (and other social platforms) meta tags
Goal - Sharpen general JavaScript
skills
- Utilize
Babel
- β Practice setting up automatic code transpilation
- Utilize ESlint
- β Safer code
- π Nicely formatted
- β€οΈ Visual Studio Code has a beautiful integration for this already
- Utilize ES6+ where possible
- β const vs let
- β
arrow functions (new context of
this
, more terse syntax) - β Template literals
- β Tagged template literals (Mozillaβs MDN was very useful)
Goal - Sharpen general server engineering skills
- β
Explore new
brotli
encoding (and other image / video encodings) - β
Practice
NodeJS
package management (package.json
,npm
,nodemon
) - β
Practice
GitHub
issue tracking and project management - β
Basic CORS handling for Angular forms (not secure atm, however)
- Helpful: John Zhang article
- Good reference/refresher: HTML 5 Rocks
- β
Practice integrating multiple data sources
- β SummonersWar.co
- β SWFR (SW France) π«π·
Technologies
- Angular
4.2.5
- Angular Quickstart was the most useful here (no surprise there, π€£)
- Angular 2.0 Training Book was an incredible reference throughout and clearly explained concepts (like Module vs. Component)
- Babel transpiler
- LOTS of help from this (babel example node server) repository (from the babel team itself)
- es6-features.org was useful for reference on new features
- pawelgrzybek.com helped a bit too
- eventbrite has a surprisingly cogent article
- exploringjs.com was beyond helpful
- Node
v6.11.0
- NPM
3.10.10
- Visual Studio Code
1.13.1