Giter Site home page Giter Site logo

josephmcdermott / php-skeleton-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from soldider1621/php-skeleton-app

1.0 1.0 0.0 1.95 MB

An MVC-based PHP skeleton application tailored for rapid development

Home Page: http://phpskeleton.com/

License: MIT License

ApacheConf 0.98% PHP 95.80% CSS 1.19% JavaScript 2.04%

php-skeleton-app's Introduction

alt text

Scrutinizer Code Quality Build Status

The PHP Skeleton App

Join the chat at https://gitter.im/ghalusa/PHP-Skeleton-App

The PHP Skeleton App creates an object-oriented PHP MVC environment, tailored for rapid development. The environment makes use of the Slim PHP micro framework, Twig for templating, and Twitter Bootstrap 3 for the theme.

Out of the box, it provides the ability to set up and run a public-facing website, authenticate to the administrative side, and create users and groups. All of the baseline database tables are created on first run, along with the first "Universal Administrator".

This is an Initial Pre-Release of The PHP Skeleton App

This is my first go at publishing something extensive on GitHub. I'm far from perfect, and have been in somewhat of a bubble. Regardless, I have decided to get my feet wet so I can collect feedback from the community, and grow as a developer. So, your constructive criticism is encouraged. I'll do my best to learn from any mistakes and deliver the goods.

Roadmap

  • While the application works, it admittedly requires some refinements to get it to a level I'm happy with, mainly with the architecture and coding standards.

  • The goal is to get the codebase to a level which conforms to the Framework Interoperability Group's (PHP-FIG) PHP Standard Recommendation (PSR).

  • That is to say, the codebase is heavily under development and currently evolving. Use if you wish, but know that there may be some big changes along the way. I will try to keep things backwards-compatible, but there are no guarantees until the codebase meets the aforementioned benchmarks.

Thanks!

-Gor


Installing the PHP Skeleton App on DigitalOcean (the complete guide)

alt text

View the Guide


Features

  • Quick 5-minute installation

    (Provided the server environment is set up)

  • Simple configuration

  • Easy templating with custom views using Twig

  • Twitter Bootstrap 3.3.x

    "Carousel" template included for the public website

    "Dashboard" template included for the administrative interface

  • Site Module

    The public site

  • Authenticate Module

    With local authentication, out-of-the-box. Oauth schemes coming soon (e.g. Twitter, Google, Facebook, Github).

  • User Account Module

    For user management, complete with a self-registration form and the ability to reset forgotten passwords.

  • Group Module

    Assign users to groups for greater control over permissions

  • Dashboard Module

    Default landing page for the administrative side

  • More coming soon...


Requirements (LAMP)

These requirements are what I have found to be true. It's likely that I may have missed something along the way. If so, please let me know.

Linux
  • So far, only tested on Linux Ubuntu 14.04 (trusty) running on an Amazon EC2 instance and another on a DigitalOcean Droplet.
Instructions for a Digital Ocean Droplet

Installing the PHP Skeleton App on Digital Ocean (the complete guide)

Apache
  • Modules: alias, deflate, dir, env, headers, mime, php5, rewrite, setenvif
MySQL
PHP >= 5.3
  • Extensions: FileInfo, mysql, PDO, pdo_mysql, php5-curl, php5-json, php5-mcrypt
Git
Composer

Environment Check

To check to see if you have all of the necessary components in place, you can run the "Environment Check" script:

http://YOUR_DOMAIN/webapp_installer/library/env.php

Getting Started

STEP 1

Run Composer (non global installation)

php composer.phar create-project ghalusa/php-skeleton-app /PATH/TO/YOUR_EMPTY_WEB_ROOT_DIRECTORY/ dev-master

OR... Run Composer (global installation)

composer create-project ghalusa/php-skeleton-app /PATH/TO/YOUR_EMPTY_WEB_ROOT_DIRECTORY/ dev-master

STEP 2

Make Sure Apache Has Permissions to Do Stuff

(This can be changed back after the installation is finished.)

sudo chown -R www-data:www-data /PATH/TO/YOUR_EMPTY_WEB_ROOT_DIRECTORY/

STEP 3

Run the Web App Installer...

Point your browser to the root of your web environment...
http://YOUR_DOMAIN/
... And Fill Out the Form

You will need:

  • A valid email address for the creation of the administrative account.
  • The location, username, and password of a MySQL database.

That's It!

At this point, you should have successfully spawned a complete "PHP Skeleton App". Dig in, and start adding your own "Modules"!


Documentation

  • PHP Skeleton App Documentation (coming soon)
  • PHPDocs
  • Until I get the documentation out there, you can look at the anatomy of any of the modules which are included and present by default.
  • On deck: I'm going to develop a "Module Creator", which will spawn a bare-bones module at the click of a button, or via command line.

About the Author

The PHP Skeleton App is created and maintained by Goran Halusa.

Twitter

Follow @phpskeleton on Twitter to receive the very latest news and updates about The PHP Skeleton App.

Acknowledgements

Disclaimer

The PHP Skeleton App is in active development, and test coverage is continually improving.


Open Source License

The PHP Skeleton App is released under the MIT public license.

php-skeleton-app's People

Contributors

ghalusa avatar gitter-badger avatar

Stargazers

 avatar

Watchers

 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.