A comprehensive, automated dashboard for Google Summer of Code students to showcase their entire GSoC journey on one page. This dashboard automatically fetches your GitHub contributions, displays your blog posts, tracks mentor feedback, and highlights your milestonesβall in a beautiful, responsive interface.
- π GitHub Contributions Tracking: Automatically fetches and displays your commits, pull requests, issues, and code reviews using GitHub Actions
- π¬ Slack Integration: Link to your organization's Slack workspace and showcase your community participation
- π Blog Posts Integration: Display your progress blog posts and technical write-ups
- π¨βπ« Mentor-Student Interactions: Document feedback and interactions with your mentors
- π Weekly Updates Timeline: Track your weekly progress throughout the program
- π Milestones & Achievements: Highlight your accomplishments and key milestones
- π One-Click Setup: Simply fork this repository and update the configβGitHub Actions handles the rest!
- π± Responsive Design: Beautiful UI that works on all devices
- π Auto-Updates: Dashboard updates automatically via scheduled GitHub Actions
Click the "Fork" button at the top right of this page to create your own copy of this dashboard.
- Go to your forked repository's Settings β Pages
- Under "Source", select GitHub Actions
- Save the changes
Edit config.json with your information:
{
"student": {
"name": "Your Name",
"bio": "Google Summer of Code Contributor",
"avatar": "https://github.com/YOUR-USERNAME.png",
"github": "https://github.com/YOUR-USERNAME",
"email": "[email protected]",
"blog": "https://yourblog.dev",
"linkedin": "https://linkedin.com/in/YOUR-PROFILE"
},
"project": {
"title": "Your GSoC Project Title",
"description": "Brief description of your project",
"organization": "Your Organization Name",
"timeline": "May 2024 - August 2024",
"repository": "https://github.com/ORG/REPO"
},
"slack": {
"workspaceUrl": "https://your-org.slack.com/join/shared_invite/xxx",
"channels": ["general", "gsoc-2024", "your-project-channel"]
},
"mentor": {
"name": "Mentor Name",
"email": "[email protected]",
"avatar": "https://github.com/MENTOR-USERNAME.png",
"role": "Project Mentor"
}
}That's it! Your dashboard will be live at https://YOUR-USERNAME.github.io/MY-GSOC-TOOL/
Edit data/blog-posts.json:
[
{
"title": "Your Blog Post Title",
"excerpt": "A brief summary of your post",
"url": "https://yourblog.dev/post-url",
"date": "2024-06-01",
"readTime": "5 min read"
}
]Edit data/weekly-updates.json:
[
{
"title": "Week 1: Getting Started",
"summary": "What you accomplished this week",
"date": "2024-06-03"
}
]Edit data/feedback.json:
[
{
"from": "Mentor Name",
"content": "Feedback from your mentor",
"date": "2024-06-05"
}
]Edit data/milestones.json:
[
{
"title": "Milestone Title",
"description": "What you achieved",
"date": "2024-06-10",
"icon": "trophy"
}
]Available icons: check-circle, users, code-branch, star, trophy, award, flag
The dashboard includes a GitHub Actions workflow that:
- Automatically fetches your GitHub contributions (commits, PRs, issues, reviews)
- Updates the data daily at midnight UTC
- Deploys to GitHub Pages automatically
The workflow runs:
- Daily at midnight UTC (scheduled)
- When you push changes to
config.jsonordata/files - Manually via the Actions tab
To manually update your dashboard:
- Go to the Actions tab in your repository
- Select Update GSoC Dashboard
- Click Run workflow
Edit styles.css to customize the appearance. The CSS uses CSS variables for easy theme customization:
:root {
--primary-color: #4285f4;
--secondary-color: #34a853;
--accent-color: #fbbc04;
/* ... more variables */
}Modify index.html to change the dashboard layout or add new sections.
The dashboard.js file handles all data loading and rendering. Modify it to add custom data processing logic.
MY-GSOC-TOOL/
βββ .github/
β βββ workflows/
β βββ update-dashboard.yml # GitHub Actions workflow
βββ data/
β βββ github-contributions.json # Auto-generated GitHub data
β βββ blog-posts.json # Your blog posts
β βββ feedback.json # Mentor feedback
β βββ weekly-updates.json # Weekly progress
β βββ milestones.json # Your achievements
βββ index.html # Dashboard HTML
βββ styles.css # Dashboard styles
βββ dashboard.js # Dashboard logic
βββ config.json # Your personal config
βββ README.md # This file
- Check that GitHub Pages is enabled in Settings β Pages
- Verify the GitHub Actions workflow ran successfully in the Actions tab
- Make sure
config.jsonhas valid JSON syntax
- Ensure your
config.jsonhas the correct GitHub username - Check that the GitHub Actions workflow has the necessary permissions
- Verify your repository activity is public
Add a CNAME file to the repository root with your domain name, and configure your DNS settings.
Contributions are welcome! If you have ideas for improvements:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.
- Built for Google Summer of Code students
- Inspired by the need for a comprehensive GSoC portfolio tool
- Thanks to all GSoC mentors and organizations
- Update regularly: Commit your weekly updates and blog posts consistently
- Document everything: Use the feedback section to track mentor interactions
- Share your dashboard: Include the link in your GSoC proposal and final report
- Showcase achievements: Add all your milestones, no matter how small
- Write blog posts: Technical writing helps you and others learn
If you encounter issues or have questions:
- Open an issue in this repository
- Check existing issues for solutions
- Reach out to the community
Made with β€οΈ for GSoC Students
Start your GSoC journey with a professional dashboard! π