Portfolio app built with Next.js 13 & Contentlayer, MDX
Demo
![Cover](https://private-user-images.githubusercontent.com/25026241/266705384-f7e5e9ab-b24b-4d34-9754-780eda858e95.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3MDA2NDMsIm5iZiI6MTczOTcwMDM0MywicGF0aCI6Ii8yNTAyNjI0MS8yNjY3MDUzODQtZjdlNWU5YWItYjI0Yi00ZDM0LTk3NTQtNzgwZWRhODU4ZTk1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE2VDEwMDU0M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU1OTMwMjNlYzQ2ZWQxYTBlNTJjN2NjNzUxODM3ZTZhMGVjZTgzYmY3YmY4NjBhMGE0OWRhMzUwZjIzYzA0YWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.CYEP1-EcnufDka3BNe-RjO-Ud9V3Q2qULadNy7YGnk4)
portfolio-app-preview.mp4
![Screenshot 2023-06-10 at 10 00 18 PM](https://private-user-images.githubusercontent.com/25026241/266800882-1ca6414f-061f-4e99-819c-227e7e8fced1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3MDA2NDMsIm5iZiI6MTczOTcwMDM0MywicGF0aCI6Ii8yNTAyNjI0MS8yNjY4MDA4ODItMWNhNjQxNGYtMDYxZi00ZTk5LTgxOWMtMjI3ZTdlOGZjZWQxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE2VDEwMDU0M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2ZmFjZjJlM2VhZjk0NjhiODljYjFhMDMwZWE0MTAzN2VjZmYxY2RhZTY4NjllODYxZGI2ZDAxOGIyNWNkNDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.KGFeP8TLwNE3bcBTgeUT3c2_Z_PD-MMREaeTzH8yHMo)
![Screenshot 2023-06-10 at 10 00 18 PM](https://private-user-images.githubusercontent.com/25026241/266800914-9ac0a882-e121-4011-be63-6b984534a80a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3MDA2NDMsIm5iZiI6MTczOTcwMDM0MywicGF0aCI6Ii8yNTAyNjI0MS8yNjY4MDA5MTQtOWFjMGE4ODItZTEyMS00MDExLWJlNjMtNmI5ODQ1MzRhODBhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE2VDEwMDU0M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNiYjJkNDk3NmFmN2Q5OGYxOWNhMjlmMTk0YTc0YTQxZmMxODA0MDgyZGVhODM2YzgxZjgwZjQyZmY5NmU1YjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ex0z7BFXiRy3507LWeIWZJR16k7qiVXduf6i9cLeSdU)
- App Router,
- Server Actions
- Server and Client Components
- Metadata files
- Open Graph Image Generation using Vercel/Og
- UI Components built using Shadcn UI, Radix UI and Headless UI,
- Pages and blogs are using MDX and Contentlayer
- Sending emails using NodeMailer and React Email, Gmail
- Styled using Tailwind CSS
- Icons using Heroicons and Lucide
- Validations using Zod
- Written in TypeScript
To run this app locally you need
- Node.js (Version: >=18.x)
- Node Package Manager NPM - included in Node.js
- PostgreSQL (local or remote)
Want to get up and running quickly? Follow these steps:
-
Clone the repository it to your local device.
git clone https://github.com/timtbdev/Next.js-Portfolio-App.git
-
Set up your
.env.local
file using the recommendations in the.env.example
file. -
Run
npm installation --legacy-peer-deps
in the root directorynpm installation --legacy-peer-deps
-
Run
npm run dev
in the root directory -
Want it even faster? Just use
npm run d
That's it! You should now be able to access the app at http://localhost:3000
Admin dashboard will also be available on http://localhost:300/dashboard
- Tim (@timtbdev)
Licensed under the MIT license.