Skip to content

Portfolio built with Contentlayer, Next.js, Tailwind CSS Typescript (T3 Stack), and deployed through Vercel

License

Notifications You must be signed in to change notification settings

ruchernchong/portfolio

Repository files navigation

Personal Portfolio

Deploy with Vercel License: MIT

Welcome to my portfolio website! Visit the live site at ruchern.dev

🚀 Tech Stack

This portfolio is built with modern web technologies:

  • Framework: Next.js - React framework for production
  • Styling: Tailwind CSS - Utility-first CSS framework
  • Database: Neon - Serverless Postgres database
  • Deployment: Vercel - Platform for frontend frameworks and static sites

🛠️ Getting Started

Prerequisites

  • Node.js 18.x or higher
  • pnpm package manager

Installation

  1. Clone the repository
git clone https://github.com/ruchernchong/portfolio.git
  1. Navigate to the project directory
cd portfolio
  1. Install dependencies
pnpm install
  1. Set up environment variables
cp .env.example .env
  1. Update the .env file with your own values
# Upstash Redis
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
  1. Start the development server
pnpm dev

Your site should now be running at http://localhost:3000!

🔧 Configuration

Environment Variables

The following environment variables are required to run the application:

Variable Description Required
NEXT_PUBLIC_BASE_URL The base URL of your application (default: http://localhost:3000) Yes
DATABASE_URL Connection string for your Neon PostgreSQL database Yes
GH_ACCESS_TOKEN GitHub Personal Access Token for GitHub integration Yes
UPSTASH_REDIS_REST_URL The REST API endpoint URL for your Upstash Redis database. Found in your Upstash Redis console under "REST API" details Yes
UPSTASH_REDIS_REST_TOKEN Authentication token for accessing your Upstash Redis database via REST API. Found in your Upstash Redis console under "REST API" details Yes
IP_SALT Salt value used for IP address hashing Yes

Make sure to copy .env.example to .env and fill in the required values:

📝 Project Structure

portfolio/
├── app/              # Next.js app directory
├── components/       # React components
├── lib/             # Utility functions
└── public/          # Static assets

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

📫 Contact

@ruchernchong

Project Link: https://github.com/ruchernchong/portfolio