Activity

Nathan

Deployed the whole project via Homebrew, now it’s installable via

brew tap zibuyin/term2finder
brew install term2finder

After install, run with:

tf

Also added the -p argument which opens a folder in preview

Attachment
0
Nathan

Shipped this project!

Hours: 1.79
Cookies: 🍪 12
Multiplier: 6.52 cookies/hr

A simple TODO list within VS Code

It is designed to help developers (like me) to keep track of features we have to add, bugs we have to fix… Organising them instead of having random # TODO around the codebase

Features

  • Sidebar TODO panel with a live count badge.
  • Manual TODO adding (via Add TODO item in the command pallet)
  • Automatic detection of # TODO and // TODO comments across your workspace.
  • Click a TODO item to jump to the source location.
  • Tick the checkbox to complete an item:
    • Manual TODOs are removed from the list.
    • Comment generated TODOs remove the comment line from the source file.
      N.B. Comment-based removal DELETES WHOLE LINE, including code on the same line (reversiable via meta+z)
  • .todoignore to ignore paths
Nathan

Added auto recognition of # TODO XXX and // TODO XXX. Also added support for manually adding todo (via commands within the command palette!

Attachment
Attachment
0
Nathan

Added a basic side panel tree list view that shows the list of TODO tasks. This is done via VSCode’s tree view API. Which allows me to quickly implement a view

Attachment
0
Nathan

Shipped this project!

Hours: 5.75
Cookies: 🍪 54
Multiplier: 9.31 cookies/hr

I added a TOC section and a music player with this ship. The music player automatically loads based on the provided music_name-musician name (if it’s in the library in my CDN). The TOC is also generated based on markdown

Nathan

Added a music card that could be used anywhere (including in markdowns via .MDX)!

Attachment
0
Nathan

Added a TOC section which automatically generates based on the titles on the MD File

Attachment
0
Nathan

Shipped this project!

Hours: 32.45
Cookies: 🍪 149
Multiplier: 4.59 cookies/hr

I made The Lab to experiment with features I never implemented with my previous portfolio page. The Lab includes:

  • Auto-redeploy on update using PPOD (Which is a deploy tool I made myself)

  • Built using NEXT.JS, supports SSR (Server Side Rendering)

  • Blog post pages and project pages are rendered and generated on demand based on .mdx files. (THIS WAS A PAIN TO DO)

-Live Markdown editor built in for blog posting on the go

Comment section made using Giscus - integrates GitHub Discussions with comments on the pages

Media storage using Cloudflare R2

Status page and badge (status.nathanyin.com)

Overall, I am quite proud of what I made, and I learnt A LOT in backend file pipelines and React + Next.js workflow. I’ll be regularly updating the projects and blogs once I finish my exams. Stay tuned!

Nathan

