That's my personal dev log, you should not read it 🙊
I started end of October around 30/31 with the project, as a project ended the plan was to have full 4 weeks to develop the workshop. Luckliy (or unluckily) we got landed a project — starting on 21.11 and removing 1.5 weeks from my schedule 😑 This means workign on the workshop weekends, before work and after work. But it's a fun challenge and totally worth.
Did I mention I'm also 7 days in London for AngularConnect beginning of Novemeber ? Great planinng by me. See me working in London in some shared workspaces.
-
Research, Research, Research. There must be a Skip-Bo Game in JavaScript — which framework doesn't matter. But there isn't. Most games are only rough starters never completed.
-
Before doing nothing, I start with building a Typescript Only, TDD-driven version of Skipbo Core. This took my around 5 days.
-
TDD with implementing the Game Rules was a beautiful fit. I will use this to show people how powerful TDD can be!
-
Continue with an Angular version. But let's Integrate the Skipbo Core... no not yet. Search for some game artwork. And there is nothing. Search more. Still nothing. Search again — OK I give up, there is nothing I could use so I build myself a set of cards in Sketch
-
Research again for completed implementations. But nothing, there is really nothing.
-
Found the official App of Skip-Bo and I thought I could unpack the Android pkg somehow to get ANY insights. No luck.
-
Back to my Sketch design. I update some designs and layouts — as I got soem nice inspiration from the official app.
-
Let's start with implementing the Angular version. It's awesome how good my skipbo-core works as a "backend". This was not planned but its code only nature leaded to maybe.
-
Steady progress with the UI. I also created plenty of other Angular projects called
skipbo
,skipbo-workshop
,skipbo-workshop- scratchpad
,scratchpad
,playind-draft-no-ui
or simplylessions
. For what? Because I really need to get my lessions started. There are only three weeks left. -
I pivoted and started with some lists what I want to teach. I already have a list from the client but it's too huge. So I write a list, shrink it, switch it, delete it to end up with 6 items: modules, components, testing, aniamtion, rxjs & routing. Looks solid.
-
After having such a list I filled six markdown documents with whatever I felt is interesting about the topic. This was a great reflection of what I knew and what I should read about again.
-
Back to the projects, I continue working on building the final prototype and I spent far too much time with animations. But it looked so neat.
-
I run in circles and don't have a clear way of creating the lessions yet. One day the pressure (less than two weeks) is too much: I just create a first lession file. Write down some things I would want to learn about modules. Created a starter project which had all assets and the skipbo-core integrated and started coding. Step by step. Creatign branches for my milestones. That felt good!
-
It looks like I found my working mode. Chapter by chapter (the six topics) I review the theory files I created, and thought about nice things to let people build. I also got the brilliant idea to fast forward code to give the people a feeling of real progress so we can land at the final game that I prototyped. That helped me a lot as I was really blocked on how to make progress over the six chapters. It was important to me that the people can hold a finished game in the hands after six chapters. After figuring out that this was more important than people created every bit of code I was really confident that this will work.
-
I discovered the details & summary html5 tag for my purposes in the workshop to show Hints that are hidden initially.
Hint
So cool and useful for workshops 🙌- Generate a list of all branches (git branch -a) 49 (🧐) and manually check if all are pushed or force push if necessary)
- git cherry pick changes across all branches Found this in skipbo-core after creating ALL branches
+import { PlatformRef } from '@angular/core';
+import { executeInitAndContentHooks } from '@angular/core/src/render3/instructions';
Cherry picking to the resuce.
-
Here the completed workshop branch.
-
Tinkerign around with gifs and videos.
-
Started creating the presentation (less than 7 days) while working on the theory & challenge markdown files.
-
I use Deckset for the presentation so now technlogy gets in my way and I can just use markdown.
-
Refactor structure (separate theory + challenge folder, images moved)
-
Create Slides for Day 1 and Day 2 with Deckset so I can use markdown.
-
Should I do housekeeping across all branches or not 🤔
-
Decided to create previews of all completed challenges with netlify. Again, cherry picking the commit where I provide the necessary _redirect file (to allow pushState).
-
Forgot to create the theory file for components so I'm doign this now after I already finished everything else. Well "finished" we will see.
-
Completed Theory for Modules, Created a fresh new (because I forget) Theory part for components and and touched the routing part before my girl friend stopped me
-
Next day I continue early in the morning with structuring and creating simple theory code examples for Rxjs & Testing. I briefly touched animations only. It was okay already but I did far too much of content. Removed many parts and moved them to the end of the file in case someone is intereseted.
-
Created all slides with Deckset and got two nice backgrounds from my colleague to create a customized theme.
-
The slides showed me that I had too many tasks in some challenges. Removed them or put them under the same headline at least.
-
Updated the Readme of the workshop project and put in the preview links
-
Provided a license to both projects, I decided for a MIT with https://choosealicense.com/. I want this workshop to be usable to other people too.