Weekly Coding Challenge
We Chern
I challenge myself to develop a new module/app every 7 days.
Goals:
Translate good ideas into brilliantly finished products.
Upskill myself
Backstory:
My skills have been stagnating for a while, so why not give myself a challenge to build stuff that I find interesting. I'd like to see what cool ideas I can think of and bring them to life! 🐣
By the end of this challenge, I'd like to look back and view the entire journey, of all the new skills I've obtained along the way.
Ready? Let's begin!
Start Date: Oct 4, 2022
End Date: Dec 31, 2022
Oct 2022 Week:
1. Build & publish my Portfolio Website's Landing Page
Next.js
Styled Components
Vercel
2. Build the Blog module of my website
GraphCMS (Hygraph)
TailwindCSS
3. Implement analytics on my website to track Website Metrics
Umami (privacy-focused analytics)
PostgreSQL
Railway (Self hosted)
4. -
Busy with university assignments and arranging to transfer to APU
Nov 2022 Week:
1. Modularize an old Flutter app using the MVC architecture
Riverpod State Management
2. Learn AWS Cognito to create a new app (Code name: Socrates)
Create UI Mockups using Figma
AWS Cognito
3. Implement AWS Stack with Golang and Flutter for Socrates
API Gateway
Lambda (Golang)
RDS (PostgreSQL)
VPC
IAM
CloudWatch
4. -
First week at APU, moved to APU's accommodation
Spent time meeting and socializing with new friends
Dec 2022 Week:
1. Research on technologies for a Data Streaming Pipeline (in terms of cost, time to setup) for Socrates
Evaluated the pros and cons of Elasticsearch vs OpenSearch [Went with OpenSearch]
Compared Apache Kafka vs Logstash vs AWS Kinesis vs AWS MSK vs AWS SQS [Went with Kafka]
2. Build a Data Streaming Pipeline [PostgreSQL -> Apache Kafka (Provisioned by Upstash) -> AWS OpenSearch] for Socrates
Debezium Source connector
Golang Lambda function as Sink connector
3. Build and publish Chrome Extensions on Google Chrome Web Store
Chromepapers - Beautiful Wallpapers for Chrome
SiteBlocker - Block Websites to Stay Focused
4. Build a Chrome Extension using Gmail API
OAuth 2.0
Building in progress... as it's complex
5. -
Went on a family trip without my laptop
Conclusion:
I've learnt a lot and improved my skills in the past 3 months.
Before:
I only knew how to build mobile apps and the backend of an OLTP.
After:
I've learnt how to build and deploy Websites, AWS Stack, Chrome Extensions, and Data Streaming Pipelines using Apache Kafka & Debezium connectors.