Personal portfolio website & blog built with modern web technologies.
- Framework: Next.js
- Language: TypeScript
- Styling: Tailwind CSS
- Database: Prisma with PostgreSQL
- Content: MDX for blog posts
- Animations: Framer Motion
- Form Handling: Formspree
- Theme Switching: next-themes
- Deployment: Vercel
- Analytics: Vercel Analytics & Speed Insights
.
├── src/
│ ├── components/ # React components
│ ├── data/ # MDX blog posts and static data
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility libraries
│ ├── pages/ # Next.js pages
│ ├── styles/ # Global styles and Tailwind config
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Helper functions
├── prisma/ # Database schema and migrations
├── public/ # Static assets
└── scripts/ # Build and utility scripts
- Node.js (v18 or newer)
- pnpm (v10 or newer)
- PostgreSQL (for development)
-
Clone the repository:
git clone https://github.com/rajtslegr/rajtslegr.dev.git cd rajtslegr.dev -
Install dependencies:
pnpm install
-
Create a
.envfile from the example:cp .env.example .env
-
Start the development server:
pnpm dev
-
Open http://localhost:3000 in your browser.
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm type-check- Run TypeScript checkspnpm lint- Run ESLintpnpm lint:fix- Fix linting issuespnpm prisma- Run Prisma commands
- Responsive design for all device sizes
- Dark/light mode with system preference detection
- Blog with MDX content
- Performance optimized with Vercel analytics
- Contact form integration
- SEO optimized
This project is licensed under the MIT License - see the LICENSE file for details.
- Petr Rajtslegr - rajtslegr.dev