Features • Requirements • Getting Started • Configuration • License
This repository contains the source code for my personal website, built to showcase my work and share my experiences. It's developed with a modern tech stack including Next.js and Tailwind CSS.
If you find this repository useful, please ⭐️ or fork it!
This project is built with a focus on performance, clean code, and a great developer experience.
-
Framework: Built with Next.js, a powerful React framework.
-
Language: Written in TypeScript for type safety and improved code quality.
-
Styling: Styled with Tailwind CSS, a utility-first CSS framework for rapid UI development.
-
Content Management: Integrates with the Notion API to fetch blog posts and other content.
-
Linting & Formatting: Enforces a consistent code style with ESLint and Prettier.
-
Animations: Smooth and beautiful animations powered by Motion.
-
Internationalization: Supports multiple languages using next-intl.
To get this project up and running locally, you'll need:
-
Node.js: Make sure you have a recent version of Node.js installed.
-
pnpm: This project uses
pnpmas its package manager. You can install it withnpm install -g pnpm.
Follow these steps to set up the project on your local machine.
- Clone the repository:
git clone https://git.npham.de/Nitestack/personal-site.git
cd personal-site- Install dependencies:
pnpm install-
Configure Environment Variables: Follow the steps in the Configuration section below.
-
Run the development server:
pnpm devThe site will be available at http://localhost:3000.
This project uses a combination of environment variables and a constants file for configuration.
- Create a
.envfile: Copy the example file to create your local configuration.
cp .env.example .env- Fill in your secrets: Open the
.envfile and add your credentials.
-
GITHUB_PERSONAL_ACCESS_TOKEN: A personal access token for the GitHub API, used to fetch repository information. -
NOTION_SECRET: Your Notion API secret key. -
NOTION_DATABASE_ID: The ID of the Notion database where your blog posts are stored.
Non-sensitive, static data that is used throughout the application is stored in src/constants.ts. This includes things like the site URL, author information, and navigation links. You can modify this file to change the site's branding and core settings.
This project is licensed under the Apache-2.0 license.