faisal-dev
Welcome to my personal website! where I share my thoughts, projects, insights & blogs. Feel free to explore and get inspired
β¨ Features
- β‘οΈ Next.js 14 with App Router (Turbo)
- π MDX powered by velite
- π¨ Tailwind CSS - for styling
- π Shadcn UI - accessible UI components
- π‘ Strict TypeScript and ESLint configuration
- π± Responsive design
- π SEO optimized with meta tags and JSON-LD
- π° RSS feed
- πΊ Sitemap
- π Vercel Analytics
- π Blog with comments, likes, and post views
- π Blog post search
- π Table of contents for blog posts
- π Code syntax highlighting - using Shiki
- π¨ Animation - using Framer Motion
- π LightHouse score of nearly 100
- π Prettier - code formatting
- γ°οΈ Prisma & Vercel Postgres
- π·π»ββοΈ t3-env - validate environment variables before building
π¨ Requirements
- Node, recommended
20.x - npm, recommended
10.5.0 - PostgreSQL, recommended
14.xcheck https://vercel.com/storage/postgres - Visual Studio Code https://code.visualstudio.com/
- For the contact section, I'm using NoCode API https://nocodeapi.com/. Simply create an account here and under the marketplace, enable the Excel Sheet API. Once enabled, you will receive a tabId and an API key.
- For the blog comments, I'm using the Giscus component. Set up your configuration https://giscus.app/.
π Getting Started
Follow these steps to run the project locally on your machine:
git clone https://github.com/BinarySenseiii/personal-website.git
cd personal-website
npm install
Create a .env.local file based on the provided .env.example file and fill in the necessary
variables.
OR you can skip this by modifying src/constants/env.ts:
export const env = createEnv({
skipValidation: true,
server: {
// ...
},
})
It will skip the validation of environment variables. And you may notice that some functionalities will not work properly. But it's okay for learning.
Then generate prisma client:
npx prisma generate
npx migrate dev --name any
To run the app in development mode:
npm run dev
The app will be available at localhost:3000.
βοΈ TODO
- ESM import { build } from 'velite' may be got a [webpack.cache.PackFileCacheStrategy/webpack.FileSystemInfo] warning generated during the next build process, which has little impact, refer to https://github.com/webpack/webpack/pull/15688
βπ» Author
πͺͺ License
This project is open source and available under the GPL3 License.
Design & Developed by β€οΈ