Skip to content

wangshouren7/portfolio

Repository files navigation

Portfolio of Shouren Wang

A modern monorepo showcasing full-stack development capabilities, featuring a portfolio website and a decentralized token exchange platform.

Overview

This repository contains multiple applications built with modern web technologies, smart contracts, and DevOps practices. It demonstrates proficiency in frontend development, blockchain technology, and cloud deployment strategies.

Apps

name description online site code
Portfolio Personal portfolio website - code
Dex Decentralized token exchange platform supporting ERC20 token trading - code

Skill stack

Domain Technologies
Frontend - Next.js (React Framework)
- TypeScript
- TailwindCSS
- Three.js (3D Graphics)
- Standalone Mode Support
Blockchain - Solidity ^0.8.28
- Hardhat
- ERC20 Token Standard
- Smart Contract Development
Testing - Playwright
- Vitest
- GitHub Actions CI
DevOps - Docker Multi-stage Builds
- GitHub Container Registry
- Multi-architecture Support (linux/amd64, linux/arm64)
Development Tools - Git
- GitHub Actions
- VSCode
- Docker
Project Management - Monorepo (Turborepo)
- pnpm Workspace
- Remote Caching
Code Quality - ESLint
- TypeScript Strict Mode
- Automated Testing

Getting Started

Prerequisites

  • Node.js 18 or later
  • pnpm 8 or later
  • Docker (for containerized deployment)

Installation

  1. Clone the repository

  2. Install dependencies

pnpm install

Enable Eslint of this workspace

Add this setting to vscode settings.json.

{
  "eslint.workingDirectories": [
    {
      "mode": "auto"
    }
  ]
}

Development

Project Structure

.
├── apps/
│   ├── portfolio/
│   │   └── frontend/         # Portfolio website
│   └── dex/
│       ├── frontend/         # DApp frontend
│       └── contracts/        # Smart contracts
├── packages/
│   └── configs/             # Shared configurations
├── docker/                  # Docker configurations
└── .github/
    └── workflows/          # CI/CD pipelines

Available Scripts

# Development
pnpm turbo dev             # Start development servers
pnpm turbo build           # Build all applications
pnpm turbo test            # Run tests
pnpm turbo lint            # Run linting
pnpm turbo compile         # Compile contracts

Code Style

  • Follow TypeScript strict mode
  • Use ESLint for code linting
  • Follow conventional commits

CI/CD Pipeline

The repository includes GitHub Actions workflows for:

  • Automated testing
  • Docker image building
  • Container registry publishing
  • Multi-architecture support

License

This project is licensed under the MIT License