Implemented a live Markdown editor for the admin page, it supports adding media via drag and drop (which caches them and uploads them to Cloudflare R2 via AWS S3 API when the post is published. When the post is published, it gets pushed to GitHub automatically.

Attachment
0
Nathan

Added the basic frontend of the admin panel, it rendered markdown automatically as you type (and renders using the same format as the actual pages). It is protected using Cloudflare Access, maybe I will also protect it using an authentication system that I implement myself later, I trust Cloudflare for now

Attachment
0
Nathan

[UPDATE: Apr 22: I did not expect this project to take me so long, so I did not log anything on flavourtown prior to Apr 19… ]

Added the blog section, which is dynamically server-side generated based on a .md file and metadata included within the file

Attachment
0
Nathan

Making the basic styling for each individual todo(s), added a circular progress bar for multi-stage processes (e.g different pages of a homework)

Attachment
0
Nathan

Initiated the project, added basic frontend logic

Attachment
1

Comments

Nathan
Nathan 3 months ago

:3

Nathan

Shipped this project!

Hours: 31.24
Cookies: 🍪 204
Multiplier: 6.52 cookies/hr

This is my personal website! But it has many more features compared to a usual website. It allows visitors to leave a message (in the contacts section), view my projects, and many more features!

Using APIs from all different endpoints (flavortown, hackatime…) was A PAIN, especially since I have to conceal my API key in my backend .env
I also challenged myself to make it using pure webdev (HTML+CSS+JS, no frameworks)!

P.S The webpage is purple-black-ish space themed (Cuz it’s cool!)

Nathan

The leave a message section now WORKS!!!, it will allow you to send 1 message per 5 minutes, and messages will be synced to my email!

Attachment
0
Nathan

Added a leave a message section on the website! Now it allows you to leave a message on the website! (WIP, NOT IN RELEASE BRANCH)

Attachment
0
Nathan

Added a toast banner that will appear at the bottom right of the screen when the user stays on the home screen for a while to prompt the user to look at my projects.

Attachment
2

Comments

dhruvil_patel
dhruvil_patel 4 months ago

Your website is amazing

Nathan
Nathan 4 months ago

^ Thanks! dhruvil_patel

Nathan

Refactored the code so the API fetching is less frequent, later I will cache the API responses so its even less frequent

Attachment
0
Nathan

Added a new card on the homepage to count total unique visitors. This is done through using the COUNT(UNIQUE ip_hashed) SQL statement to find the number of unique visitors to my website!

BTW, I am now using git commit message conventions! (So it looks professional lol)

Attachment
2

Comments

Silas
Silas 4 months ago

cool!

yefoi
yefoi 4 months ago

i will help you test the feature out by hopping on

Nathan

I added a backend program that stores the hashed ID in a SQL database. This will be used to calculate the number of unique visitors and to determine which project is the most popular later on (via click tracking), thereby recommending it for higher placement.

Attachment
0
Nathan

Added Google Analytics to the website to count the unique number of visitors, Ima check if there are any GDPR issues around this later…

Attachment
0
Nathan

Changed the generation logic of the pages, they are now only dependent on one md file, a js script will automatically generate a card in the Projects page, and have it point to a blob when correctly shows the HTML page containing the markdown post.

Attachment
0
Nathan

Added the page to display all my projects! They are all arranged into cards.
Added templates for displaying articles for my projects, which are written in Markdown and turned into HTML using an external script.

Attachment
Attachment
0
Nathan

Finished making the basic style of the cards on the component page, each card is a custom component which accepts the title, paragraph, and src of the image as attributes.

Attachment
0
Nathan

I added a mobile navbar to my website; it features a smooth animation, which is achieved through transitions in CSS.

Attachment
0
Nathan

Added a graph to display my Hackatime stats (Top Right). This is achieved through the use of a flex-box container, which allows child elements within to be set a percentage width (relative to the whole width of the container) via a value, which is the “percent” value provided by the Hackatime API.

Attachment
0
Nathan

Added a card on the homepage to show the latest devlog for this project from flavourtown. Later, I’ll implement a feature to let users navigate to my project page. which will show the full series of devlogs!

Attachment
0
Nathan

Manage to setup the backend to fetch the devlogs for this project, but still fail to do so for Hackatine, no response in Slack channel either :3

Attachment
0
Nathan

Added a button to toggle the snow effect (which is stored in local storage) and routing for different pages

Attachment
Attachment
0
Nathan

The header and footer of the webpage are now packed into custom HTML elements using the costumeElements.define function, which allows me to define an element that, in this case inherites the HTMLElement class, and expresses the HTML content packed within.

Attachment
Attachment
0
Nathan

I added the backend for the hackatime logs (so I can safely fetch from the API without exposing the API Key. Currently ,I ran into issues with API authorization. I’ve asked for help in Slack already :3

Attachment
0
Nathan

Added A place for Hackatime logs, current iframe approach looks ugly tbh, I will be calling the hackatime API next so I can make it look better, but that requires a backend to prevent API key leaks… oof

Attachment
Attachment
0
Nathan

Added the home page and a single card, also added the header, and the navbar & title within it. The website is responsive, e.g the PFP moved up to the header on phone view, but in the card component on a landscape (computer view)

Attachment
0