Giter Site home page Giter Site logo

drachs / userfrosting Goto Github PK

View Code? Open in Web Editor NEW

This project forked from userfrosting/userfrosting

0.0 1.0 0.0 10.42 MB

A secure, modern user management system based on UserCake, jQuery, and Bootstrap.

Home Page: http://www.userfrosting.com

License: Other

PHP 61.41% CSS 6.60% JavaScript 31.99%

userfrosting's Introduction

UserFrosting 0.2.2

By Alex Weissman

Copyright (c) 2014

Welcome to UserFrosting, a secure, modern user management system for web services and applications. UserFrosting is based on the popular UserCake system, written in PHP. UserFrosting improves on this system by adding fine-grained authorization rules and a sleek, intuitive frontend interface based on HTML5 and Twitter Bootstrap. We've also separated the backend PHP machinery that interacts with the database from the frontend code base. The frontend and backend talk to each other via AJAX and JSON.

Screenshots

Login page

Login page

Admin dashboard (thanks to Start Bootstrap)

Admin dashboard

User list page

User list

Create/update user dialog with validation

Create/update user user

User details

User details

Group management

Group management

Site settings

Site settings

Action authorization

Action authorization

Page authorization

Page authorization

Why UserFrosting?

This project grew out of a need for a simple user management system for my tutoring business, Bloomington Tutors. I wanted something that I could develop rapidly and easily customize for the needs of my business. Since my prior web development experience was in pure PHP, I decided to go with the PHP-based UserCake system. Over time I modified and expanded the codebase, turning it into the UserFrosting project.

Why not use Node/Drupal/Django/RoR/(insert favorite framework here)?

I chose PHP because PHP is what I know from my prior experience as a web developer. Additionally, PHP remains extremely popular and well-supported. I chose not to use a framework because I wanted something that I could understand easily and develop rapidly from an existing PHP codebase.

Developer Features

  • No need to learn a special framework! The backend of UserFrosting is based on native PHP5, allowing for rapid development and deployment.
  • Clean separation of backend and frontend code. Easily interact with the backend via AJAX calls.
  • Automated installation tool for initializing the database.
  • Frontend built with jQuery and Twitter Bootstrap. Javascript components for typical database CRUD operations provided with this distribution!

User Features

UserFrosting offers all of the features of UserCake, plus several new ones:

  • Fine-grained, rule-based authorization for different users and groups. Use our preloaded rules, or write your own and assign them to users and groups with our easy-to-use interface.
  • Account creation/deletion from the admin interface
  • Admin can disable/enable individual accounts
  • Admin can disable/enable new account registration
  • Admin can enable/disable logging in with email address
  • Dropdown menus for easier account modifications
  • Client-side data validation
  • Primary group for each user. Primary group can be used to determine authorization, site rendering, custom menus, etc.
  • Default groups for new accounts
  • Table view for easily editing page authorization.
  • New, more secure "lost password" feature.

Security Features

UserFrosting is designed to address the most common security issues with websites that handle sensitive user data:

  • SSL/HTTPS compatibility
  • Strong password hashing
  • Protection against cross-site request forgery (CSRF)
  • Protection against cross-site scripting (XSS)
  • Protection against SQL injection

See the security section of our website for more details.

Language Support

Database and data-handling functions are compliant with UTF8 character set.

Current languages offered:

  • English
  • Internationalized Spanish

Installation

UserFrosting comes with an easy-to-use installer. Simply download the code to a directory on your server, and navigate to the /install subdirectory. UserFrosting will guide you through setting up the database, configuring settings, and creating the master account.

Change Log - v0.2.2

  • Implemented upgrade system, will pull new version list from github and automatically grab update files as well.
  • Moved file list from config.php to the database to be easier to add and remove file paths
  • Added version to the configuration table to aid in the upgrading of Userfrosting
  • Added dev_env to config.php as well as new setting to db-setting.php when set to true UF will no longer check for the install or upgrade directory (good for development defaults to FALSE)
  • Removal of models/captcha.php and replace with base64 captcha function.

Older changes

Creds

Thanks to user @r3wt for help with the CSRF and improved hashing, and @lilfade for significant contributions in getting butterflyknife ready and tested for release.

Thanks to @arochwer for translating system messages into internationalized Spanish!

The back end account management system is derived from UserCake 2.0.2, while the dashboard and admin account features are based on the SB Admin Template by Start Bootstrap. Other key frameworks and plugins used in this system are:

All components are copyright of their respective creators.

Upcoming Features

Please see the wiki for a list of potential upcoming features. If you would like to see a new feature implemented (or you would like to implement it!) please open an issue.

userfrosting's People

Contributors

alexweissman avatar arochwer avatar lilfade avatar ltbarclay avatar tien002 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.