This is the personal portfolio website for Yi Zheng, a Senior Android Engineer at ByteDance. It acts as a digital resume, showcasing professional experience, technical skills, and featured projects. The site is built with modern web technologies, ensuring a high-performance and responsive user experience.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Linting: ESLint
resume/
โโโ public/ # Static assets (images, etc.)
โโโ src/
โ โโโ app/ # Next.js App Router pages and layouts
โ โโโ assets/ # Project-specific assets (logos, etc.)
โ โโโ components/ # Reusable UI components
โ โโโ lib/ # Data definitions (resume data)
โโโ .gitignore
โโโ next.config.ts
โโโ package.json
โโโ tsconfig.json
Follow these steps to set up the project locally.
- Node.js (Latest LTS version recommended)
- Package manager (npm, yarn, or pnpm)
-
Clone the repository:
git clone https://github.com/Ran-Mori/resume.git cd resume -
Install dependencies:
npm install # or yarn install # or pnpm install
Start the development server to view the website:
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 in your browser.
npm run dev: Starts the development server with hot-reloading.npm run build: Builds the application for production.npm run start: Starts the production server (requires a build first).- `npm run lint`: Runs ESLint to check for code quality issues.
This project includes a shell script for seamless deployment to a remote server (Ubuntu/Debian recommended).
- A remote server with SSH access (preferably `root` user).
- The server's IP address.
-
Make the script executable (first time only):
```bash chmod +x deploy_remote.sh ```
-
Run the deployment script:
```bash ./deploy_remote.sh <YOUR_SERVER_IP> ```
Example: ```bash ./deploy_remote.sh 1.2.3.4 ```
If you don't provide an IP address, the script will prompt you to enter one.
- Syncs Files: Uploads the project code to `/var/www/resume` on the remote server using `rsync`.
- Installs Dependencies: Automatically installs Node.js (v20), npm, and PM2 on the server if missing.
- Builds the App: Runs `npm install` and `npm run build` on the server.
- Starts the Service: Uses PM2 to start the application on port 80 and configures it to restart on boot.
Yi Zheng
- Role: Senior Android Engineer
- Company: ByteDance (Doubao, Douyin)
- GitHub: Ran-Mori
ยฉ 2026 Yi Zheng. All rights reserved.