My personal portfolio website designed to be simplistic and clean while including features like MDX blog posts with view counts, a dark mode toggle, gear list, an about page, and more.
backend:
- Next.js / TypeScript
- MDX / Contentlayer (Blog Posts)
- Vercel Postgres (Database)
frontend:
- Tailwind CSS (Styling)
- Radix Primitives
- Radix UI Colors (Color system)
- Framer Motion (Animations)
Make sure you have Node.js v18.17.0+ installed on your machine.
- Install Dependencies:
npm install
- Environment variables: Copy
.env.example
to a new.env.local
- Database Setup: See Database Setup
- Start Developing:
npm run dev
, this will automatically create the .contentlayer files and start the Next.js development server.
- Vercel Postgres https://vercel.com/docs/storage/vercel-postgres/quickstart
-- Create blog views table
CREATE TABLE IF NOT EXISTS blog_views (
slug VARCHAR(255) PRIMARY KEY,
count INT DEFAULT 0
)
## Deployment
This project can be [quickly deployed to Vercel](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FBrianRuizy%2Fb-r.io). Simply connect your Vercel account to your GitHub repository, and Vercel will automatically build and deploy your application with each new push to the main branch.
Add the project .env variables to your Vercel project settings.