Giter Club home page Giter Club logo

git_crawler's Introduction

git_crawler

Crawl public git repositories for open issues

App is hosted in Heroku : https://github-api-assignment.herokuapp.com/

Input: User can input a link to any public GitHub repository in owner/repo format. Eg. azure/azure-cli

Output: Your UI should display a table with the following information -

  • Total number of open issues
  • Number of open issues that were opened in the last 24 hours
  • Number of open issues that were opened more than 24 hours ago but less than 7 days ago
  • Number of open issues that were opened more than 7 days ago

Technology Stack:

  • Front End - HTML, JavaScript, jQuery, CSS, AJAX
  • Back End - Python (Flask REST API, Gunicorn)

Solution Approach:

  • Webpage takes the repository name in the owner/repo format. Eg. azure/azure-cli as Input
  • Upon clicking the Search button:
    • Front End: An AJAX request is sent to the Python API "/show_results". When there is any error in server / error in retrieving repo details, appropriate error messages as displayed.
    • Back End: When the request from the client is received, issue 3 GitHub Search API hits which finds the total open issues, open issues created within 24 hours, open issues created between 24 hrs and 7 days, respectively. When all the 3 results are obtained, remaining value i.e. open issues created more than 7 days ago can be calculated as follows:
    • 7days_ago = # total - # 24hrs - # between 24hrs and 7 days

Further Enhancements:

  • When a user clicks Search, Spinner can be displayed over content. The user will then be able to understand easily that data is being loaded

  • While typing the input, suggestions could be provided. For eg. Whenever the user is typing the owner, possible owner names can be listed. Similarly for the repo name after the user typed owner name. Also when the user entered an incorrect repo URL, suggestions can be displayed.

  • Error messages could be displayed in Toast instead of Browser pop-ups.

git_crawler's People

Contributors

kavithamadhavaraj avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.