Skip to content

discophp/project

Repository files navigation

Project Wrapper for the Disco PHP Framework

This is the project structure for the Disco PHP Framework. It serves as the starting point for all Disco PHP projects.

Check out the documentation

DiscoPHP.com

Out Of The Box Features

The base project structure comes preloaded with some awesome out of the box features which almost every project implements:

  • Account/User:
    • Account creation
    • Email based account verification
    • Login, logout, and session management
    • Securly stored passwords hashed with SHA512 and salted
    • Permanent logins
    • Password reset emails
    • Account information editing
  • CSRF Tokens
  • An amazing looking base theme/UI for you to extend using Materialize CSS
  • A build system (Gruntfile.js) implemented using Grunt which supports:
    • SASS
    • React JSX files
    • CSS vendor based auto-prefixing (ie -moz -webkit)
    • CSS & JS minification
    • CSS & JS bundling
  • Version controlled third party libraries (bower.json & .bowerrc) via Bower
  • Default caching rules for resources (ie jpg,png,js,css etc) as defined in public/.htacces

Get Started

Required:

  1. Clone : git clone https://github.com/discophp/project.git your-site
  2. Install Dependencies : composer install

Optional (but required if you want to use the DB & the built in user functionality):

  1. Configure DB settings in app/config/config.php
  2. Create the user tables : php public/index.php db-restore 'app/db' 'user_structure.sql' from the SQL file app/db/user.sql
  3. Configure your email settings in app/config/email.php

Optional (but required if you want to use the build system)

  1. Install nodejs dependencies : npm install
  2. Run the build system : grunt
  3. Watch the build for changes : grunt watch