Skip to content

About

A Ruby serverless application that fetches public repositories along with their language data from GitHub users, deployed on Vercel.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🪄 GitHub Project Fetch

A Ruby serverless application that fetches public repositories along with their language data from GitHub users, deployed on Vercel.

✨ Features

  • GitHub App Authentication: Uses JWT tokens for secure GitHub API access
  • Repository Data: Fetches comprehensive repository information including:
    • Name and description
    • Programming languages with byte counts
    • Fork and star counts
    • Creation and update dates
  • RESTful API: Clean JSON endpoints for easy integration
  • Error Handling: Comprehensive error handling for API limits and failures
  • Vercel Ready: Configured for serverless deployment on Vercel
  • Edge Caching: Optimized response caching using stale-while-revalidate for fast, up-to-date responses

📡 API Endpoints

Fetch User Repositories

curl https://github-project-fetch.vercel.app/api/projects?username=octocat

Fetches all public repositories and their language information for a given GitHub username. Example: octocat

Response Example:

{
  "username": "octocat",
  "projects_count": 8,
  "projects": [
    {
      "name": "linguist",
      "description": "Language Savant. If your repository's language is being reported incorrectly, send us a pull request!",
      "languages": {
        "Ruby": 204865,
        "Shell": 910
      },
      "forks_count": 219,
      "stargazers_count": 576,
      "html_url": "https://github.com/octocat/linguist",
      "created_at": "2016-08-02 17:35:14 UTC",
      "updated_at": "2025-08-03 07:36:00 UTC"
    }
...

Utility Endpoints

API Information

curl https://github-project-fetch.vercel.app/api

Returns API information and available endpoints.

Health Check

curl https://github-project-fetch.vercel.app/api/health

Returns the health status of the GitHub API connection.

📚 Documentation

📝 Note: This documentation is for developers who have forked this repository. If you're looking to use the API directly, go back up here.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass
  6. Submit a pull request

Built with 🪄 by Joe Sharp

About

A Ruby serverless application that fetches public repositories along with their language data from GitHub users, deployed on Vercel.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages