Skip to content

OWASP-BLT/MY-GSOC-TOOL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GSoC Student Dashboard πŸŽ“

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.

GSoC Dashboard License GitHub Actions

✨ Features

  • πŸ“Š 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

πŸš€ Quick Start (3 Steps!)

Step 1: Fork This Repository

Click the "Fork" button at the top right of this page to create your own copy of this dashboard.

Step 2: Enable GitHub Pages

  1. Go to your forked repository's Settings β†’ Pages
  2. Under "Source", select GitHub Actions
  3. Save the changes

Step 3: Customize Your Dashboard

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/

πŸ“– Detailed Usage

Adding Blog Posts

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"
  }
]

Adding Weekly Updates

Edit data/weekly-updates.json:

[
  {
    "title": "Week 1: Getting Started",
    "summary": "What you accomplished this week",
    "date": "2024-06-03"
  }
]

Adding Mentor Feedback

Edit data/feedback.json:

[
  {
    "from": "Mentor Name",
    "content": "Feedback from your mentor",
    "date": "2024-06-05"
  }
]

Adding Milestones

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

πŸ€– GitHub Actions Automation

The dashboard includes a GitHub Actions workflow that:

  1. Automatically fetches your GitHub contributions (commits, PRs, issues, reviews)
  2. Updates the data daily at midnight UTC
  3. Deploys to GitHub Pages automatically

The workflow runs:

  • Daily at midnight UTC (scheduled)
  • When you push changes to config.json or data/ files
  • Manually via the Actions tab

Manual Trigger

To manually update your dashboard:

  1. Go to the Actions tab in your repository
  2. Select Update GSoC Dashboard
  3. Click Run workflow

🎨 Customization

Colors & Styling

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 */
}

Layout

Modify index.html to change the dashboard layout or add new sections.

Data Processing

The dashboard.js file handles all data loading and rendering. Modify it to add custom data processing logic.

πŸ“‹ File Structure

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

πŸ”§ Troubleshooting

Dashboard not updating?

  1. Check that GitHub Pages is enabled in Settings β†’ Pages
  2. Verify the GitHub Actions workflow ran successfully in the Actions tab
  3. Make sure config.json has valid JSON syntax

GitHub contributions not showing?

  1. Ensure your config.json has the correct GitHub username
  2. Check that the GitHub Actions workflow has the necessary permissions
  3. Verify your repository activity is public

Custom domain?

Add a CNAME file to the repository root with your domain name, and configure your DNS settings.

🀝 Contributing

Contributions are welcome! If you have ideas for improvements:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

πŸ“„ License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

🌟 Acknowledgments

  • Built for Google Summer of Code students
  • Inspired by the need for a comprehensive GSoC portfolio tool
  • Thanks to all GSoC mentors and organizations

πŸ’‘ Tips for GSoC Students

  1. Update regularly: Commit your weekly updates and blog posts consistently
  2. Document everything: Use the feedback section to track mentor interactions
  3. Share your dashboard: Include the link in your GSoC proposal and final report
  4. Showcase achievements: Add all your milestones, no matter how small
  5. Write blog posts: Technical writing helps you and others learn

πŸ“ž Support

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! πŸš€

About

Allows students to keep track of their voyage through a dashboard of contributions, feedback and documentation

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •