Available here
This project is a portfolio website showcasing my skills, experiences and key projects. It is designed with a focus on aesthetics, responsiveness and functionality.
- Frontend: React (Vite), TypeScript
- Styling: Tailwind CSS
- Hosting: Netlify
App.tsx: Main application component that sets up routing usingreact-router.Home.tsx: The main page containing the different sections: About, Experience, and Projects.About.tsx: A page with information about me.Experience.tsx: A page displaying my experiences using data fromexperiences.jsonand theExperienceCardcomponent.Projects.tsx: A page showcasing my projects, using data fromprojects.jsonand theProjectCardcomponent.Nav.tsx: Navigation component that dynamically highlights the current section in view usingIntersectionObserver.Section.tsx: Reusable section component to structure content.SocialBar.tsx: A component that renders links to my social media profiles.Footer.tsx: A simple footer component.
- Setup:
- Initialized the project using Vite with the React and TypeScript template.
- Configured Tailwind CSS for styling.
- Installed necessary dependencies such as
react-router,react-bootstrap-icons.
- Component Development:
- Created reusable components for sections, navigation, experience cards, and project cards.
- Implemented responsive design using Tailwind CSS utility classes.
- Used
IntersectionObserverin theNavcomponent to dynamically highlight the active section.
- Content Integration:
- Populated the website with my personal information, experiences, and projects.
- Stored experience and project data in JSON files (
experiences.jsonandprojects.json) for easy management.
- Deployment:
- Configured Netlify for continuous deployment from the GitHub repository.
- Ensured proper routing and asset handling by including a
public/_redirectsfile.
Clone the repository:
git clone https://github.com/brianxlim/portfolio
Navigate to the project directory:
cd portfolio
Install dependencies:
npm installoryarn install
Start the development server:
npm run devoryarn dev- Open
http://localhost:5173in your browser to view the website.
Build the project:
npm run buildoryarn build
Deployment
- Deploy the
distfolder to your hosting platform. In my case, I used Netlify. - Note: The
public/folder contains static assets like resume.pdf and project images to ensure they load correctly after deployment.