This is a web portfolio project built using TypeScript with React for the frontend (and Django for the backend - soon implement after...).
- 3D interactive portfolio
- Built-in board games
- Modern animations
- React 18, TypeScript, TailwindCSS
- Framer Motion for animations
- Custom 3D components
frontend/
├── src/
│ ├── components/
│ │ ├── common/ # Shared components (Header, BoxesCore)
│ │ ├── sections/ # Page sections (Hero, About, Projects, etc.)
│ │ └── ui/ # Reusable UI components (ThreeDCard, ExternalLinkIcon)
│ ├── assets/ # Images, GIFs, and static assets
│ ├── styles/ # Global CSS and component styles
│ └── utils/ # Utility functions
├── public/ # Static files and favicons
└── package.json
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/truongvd3124/myPortfolio.git cd myPortfolio -
Install dependencies
cd frontend npm install -
Start the development server
npm start
-
Open your browser
http://localhost:3000to view the portfolio
npm run buildThe built files will be in the build directory, ready for deployment.
The portfolio uses a cyan/blue color scheme defined in TailwindCSS. You can customize colors in:
tailwind.config.js- Main color definitions- Component files - Individual color overrides
- Personal Info: Update
About.tsxwith your information - Projects: Modify
Projects.tsxto showcase your work - Skills: Edit the skills array in
About.tsx - Social Links: Update links in
Hero.tsxandContact.tsx
- Create a new component in
src/components/sections/ - Import and add to
App.tsx - Add navigation link in
Header.tsx
- Install gh-pages:
npm install --save-dev gh-pages - Add deploy script to package.json:
"scripts": { "deploy": "gh-pages -d build" }
- Build and deploy:
npm run build && npm run deploy - Enable GitHub Pages in repository settings
- Your site will be available at
https://username.github.io/repository-name
⭐ Thank you!


