Search Code Repository using GitHub API by Name or User

Barandev
 
import os
from flask import Flask, render_template, request, jsonify
import requests

app = Flask(__name__)

GITHUB_API_URL = "https://api.github.com/search/code"

@app.route("/")
def root_route():
    return render_template('search.html')

@app.route("/search")
def search():
    query = request.args.get('q')
    headers = {'Authorization': f'token {os.environ["GITHUB_TOKEN"]}'}
    params = {'q': query}
    response = requests.get(GITHUB_API_URL, headers=headers, params=params)
    if response.status_code == 200:
        return jsonify(response.json())
    else:
        return jsonify({'error': 'Failed to fetch data from GitHub'}), response.status_code

About this template

This application is a GitHub Code Search tool, employing Flask for the backend and JavaScript with the Octokit library for the frontend. Users can input search queries, and the application fetches results from GitHub's code repository using the GitHub API. The Flask backend handles the API requests, while the JavaScript frontend dynamically displays the search results in a table format. The application provides a user-friendly interface for efficiently searching and browsing code hosted on GitHub. You can search by name or by user by customizing this template. Made by BaranDev[https://github.com/BaranDev]

Introduction to the GitHub Code Search Template

Welcome to the GitHub Code Search Template! This template allows you to create a web application that leverages the GitHub API to search for code across GitHub repositories. It features a sleek design and an intuitive user interface that displays search results in an organized manner. Whether you're looking to enhance your project with code search capabilities or just exploring the possibilities of the GitHub API, this template is a great starting point.

Getting Started

To begin using this template, simply click on "Start with this Template" on the Lazy platform. This will set up the template in your Lazy Builder interface, pre-populating the code so you can start customizing and deploying your application right away.

Initial Setup

Before you can start using the application, you'll need to set up an environment secret for the GitHub API token. This token is necessary for the application to authenticate with the GitHub API and perform searches.

  • First, you'll need to generate a personal access token on GitHub. Go to your GitHub settings, select "Developer settings," then "Personal access tokens," and generate a new token with the appropriate scopes for searching code.
  • Once you have your token, go to the Environment Secrets tab within the Lazy Builder.
  • Create a new secret with the key GITHUB_TOKEN and paste your GitHub personal access token as the value.

Test: Deploying the App

With the environment secret set, you're ready to deploy the application. Press the "Test" button on the Lazy platform. This will initiate the deployment process and, if necessary, the Lazy CLI will prompt you for any required user input.

Using the App

Once the app is deployed, you will be provided with a dedicated server link to access the web interface. Navigate to this link to interact with the GitHub Code Search application. Here's how to use it:

  • Enter a search term in the input field labeled "Enter search term..."
  • Click the "Search" button to initiate the search.
  • The search results will be displayed below the search bar, showing the name and path of the code files found.
  • You can click on the links in the search results to view the code in a new tab.

Integrating the App

If you wish to integrate this code search functionality into another service or frontend, you can use the provided server link as the API endpoint. For example, you could make AJAX calls to this endpoint from a different web application to fetch search results and display them within that application's context.

Here's a sample AJAX request you might use in another application:


fetch('YOUR_SERVER_LINK/search?q=SEARCH_TERM')
  .then(response => response.json())
  .then(data => {
    // Process and display the data
  })
  .catch(error => console.error('Error:', error));

Replace YOUR_SERVER_LINK with the server link provided by Lazy and SEARCH_TERM with the term you want to search for.

And that's it! You now have a fully functional GitHub Code Search application ready to be used and integrated as you see fit. Enjoy exploring the vast world of code available on GitHub!

Category
Technology
Last published
July 26, 2024

More templates like this

SecureUserAuthenticator

Develop a secure User Authentication system for users to register, log in, and manage their profiles, laying the foundation for user-specific data management and permissions in the CMS.

Laravel
Python
Flask
Javascript

FALLBACK | Flask, HTML, JS and Tailwind Based Website

This is a good starting point for styled website. It has a header, footer. Has Tailwind and Flowbite loaded so you can build nice looking pages from here.

Flask
HTML

MP3ify: Youtube to MP3 Converter

A web application that allows users to download YouTube videos from URLs and provides the option to convert them to MP3 format.

Python
Flask
Home
/
Search Code Repository using GitHub API by Name or User