This is a modern, single-page portfolio website built with Astro. It features dynamic content driven by a single JSON file—making it extremely easy to customize without touching any HTML or JavaScript file.
- ⚡ Single Page Application for seamless navigation
- 🎯 Hero section with name, social links, and resume download
- 🎓 Education history section
- 💼 Work experiences section
- 🛠️ Projects showcase section
- 🔧 Easy content management via a single
portfolio.jsonfile
/
├── public/
│ ├── favicon.svg
│ ├── Resume.pdf
│ └── images/
├── src/
│ ├── assets/
│ ├── components/
│ ├── data/
│ │ └── portfolio.json # All content data lives here!
│ ├── layouts/
│ ├── lib/
│ ├── pages/
│ ├── styles/
│ └── types/
├── astro.config.mjs
├── package.json
├── tsconfig.json
└── README.md
All the content you see on the site—name, education, work experience, and projects—is sourced from a single file: src/data/portfolio.json. This means:
- ✅ No need to edit multiple files or components
- 🔁 Easy to update or expand content
- 📈 Great for non-developers or quick iterations
To personalize the portfolio:
- Open
src/data/portfolio.json - Replace the default information with your own:
- Name & social links
- Resume file in
/public - Education and work history
- Projects and descriptions
- Save and deploy!
# Clone the repo
git clone https://github.com/tunauygun/Portfolio
# Navigate into the project
cd Portfolio
# Install dependencies
npm install
# Run the dev server
npm run devAll commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |