Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yiegin/portfolio-new

I've designed and developed a new portfolio leveraging Next.js 14 and TypeScript to showcase my skills and projects effectively.
https://github.com/yiegin/portfolio-new

Last synced: 5 days ago
JSON representation

I've designed and developed a new portfolio leveraging Next.js 14 and TypeScript to showcase my skills and projects effectively.

Awesome Lists containing this project

README

        


Portfolio Cover Image


Portfolio


Welcome to my newly designed portfolio! This site is a vibrant showcase of my professional journey, including recent projects, experiences, and certifications. It reflects the diverse aspects of my skills and the milestones that have shaped my career. Dive in and get inspired!

## ✨ Highlights

- ⚡️ **Next.js with App Router (Turbo)** - Harnessing the latest in routing technology for React applications.
- 🛡 **TypeScript** - Ensures robust type-checking and enhances developer productivity.
- 🎨 **Tailwind CSS** - For stylish and responsive design.
- 🖥 **Shadn/UI** - A modern UI framework for building visually appealing interfaces.
- 🔒 **Auth0** - Provides a secure and scalable authentication solution.
- 📊 **React Query** - Manages efficient data fetching and state within React.
- 🌅 **Cloudinary** - Advanced cloud service for media asset management.
- 🚪 **Authentication** - Implements robust security features to protect user data.
- 📝 **Guestbook with Post Views** - Adds interactive features to engage visitors.
- 🎭 **Animation** - Integrates Framer Motion/GSAP for smooth, compelling animations.
- 💄 **Prettier** - Automatically formats code to maintain a consistent style.
- 🌗 **Light/Dark Mode** - Enhances user experience with theme flexibility.
- 📱 **Responsive Design** - Ensures a great user experience across all devices.
- 🌟 **React Icons** - Uses a diverse icon library for visually intuitive interfaces.
- 📑 **Zod** - Provides strong type safety for form validation.
- 🗄 **Mongoose/MongoDB** - Handles efficient data storage and retrieval with a NoSQL database.
- 📧 **Nodemailer** - Manages reliable email sending for communication and notifications.

## ✨ Requirements

- **Node.js**: Recommended version 20.x, which supports all current dependencies and features.
- **pnpm**: Recommended version 8.14.0 for efficient package management.
- **Visual Studio Code**: Recommended IDE for its extensive support for JavaScript and TypeScript. Essential extensions include:
- **ESLint** - Helps enforce coding standards and identify problematic patterns.
- **Prettier** - Ensures consistent code formatting.
- **TypeScript** - Enhances code quality and developer productivity.
- **React Developer Tools** - Optional, for inspecting the React component hierarchy.
- **MongoDB**: Required for database operations as indicated by the Mongoose dependency.
- **Nodemailer**: Essential for handling outgoing emails within the application.
- **React Query**: Necessary for efficient data fetching, caching, and state management.
- **Zod**: Important for robust data validation in forms.

## 👋 Getting Started

To get the project up and running on your local machine, follow these steps:

```bash
git clone (https://github.com/YieGin/portfolio-new.git)
cd portfolio-new
npm install
```

Create a .env file based on the provided .env.example file and fill in the necessary variables.
```bash
NEXT_PUBLIC_AUTH0_DOMAIN=
NEXT_PUBLIC_AUTH0_CLIENT_ID=
NEXT_PUBLIC_AUTH0_CALLBACK_URL=
NEXT_PUBLIC_API_BASE_URL=
NEXT_PUBLIC_AUDIENCE=
```

To run the app in development mode:

```bash
npm run dev
```

Visit http://localhost:3000 to view the app in your browser.