This template helps you build a portfolio using Astro, Typescript, React, Tailwind CSS, and Shadcn UI.
This project utilizes the following technologies:
- Astro: A modern framework for building fast and efficient websites.
- Tailwind CSS: A utility-first CSS framework for rapid and responsive design.
- Shadcn UI: A collection of accessible and easy-to-use UI components.
- React: For interactive components and advanced functionality.
- TypeScript: For static type checking and improved developer experience.
Before starting, make sure you have the following requirements installed:
- Node.js (version 18 or higher)
- pnpm (version 8 or higher)
To install and run the project locally, follow these steps:
-
Clone this repository:
git clone https://github.com/tim-hub/techtim-astro-bento-portfolio
-
Navigate to the project directory:
cd techtim-astro-bento-portfolio
-
Install the dependencies:
pnpm install
-
Start the development server:
pnpm run dev
-
Open your browser and visit
http://localhost:4312
to see your portfolio in action. -
Config your site
- Edit
src/content/profileData.ts
to add your profile data - Edit
astro.config.mjs
to change the site information
- Edit
- Accessibility: Ensure your portfolio is accessible to all users, including those with disabilities.
- SEO: Optimize your portfolio for search engines by adding meta tags and relevant content.
- Performance: Use modern web development practices to ensure optimal performance, such as lazy loading images and minimizing CSS/JS.
- Responsive Design: Make sure your portfolio looks good on devices of all sizes, from mobile to desktop screens.
Contributions are welcome! If you have ideas or improvements, please open an issue or submit a pull request.
- This source codes are licensed under the MIT License.
- The content (
src/content/
) of the portfolio is licensed under the Creative Commons Attribution 4.0 International License. - The images (
public/
) used in the project are for template demonstration purposes only and should not be reused without permission.
This project was inspired by several outstanding portfolios. Here are some that served as references:
- Centralised data management inside one folder
- Use Astro recommended Content Collection to manage data
src/content
folder for blog posts, project data and profile datasrc/content/profileData.ts
for general profile data
- Tags system
- Simplified Dark/Light mode toggle