Skip to content

A comprehensive, high-performance portfolio website showcasing professional experience, technical expertise, published work, and open-source contributions. Built with modern web technologies and optimized for performance and accessibility.

License

Notifications You must be signed in to change notification settings

minhtran241/minhtran-site

Repository files navigation

Minh Tran: Professional Portfolio Website

A high-performance portfolio website showcasing software engineering, AI architecture, and research in distributed systems. Features technical projects, IEEE publications, and AI-powered solutions.

Overview

This is the source repository for minhtran.com, a professional portfolio of a software engineer and researcher specializing in distributed computing, AI systems, and backend architecture.

Technical Stack

Core Framework

  • Next.js 16.0.0 - React framework for production-grade applications with server-side rendering and static generation
  • React 19.2.0 - Modern UI library with latest features and concurrent rendering
  • Tailwind CSS 4.1.11 - Utility-first CSS framework for responsive design
  • DaisyUI 5.3.8 - Tailwind CSS component library

Content & Media

Data & Services

Monitoring & Analytics

Development Tools

UI & Utilities

Getting Started

Prerequisites

  • Node.js 18.18.0 or higher
  • Bun 1.3.0 or higher (recommended package manager)

Installation

# Clone the repository
git clone https://github.com/minhtran241/minhtran.com.git
cd minhtran.com

# Install dependencies using Bun (recommended)
bun install

# Or using npm
npm install

# Or using yarn
yarn install

Environment Setup

Create a .env.local file in the root directory by copying from the example:

cp .env.example .env.local

Required environment variables for basic functionality:

# Required for site URL generation
NEXT_PUBLIC_BASE_URL=http://localhost:3000

# Optional: GitHub integration
GITHUB_TOKEN=your-github-token
GITHUB_USERNAME=your-username

# Optional: WakaTime coding stats
WAKATIME_API_KEY=your-api-key
WAKATIME_USERNAME=your-username

# Optional: AI chatbot feature
COHERE_API_KEY=your-cohere-api-key

# Optional: Analytics
UMAMI_WEBSITE_ID=your-website-id

Note: The website will work without these optional services, but features like GitHub stats, WakaTime integration, and AI chatbot will be disabled.

Development

# Start development server with Turbopack
bun run dev

# Server will be available at http://localhost:3000

Build

# Build for production
bun run build

# Start production server
bun run start

Code Quality

# Check code formatting
bun run check

# Fix code formatting
bun run format

# Run linting
bun run prettier

Features

Professional Profile

  • Comprehensive employment history with detailed experience descriptions
  • Educational background and certifications
  • Published research and academic contributions
  • Integration with external services for real-time activity tracking

Technical Blog

  • Markdown-based content with syntax highlighting
  • Reading time estimation
  • GitHub Flavored Markdown support
  • Responsive image handling with optimization
  • Category and tag organization

Project Showcase

  • Featured projects with thumbnails and descriptions
  • Direct links to GitHub repositories
  • Project filtering and organization
  • Embedded project metadata

Dynamic Content

  • Integration with Spotify API for currently playing tracks
  • WakaTime integration for coding activity visualization
  • Real-time analytics and performance monitoring
  • Server-side rendering with dynamic data

Performance Optimizations

  • Turbopack for fast builds and HMR
  • Image optimization with responsive sizing
  • CSS and JavaScript code splitting
  • Caching strategies for static assets
  • Server-side rendering and static generation

Security

  • Content Security Policy headers
  • X-Frame-Options protection
  • XSS protection headers
  • Referrer policy configuration
  • HTTPS enforcement

Accessibility

  • Semantic HTML structure
  • ARIA labels and landmarks
  • Keyboard navigation support
  • Responsive design for all devices
  • Dark mode support with theme switching

Configuration

Environment Variables

Create a .env.local file for local development:

NEXT_PUBLIC_SITE_URL=http://localhost:3000
NEXT_PUBLIC_GITHUB_USERNAME=minhtran241

Analytics

The site includes privacy-focused analytics via Umami and Vercel Analytics. Configure endpoints in the environment as needed.

API Integration

API routes are configured in src/app/api/ directory. Services for Spotify and WakaTime integration are located in src/services/.

Build Optimization

The project includes bundle analysis capabilities:

# Generate bundle analysis
bun run analyze

The Next.js configuration includes:

  • Turbopack for rapid development builds
  • Optimized package imports to reduce bundle size
  • Source maps in production for debugging
  • Compression and header optimization

Deployment

The website is optimized for deployment on Vercel but can be deployed to any Node.js hosting platform:

# Build for production
bun run build

# Test production build locally
bun run start

Hosting Requirements

  • Node.js runtime environment
  • Support for Next.js 16.0.0
  • Environment variable configuration capability
  • Optional: CDN for static asset caching

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Contributing

For bug reports and feature requests, please open an issue on the GitHub repository. The repository is primarily maintained as a personal portfolio but welcomes technical discussions and suggestions.

Performance

Current performance metrics:

  • Next.js 16.0 with Turbopack for optimized builds
  • Lighthouse scores optimized for Core Web Vitals
  • Real-time monitoring via Vercel Speed Insights
  • Responsive image optimization with sharp
  • Automatic code splitting and lazy loading

Support

For technical questions or feedback regarding the website, please refer to the GitHub issues page or contact through the website's contact methods.

About

A comprehensive, high-performance portfolio website showcasing professional experience, technical expertise, published work, and open-source contributions. Built with modern web technologies and optimized for performance and accessibility.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published