userfrosting/userfrosting

A secure, modern user management system for PHP.

Fund package maintenance!
Open Collective

Installs: 10 011

Dependents: 0

Suggesters: 0

Security: 1

Stars: 1 638

Watchers: 103

Forks: 367

Open Issues: 42

Language:Twig

Type:project


README

Latest Version PHP Version Build Codecov Style PHPStan Software License Join the chat Backers on Open Collective Sponsors on Open Collective Donate Donate

https://www.userfrosting.com

If you simply want to show that you like this project, or want to remember it for later, you should star, not fork, this repository. Forking is only for when you are ready to create your own copy of the code to work on.

By Alex Weissman and Louis Charette

Copyright (c) 2013-2024, free to use in personal and commercial software as per the license.

UserFrosting is a secure, modern user management system written in PHP and built on top of the Slim Microframework, Twig templating engine, and Eloquent ORM.

Features

User login screen

User login script

User management page

PHP user management script

Permissions management page

UserFrosting permissions management

Demo

Installation

Please see our installation guide.

Troubleshooting

If you are having trouble installing UserFrosting, please join us in chat.

If you are generally confused about the structure and layout of the code, or it doesn't look like the kind of PHP code that you're used to, please start from the beginning.

Mission Objectives

UserFrosting seeks to balance modern programming principles, like DRY and MVC, with a shallow learning curve for new developers. Our goals are to:

  • Create a fully-functioning user management script that can be set up in just a few minutes
  • Make it easy for users to quickly adapt the code for their needs
  • Introduce novice developers to best practices such as separation of concerns and DRY programming
  • Introduce novice developers to modern constructs such as front-end controllers, RESTful URLs, namespacing, and object-oriented modeling
  • Build on existing, widely used server- and client-side components
  • Clean, consistent, and well-documented code

Documentation

Learning UserFrosting

API documentation

Change log

Development Team

Alexander Weissman

Alex is the founder and co-owner of two companies, one that does math tutoring at Indiana University in Bloomington, IN and another company that does math tutoring at UMD in College Park, MD. He is a PhD student in the School of Informatics and Computing at Indiana University.

Louis Charette

Louis's a civil engineer in Montréal, Québec who also has a passion for coding. He was one of the main contributors for SimpsonsCity.com and likes to share his knowledge by helping others the same way he was helped when he first started coding.

Jordan Mele

Jordan's an Australian Software Engineer at Canva. His passion is creating simple yet intuitive software-based solutions for problems that would otherwise be tedious and/or difficult to solve, while keeping the user in control.

Sarah Baghdadi

Sarah is UserFrosting's UX specialist and frontend designer. In addition to her work on the UF application itself, she is responsible for the amazing design of https://www.userfrosting.com and https://learn.userfrosting.com.

Srinivas Nukala

Srinivas's a web applications architect, with a passion for open source technologies. He is experienced in building SaaS (software as a service) web applications and enjoys working on open source projects and contributing to the community. He has a Masters in Computer Science from Pune University, India.

Contributing

This project exists thanks to all the people who contribute. If you're interested in contributing to the UserFrosting codebase, please see our contributing guidelines as well as our style guidelines.

Thanks to our translators!

  • Louis Charette (@lcharette) - French
  • Karuhut Komol (@popiazaza) - Thai
  • Pietro Marangon (@Pe46dro) - Italian
  • Christian la Forgia (@optiroot) - Italian
  • Abdullah Seba (@abdullahseba) - Arabic
  • Bruno Silva (@brunomnsilva) - Portuguese
  • @BruceGui - Chinese
  • @kevinrombach - German
  • @rafa31gz - Spanish
  • @splitt3r - German
  • @X-Anonymous-Y - German
  • Dmitriy (@rendername) - Russian
  • Amin Akbari (@aminakbari) - Farsi
  • Dumblledore - Turkish
  • Lena Stergatou (@lenasterg) - Greek

Supporting UserFrosting

Backers

Backers help us continue to develop UserFrosting by pledging a regular monthly contribution of $5 or more. [Become a backer]

Sponsors

Support this project by becoming a sponsor. Sponsors have contributed a total of $500 or more to UserFrosting (either as an ongoing backer or one-time contributions). Your logo will show up here with a link to your website. [Become a sponsor]

USOR Games Next Generation Internet