A modern, responsive personal profile dashboard built with React. Display your social media links, current music, live clock, and profile information in an elegant interface with dark mode support.
- 🌓 Dark/Light Mode Toggle - Seamless theme switching
- ⏰ Live Clock Display - Real-time date and time
- 👤 Dynamic Profile Integration - Fetches profile data from Gravatar API
- 🎵 Featured Music Link - Showcase your latest track
- 🔗 Social Media Grid - Organized display of all your social platforms
- 📱 Responsive Design - Works perfectly on desktop and mobile
- ⚡ Performance Optimized - Built with Vercel Analytics and Speed Insights
- 🧪 Fully Tested - Comprehensive Jest test suite
- Frontend: React 19.0.0
- HTTP Client: Axios
- Analytics: Vercel Analytics & Speed Insights
- Testing: Jest, React Testing Library
- Styling: CSS3 with custom properties
- Deployment: Vercel
src/
├── components/
│ ├── Header.js # App header with profile info
│ ├── Main.js # Main content wrapper
│ ├── Clock.js # Live clock component
│ ├── Profile.js # Profile display component
│ ├── Music.js # Featured music link
│ ├── GridContainer.js # Social links container
│ ├── GridItem.js # Individual social link items
│ └── Footer.js # Footer with coder info
├── context/
│ └── ThemeContext.js # Dark/light mode context
├── data/
│ └── linksData.js # Social media links configuration
├── styles/
│ └── App.css # Main stylesheet
└── assets/
└── images/ # Social media icons
-
Clone the repository
git clone https://github.com/k1nghandy/Profile-View.git cd Profile-View
-
Install dependencies
npm install
-
Configure your profile Edit
src/data/linksData.js
to customize:- Your username
- Social media links
- Featured music track
-
Start development server
npm start
-
Open in browser Navigate to
http://localhost:3000
npm start
- Runs the development servernpm build
- Creates production buildnpm test
- Runs the test suitenpm run eject
- Ejects from Create React App (⚠️ irreversible)
Edit src/data/linksData.js
:
const linksData = [
{
icon: yourIcon,
name: 'Platform Name',
url: 'https://your-profile-url.com',
},
// Add more links...
];
Change the username
in src/data/linksData.js
to your Gravatar username.
Modify CSS custom properties in src/styles/App.css
to change colors, fonts, and spacing.
Run the test suite:
npm test
Tests include component rendering, user interactions, and API integration.
This project is configured for easy deployment on Vercel:
- Connect your GitHub repository to Vercel
- Vercel will automatically deploy on every push to main
- Environment variables (if any) can be configured in Vercel dashboard
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you discover a security vulnerability, please report it through:
- GitHub Security Advisories
- GitHub Discussions tab
- Email: [Create an issue for contact details]
Please do not report security vulnerabilities through public GitHub issues.
This project is licensed under the MIT License - see the LICENSE file for details.
K1ngHandy
- GitHub: @k1nghandy
- YouTube: @K1ngHandy
- Icons provided by various social media platforms
- Gravatar API for profile integration
- React community for excellent documentation
- Vercel for hosting and analytics
⭐ Star this repository if you found it helpful!