HMV | PORTFOLIO
A modern, full-stack portfolio web application featuring a responsive UI, animated transitions, and a Node.js backend. Built with Vite, React, TypeScript, Tailwind CSS, Framer Motion, shadcn-ui, and Express.
- Project Info
- Features
- Tech Stack
- Monorepo Structure
- Getting Started
- Project Scripts
- Configuration
- Deployment
- License
Live URL: https://portfolio-brown-nu-26.vercel.app/
A showcase portfolio for developers, featuring a beautiful UI, dark/light theme toggle, and smooth animations. Easily customizable for your own needs.
- Responsive navigation bar with theme toggle (light/dark)
- Animated transitions using Framer Motion
- Mobile-friendly menu and navigation
- Modern UI with Tailwind CSS and shadcn-ui components
- Modular React components for easy customization
- Backend API with Express (Node.js)
- Environment variable support for configuration
- Ready for deployment on Vercel, Netlify, or Lovable
Frontend:
- Vite
- React
- TypeScript
- Tailwind CSS
- shadcn-ui
- Framer Motion
- Radix UI (for accessible UI primitives)
- Axios (for HTTP requests)
Backend:
off-portfolio/
│
├── Readme.md # Project root README
├── Client/ # Frontend (React)
│ ├── src/ # React source code
│ ├── public/ # Static assets
│ ├── package.json # Frontend dependencies & scripts
│ └── ... # Config files (Vite, Tailwind, etc.)
│
└── server/ # Backend (Node.js/Express)
├── index.js # Express server entry
├── package.json # Backend dependencies & scripts
└── ... # Config files
Clone the repository and install dependencies for both frontend and backend:
git clone https://github.com/AmjustGettingStarted/off-portfolio.git
cd off-portfolio
# Install frontend dependencies
cd Client
npm install
# Install backend dependencies
cd ../server
npm installStart the backend (Express server):
cd server
npm run startBy default, the backend runs at http://localhost:8080.
Start the frontend (React app):
Open a new terminal:
cd Client
npm run devThe frontend runs at http://localhost:5173 (or as indicated in your terminal).
Frontend (Client/package.json):
npm run dev– Start Vite dev servernpm run build– Build for productionnpm run preview– Preview production buildnpm run lint– Lint code with ESLint
Backend (server/package.json):
npm run start– Start Express server
- Frontend environment variables:
Place variables inClient/.env(see Vite docs for variable naming). - Backend environment variables:
Place variables inserver/.env.
You can deploy the frontend and backend separately or together, depending on your hosting provider.
- Frontend: Deploy
Clientto Vercel, Netlify, or Lovable. - Backend: Deploy
serverto Vercel, Render, or Railway.
Example: Deploying to Vercel
- Deploy the
Clientfolder as a Vercel project (set build command tonpm run buildand output directory todist). - Deploy the
serverfolder as a separate Vercel project (set build command tonpm run start).
This project is for personal portfolio use. Feel free to customize and use it for your own projects.
Because light attracts bugs!