Nikhil Henry Portfolio

website·Indexed 30 days ago

https://nikhilhenry.vercel.app/

Personal website and portfolio of Nikhil Henry, a self-taught software developer. Features a blog covering topics like Vue forms and Astro, and a project showcase including a SwiftUI implementation of the game Set, Mood Scape, and Unavoca.

Tokens
1.8K
Snippets
5
Records
17
Agent score
75%

What's inside Nikhil Henry

  1. Overview of the Set card game project

    This project is a fully functional 1-player implementation of the card game 'Set', developed as a mid-term assignment for Stanford's CS193p course. The application was built from scratch within a two-week timeframe using Swift and SwiftUI.
  2. Overview of Moodscape Application

    Moodscape is a fullstack web application designed for desktop and mobile to boost mental awareness and well-being. It allows users to track daily productivity and happiness through reflections and visual summaries.
  3. Upscape Project Overview and Tech Stack

    Upscape is a productivity application designed for 'Do-ers' that implements time-blocking and ahead-planning techniques. The application is built with a Go-based backend and a Vue.js frontend.
    Backend: Go, Gin Framework
    Database: MongoDB Atlas (DaaS)
    Frontend: Vue.js V3, TypeScript, Tailwind CSS
    Authentication: JWT
    Deployment: Heroku (PaaS), GitHub CI/CD
  4. Unavoca project architecture and tech stack

    Unavoca is a server-side rendered portal developed in collaboration with the United Nations Office on Drugs and Crime (UNODC). It utilizes a headless CMS architecture to optimize for SEO and multiplatform performance.
  5. Technical stack for the Set card game

    The application is built using the following technical stack:

    • Language & Framework: Swift 5.5 and SwiftUI 2.0 for functional UI programming.
    • Architecture: Model-View-Controller (MVC) data architecture.
    • Animations: SwiftUI animation library for motion effects.
  6. Initialize a Vue multi-step form project with Tailwind CSS and daisyUI

    To set up the project environment, use Vite with the vue-ts template. Install Tailwind CSS following the official Vite guide, and add daisyUI as a development dependency. Configure daisyUI in the tailwind.config.js file to enable its component classes.
    # Scaffold project
    npm create vite
    # (Select vue-ts template)
    
    # Install daisyUI
    npm i daisyUI --save-dev
    // tailwind.config.js
    module.exports = {
      //...
      plugins: [require("daisyui")],
    };
  7. Manage blog content with Nuxt Content

    Nuxt Content is a powerful git-based CMS for Nuxt that combines the benefits of git-based systems with the dynamic integration typically found in self-hosted CMSs. It provides built-in instant search capabilities, making it a viable alternative to subscription-based site builders like Wix.
  8. Deploy a Nuxt site to Vercel for free

    Vercel provides serverless hosting with support for auto-deploy, custom domains, and server-side endpoints. To simplify the integration and configuration of Nuxt on Vercel, use the @nuxt/vercel-builder community package.
    # Install the Vercel builder for Nuxt
    npm install @nuxt/vercel-builder
  9. Build a media-based site using Nuxt

    Nuxt is a Vue-based SSR (Server-Side Rendering) framework suitable for media-based sites and JAMStack architectures due to its ease of use and server-side rendering capabilities.
  10. Implementing MongoDB in Go for Upscape

    When building the Upscape backend, the developer noted that Go lacks a convenient ORM for MongoDB similar to Mongoose in JavaScript. As a result, the project implements database interactions by writing manual queries using the official MongoDB Go driver.
  11. Moodscape Core Features

    Moodscape includes the following key features:

    • Daily Reflections and Moments: Users can record daily highlights, track productivity and happiness scores, and attach cover images.
    • Unsplash API Integration: A production-ready integration allowing users to search for and select cover images via text search.
    • Google OAuth Login: Secure user authentication and authorization using Google access and refresh tokens.
    • Moodscape Visualization: A weekly visual summary of a user's mental state, compiled from the number of reflections, moments, and overall productivity/happiness scores (inspired by Spotify music scapes).
  12. Moodscape Technical Stack

    The Moodscape application is built using the following technology stack:

    • Backend: Express
    • Database: MongoDB Atlas (DaaS) with Mongoose for schema and driver connection
    • Frontend: Vue.js V2 (Client SPA)
    • Authentication: JSON Web Tokens (JWT) and Google OAuth (using access and refresh tokens)
    • Infrastructure: Heroku (PaaS) and GitHub for CI/CD