This is my personal website, showcasing my timeline, blog, and skills. It's built with Next.js, Chakra UI, and TypeScript!
- Blog: Articles on web development, cybersecurity, and other tech topics.
- Books: A list of books I've read and recommend.
- Bookmarks: A collection of useful links and resources.
- Responsive Design: Optimized for all screen sizes.
- Dark/Light Mode: App-wide theme switching.
- Sitemap: Automatically generated sitemap for SEO.
- Framework: Next.js
- UI Library: Chakra UI
- Language: TypeScript
- Styling: Emotion
- Form Handling: React Hook Form
- Linting/Formatting: ESLint, Prettier
- Testing: Playwright for E2E tests.
- Deployment: Vercel
- Node.js (v20 or later recommended)
- npm or yarn
- Clone the repository:
git clone https://github.com/your-username/your-repo-name.git cd your-repo-name - Install dependencies:
npm install # or yarn install - Set up environment variables:
Create a
.env.localfile in the root directory by copying the.env.examplefile (if you create one). Populate it with your API keys and other necessary configurations as described insrc/config.ts. Key variables include:NEXT_PUBLIC_EMAILEMAIL_PASSOPENAI_API_KEYNOTION_API_KEYNOTION_DATABASE_ID_BLOGNOTION_DATABASE_ID_BOOKSNOTION_DATABASE_ID_BOOKMARKS
To run the development server:
npm run dev
# or
yarn devOpen http://localhost:3000 in your browser to see the application.
To build the application for production:
npm run build
# or
yarn buildThis will create an optimized build in the .next folder.
To start the production server:
npm run start
# or
yarn startThis project uses Playwright for end-to-end testing.
To run the tests:
npm run test:e2e
# or
yarn test:e2eMake sure the development server is running before executing the E2E tests if reuseExistingServer is set to true in playwright.config.ts and IS_CI is false.
To check for linting and formatting issues:
npm run prettier:checkTo automatically fix linting and formatting issues:
npm run prettierThis project is licensed under the MIT License - see the LICENSE.md file for details.
- This project was bootstrapped using an example from Next.js examples with Chakra UI and TypeScript.
- Inspiration from various open-source projects and developer portfolios.