Are you struggling to create a professional portfolio website? Look no further! You can use the Developer Portfolio template and create your very own personalized portfolio today! My website is designed to be user-friendly and easily customizable, making it perfect for both developers and freelancers.
View live preview here.
- HERO SECTION
- ABOUT ME
- EXPERIENCE
- SKILLS
- PROJECTS
- EDUCATION
- CONTACTS
node --version
git --version
To Fork the repo click on the fork button at the top right of the page. Once the repo is forked open your terminal and perform the following commands
git clone https://github.com/<YOUR GITHUB USERNAME>/developer-portfolio.git
cd developer-portfolio
npm install
# or
yarn install
Then, run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 with your browser to see the result.
-
Build Docker Image and Run Container:
docker-compose up --build
-
Access the Application: Visit http://localhost:3000 in your web browser to view the running application.
-
Build the Docker Image using Dockerfile.dev:
docker build -t nextjs-app -f Dockerfile.dev .
-
Running the Docker Container:
docker run -p 3000:3000 nextjs-app
-
Access the Application: Visit http://localhost:3000 in your web browser to view the running application.
Please create a new .env
file from .env.example
file.
Eg:
NEXT_PUBLIC_GTM =
NEXT_PUBLIC_APP_URL =
TELEGRAM_BOT_TOKEN =
TELEGRAM_CHAT_ID =
GMAIL_PASSKEY =
EMAIL_ADDRESS =
Then, Customize data in the utils/data
folder.
Eg:
export const personalData = {
name: "Martin Barrera",
profile: "/profile.png",
designation: "Full-Stack Software Engineer",
description: "My name is Martin Barrera....",
email: "martin.barrera050423@gmail.com",
phone: "+393276548921 ",
address: "Via Alfredo Casella, 11",
github: "https://github.com",
facebook: "https://www.facebook.com",
linkedIn: "https://www.linkedin.com",
twitter: "https://twitter.com",
stackOverflow: "https://stackoverflow.com",
leetcode: "https://leetcode.com",
devUsername: "peak050423",
resume: "...",
};
# Deployment :rocket:
Deploying the app to platforms like Vercel or Netlify is quick and easy.
## Deploying to Vercel:
1. **Sign up or log in** to [Vercel](https://vercel.com/).
2. Once logged in, click on **"New Project"**.
3. Select your **GitHub repo** (the one that contains your forked project) and click **Import**.
4. Configure your environment variables in the Vercel dashboard by adding each key from your `.env` file.
- E.g., `NEXT_PUBLIC_GTM`, `NEXT_PUBLIC_APP_URL`, `TELEGRAM_BOT_TOKEN`, etc.
5. Click on **Deploy**. Vercel will automatically detect your Next.js app and build it.
6. Once the deployment is complete, you can visit your live website!
### Updating After Deployment
Whenever you push changes to your GitHub repo, Vercel will automatically redeploy the app, keeping your portfolio up-to-date.
## Deploying to Netlify:
1. **Sign up or log in** to [Netlify](https://www.netlify.com/).
2. In the **Netlify Dashboard**, click **"New site from Git"**.
3. Connect your **GitHub** account and select your repo.
4. Configure your environment variables by going to **Site Settings > Build & Deploy > Environment** and adding keys from your `.env` file.
5. Click **Deploy Site**. Netlify will build and deploy your portfolio.
---
# Tutorials :wrench:
## Gmail App Password Setup
1. **Log in to your Google Account** at [https://myaccount.google.com/](https://myaccount.google.com/).
2. Navigate to **Security** from the left sidebar.
3. Scroll down to the **"Signing in to Google"** section and make sure **2-Step Verification** is turned ON.
4. Once 2-Step Verification is enabled, you'll see an option for **App Passwords**.
5. Click on **App Passwords**. You may need to enter your Google account password again.
6. In the **Select app** dropdown, choose "Mail", and for **Select device**, choose "Other (Custom name)" and name it appropriately (e.g., "Portfolio").
7. Click **Generate**. A 16-character app password will be displayed. Save this password for later use in your environment variables (e.g., `GMAIL_PASSKEY`).
## Create a Telegram Bot
1. **Open Telegram** and search for the user **@BotFather**.
2. Start a chat with BotFather and use the `/newbot` command to create a new bot.
3. Choose a name for your bot.
4. Set a unique username for your bot (must end with `bot`, e.g., `PortfolioAssistantBot`).
5. Once your bot is created, BotFather will send you a **Token**. Save this token, as you will need it for your environment variables (e.g., `TELEGRAM_BOT_TOKEN`).
6. To get your chat ID:
- Open your bot in Telegram and send it a message.
- Visit the following URL in your browser, replacing `BOT_TOKEN` with your actual bot token:
`https://api.telegram.org/bot<BOT_TOKEN>/getUpdates`
- Look for the `chat` object in the response, which contains your **chat ID** (you can use this value for `TELEGRAM_CHAT_ID`).
---
# Packages Used :package:
| Used Package List |
| :--------------------: |
| @emailjs/browser |
| @next/third-parties |
| axios |
| lottie-react |
| next |
| nodemailer |
| react |
| react-dom |
| react-fast-marquee |
| react-google-recaptcha |
| react-icons |
| react-toastify |
| sharp |
| sass |
| tailwindcss |
---
# FAQ:
1. For those facing the issue of "`next` is not recognized as an internal or external command, operable program or batch file."
Run the following command:
```bash
npm install -g next
This installs Next.js globally
then do the usual npm run dev