GithubHelp home page GithubHelp logo

astralarkitekt / ghp3 Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 70 KB

A simple demo using Laravel Lumen and the Github API to create a quick and fun directory of the most popular PHP projects on Github.

PHP 73.09% ApacheConf 2.20% HTML 23.24% CSS 1.47%

ghp3's Introduction

GHP3 - Github's (Most) Popular PHP Projects

This project is a demo of Laravel Lumen and the GitHub API.

Once set up, it allows the end-user to view the most popular public PHP Projects hosted by GitHub ranked by the number of "Stars" each Project Has.

Requirements

Installation

Clone or download this repository to your local machine.

Open a terminal and navigate to the root folder of this repo on your machine.

Run composer install to download the project dependencies (This installs Lumen, a GitHub API wrapper, and a few other essentials, see the composer.json file for a complete list)

When this process completes, create a .env file at the top-level of your project by making a copy of .env.example (located in the project root). This file provides configuration details to the Lumen application.

Once your .env file has been created, execute: php artisan migrate:install to install the database schema. (you should be at the top-level of this project)

Now to get some data, run:

php artisan db:seed

This command can be used to install AND refresh the data in your database via the Github Search API.

Check it out in your Browser!

Now that we're done setting up, we can use PHP's built-in web server to view this project on our local machine.

From the Project Root run: php -S localhost:8888 -t public

Project Structure

This project uses your standard Laravel/Lumen directory structure.

Routing & Controller logic is found in routes/web.php Database Installation & Update code is found in database/seeds/GithubPopularPhpProjects.php View Files are written in Blade and can be found in resources/views/ folder

Fun Ways this Project Can Be Improved

  • Increase Snappyness of the FrontEnd - This app would be an ideal use case for a Single-Page App. So we could refactor using AJAX requests and only load the app once, as opposed to the traditional request lifecycle being used atm.
  • Store MOAR Data - Instead of only capturing the fields defined in the spec, we could provide a few more useful interactions for our end-users. For example:
    • Capturing the contributors and show their avatars alongside the project listing.
    • The latest 5 commit messages
    • Number of Open Issues

ghp3's People

Watchers

Astral Arkitekt avatar James Cloos 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.