Skip to content

CodeLikeAGirl29/gitprofile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

gitprofile

A dynamic, unified dashboard to beautifully showcase your GitHub and Medium activity.


The Strategic "Why"

💡 The Problem: In today's interconnected developer ecosystem, showcasing your technical prowess often requires navigating disparate platforms. Aggregating meaningful statistics from GitHub and insights from your Medium articles into a single, cohesive, and visually appealing presentation can be a tedious, manual, and often overlooked task. This fragmentation hinders effective self-promotion and quick overviews of your contributions.

The Solution: gitprofile offers a sophisticated, automated solution to this challenge. By seamlessly integrating data from your GitHub and Medium accounts, it transforms raw statistics into an intuitive, interactive dashboard. This project empowers developers to present their coding achievements and thought leadership from a single source, fostering better personal branding and streamlined portfolio presentation with minimal effort.


Key Features

  • 🚀 Unified Data Presentation: Consolidates your GitHub activity and Medium article statistics into one elegant interface.
  • 📈 Interactive Data Visualizations: Presents your contributions through engaging charts and graphs for easy comprehension.
  • 📊 Real-time GitHub Insights: Displays key GitHub metrics such as repository stars, commits, and language usage dynamically.
  • ✍️ Medium Article Performance: Provides visibility into your Medium article views, claps, and publication trends.
  • ⚙️ Effortless Setup: Designed for quick deployment, getting your personalized dashboard up and running in minutes.
  • 📱 Responsive Design: Ensures your profile looks great and functions flawlessly across all devices, from desktop to mobile.

Technical Architecture

gitprofile leverages a robust, client-side architecture to deliver a fast and responsive user experience.

Tech Stack

Technology Purpose Key Benefit
HTML Structuring the dashboard content Universal accessibility, semantic markup
CSS Styling and visual presentation Modern aesthetics, responsive design
JavaScript Dynamic data fetching & rendering Interactive charts, real-time data updates
GitHub API Source for GitHub account data Accurate, up-to-date repository and user stats
Medium API Source for Medium article data Comprehensive insights into article performance

Directory Structure

gitprofile/
├── 📄 .gitignore
├── 📄 README.md
├── 📄 index.html
└── 📁 src/
    ├── 📁 css/
    │   └── 📄 style.css
    ├── 📁 js/
    │   └── 📄 main.js
    └── 📁 assets/
        └── 📄 favicon.ico

(Note: The src directory structure is an educated guess based on typical HTML projects. Actual contents may vary.)


Operational Setup

Prerequisites

To view and run gitprofile locally, you will need:

  • A modern web browser (Chrome, Firefox, Edge, Safari).
  • (Optional but recommended for local development): A simple local web server (e.g., Live Server VS Code extension, Python's http.server, or Node.js's serve) to handle potential API CORS restrictions.

Installation

Follow these steps to get your gitprofile dashboard running:

  1. Clone the repository:

    git clone https://github.com/your-username/gitprofile.git
    cd gitprofile
  2. Open the dashboard: For basic viewing, simply open index.html in your web browser.

    # On macOS
    open index.html
    # On Windows
    start index.html

    For local development and full API functionality (especially if encountering CORS issues), it's recommended to use a local web server:

    # Using Python (if installed)
    python -m http.server 8000

    Then, navigate to http://localhost:8000 in your browser.

Configuration

gitprofile relies on API keys to fetch data from GitHub and Medium. These keys are typically configured within the src/js/main.js file or similar JavaScript modules.

  1. Obtain API Keys:

    • GitHub Token: Generate a Personal Access Token from your GitHub settings (Developer settings > Personal access tokens). Ensure it has at least repo or public_repo scope for repository data and user scope for user profile data.
    • Medium RSS/API Key: Medium does not offer a public API in the same way GitHub does. Data is usually scraped from RSS feeds or through third-party solutions. For this project, you might need to configure the URL to your Medium RSS feed (e.g., https://medium.com/feed/@your_username).
  2. Update Configuration: Open src/js/main.js (or the relevant JavaScript file) and locate the sections where API keys or endpoints are defined. Replace placeholder values with your actual tokens/URLs.

    // Example (actual implementation may vary)
    const GITHUB_TOKEN = 'YOUR_GITHUB_PERSONAL_ACCESS_TOKEN';
    const MEDIUM_RSS_FEED_URL = 'https://medium.com/feed/@your_medium_username';
    
    // ... rest of your code

    Important: For security, never commit your personal API keys directly to a public repository. Consider using environment variables during development or a build process to inject these values. For a simple static HTML project, you might need to manually replace them after cloning or use a client-side environment variable solution if available.


Community & Governance

Contributing

We welcome contributions to gitprofile! Whether it's a bug report, a new feature, or an improvement to the documentation, your input is valuable.

  1. Fork the repository: Start by forking gitprofile to your GitHub account.
  2. Create a new branch: Choose a descriptive name for your branch (e.g., feature/add-dark-mode, fix/api-error).
    git checkout -b feature/your-feature-name
  3. Make your changes: Implement your feature or fix, ensuring code quality and adherence to existing patterns.
  4. Test your changes: Verify that your modifications work as expected and do not introduce regressions.
  5. Commit your changes: Write clear, concise commit messages.
    git commit -m "feat: Add new feature for X"
  6. Push to your fork:
    git push origin feature/your-feature-name
  7. Open a Pull Request (PR): Navigate to the original gitprofile repository on GitHub and open a new Pull Request from your forked branch. Provide a detailed description of your changes.

About

Gitprofile. A dashboard for displaying stats and charts about my GitHub & Medium account.

Topics

Resources

Stars

Watchers

Forks

Contributors