A dynamic GitHub portfolio showcasing projects, statistics, and coding journey
Welcome to my interactive GitHub portfolio! ๐ This website is a living showcase of my coding projects and development journey. ๐ It automatically updates daily with the latest repository statistics, programming language usage, and project information directly from my GitHub profile.
Built with vanilla JavaScript, HTML, and CSS ๐ช, this portfolio demonstrates clean code practices, API integration, and automation through GitHub Actions. The site features a modern, responsive design with animated backgrounds โจ and an intuitive tabbed interface.
- ๐ Automated Daily Updates - Repository statistics refresh automatically every day at 5:40 PM Cuba time (21:40 UTC)
- ๐ Real-Time Repository Stats - Displays size, stars, forks, and descriptions for all repositories
- ๐ป Language Analytics - Visual breakdown of programming languages used across projects
- ๐จ Modern UI/UX - Clean, responsive interface with animated particle background
- ๐ฑ Mobile Friendly - Fully responsive design that works on all devices
- โก Fast & Lightweight - No heavy frameworks, just pure vanilla JavaScript
- ๐ Searchable & Organized - Easy-to-navigate tabbed layout for repositories and languages
Visit the live website: virusgaming64.github.io ๐
The site features:
- ๐ฆ Repos Tab: Browse all my GitHub repositories with detailed information ๐
- ๐ป Languages Tab: See the programming languages I work with and their usage percentages ๐
This portfolio uses a three-component automated system: ๐ฏ
Located in .github/workflows/update-repo-stats.yml:
- Runs automatically on a daily schedule (21:40 UTC)
- Can be manually triggered from the Actions tab
- Executes the Python data fetcher
- Commits updated statistics back to the repository
- Triggers automatic deployment to GitHub Pages
Script: scripts/fetch_repo_stats.py
- Connects to GitHub API to fetch repository data
- Retrieves comprehensive information for each repository
- Calculates aggregate language statistics
- Generates formatted size metrics (KB, MB, GB)
- Saves structured data to
data/repo-stats.json
Files: index.html, src/main.js, src/main.css
- Loads and displays repository statistics dynamically
- Renders animated particle background for visual appeal
- Provides tabbed navigation between different views
- Updates in real-time when new data is available
- Fully responsive across desktop and mobile devices
Repository statistics are stored in data/repo-stats.json: ๐พ
{
"last_updated": "2025-11-08T21:40:00Z",
"total_repositories": 15,
"overall_languages": {
"JavaScript": 45.5,
"Python": 30.2,
"HTML": 15.3,
"CSS": 9.0
},
"repositories": [
{
"name": "awesome-project",
"description": "An amazing project description",
"size_kb": 2048,
"size_formatted": "2.0 MB",
"languages": {
"JavaScript": 70.5,
"HTML": 20.0,
"CSS": 9.5
},
"stars": 10,
"forks": 3,
"html_url": "https://github.com/VIRUSGAMING64/awesome-project",
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-11-08T15:20:00Z"
}
]
}Want to run this project locally or contribute? Follow these steps: ๐
- ๐ Python 3.7 or higher
- ๐ A GitHub Personal Access Token (for fetching repository data)
- ๐ A modern web browser
- ๐ Basic knowledge of HTML, CSS, and JavaScript
-
Clone the repository ๐ฅ
git clone https://github.com/VIRUSGAMING64/virusgaming64.github.io.git cd virusgaming64.github.io -
Install Python dependencies ๐ฆ
pip install requests
-
Set up your GitHub token ๐
# Linux/Mac export GITHUB_TOKEN=your_personal_access_token_here # Windows (PowerShell) $env:GITHUB_TOKEN="your_personal_access_token_here"
-
Fetch repository statistics ๐
python scripts/fetch_repo_stats.py
-
Start a local web server ๐
# Python 3 python -m http.server 8000 # Or use any other local server like Live Server in VS Code
-
Open your browser ๐ Navigate to
http://localhost:8000๐
To manually update the repository statistics: โก
- Navigate to the Actions tab ๐ฌ
- Select the "Update Repository Statistics" workflow ๐
- Click "Run workflow" button
โถ๏ธ - Select the branch (usually
main) ๐ฟ - Click "Run workflow" to confirm โ๏ธ
- Wait for the workflow to complete (usually takes 30-60 seconds) โฑ๏ธ
- Refresh the website to see updated statistics ๐
Contributions, issues, and feature requests are welcome! ๐ Feel free to check the issues page. ๐
- ๐ด Fork the project
- ๐ฟ 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
This project is open source and available under the MIT License. โ๏ธ
VIRUSGAMING64 ๐จโ๐ป - @VIRUSGAMING64
Project Link: ๐ https://github.com/VIRUSGAMING64/virusgaming64.github.io
โญ Star this repository if you found it helpful! โญ
Made with โค๏ธ and โ by VIRUSGAMING64
๐ฎ Happy Coding! ๐ป