User auth and management system for PHP
A fully functional and modular user management system with an Angular 2 UI and PHP backend.
It is based on a few erdiko packages (authorize, authenticate, and users) as well as the Angular CLI project.
The UI is an Angular CLI project using an erdiko web application to interact with the database. Erdiko loads the Angular 2 application as well as serves the AJAX routes.
We chose to use Angular CLI since it makes it very simple to create new components as well as creating basic unit and functional tests for the developer. We also wanted to provide a method to allow the user to easily test their code as they developed yet still compile and serve the smallest code when serving to the end user.
composer create erdiko/user-admin [PROJECT NAME]
Since this project is still under heavy development we recommend running the latest from the develop branch. If you would like to tell composer to use the develop branch use this command instead of the one above.
composer create erdiko/user-admin:dev-develop [PROJECT NAME]
Enter your newly created project directory and run docker compose.
cd [PROJECT NAME]
docker-compose up -d
If you don't have docker compose installed you can install by following the instructions here, https://docs.docker.com/compose/install/. You can, of course, just create create your own lamp stack if you wish. If you create your own enviornment the weboot is /public/default/ and the database config is in /app/config/shared/database.json
If you're running the docker container, installing the db is easy. Just run the scripts/install-db.sh script.
If you are not using the docker script then simply restore the sql dump found in vendor/erdiko/users/sql/dumps/user-admin.sql. Update app/config/shared/database.json with the connection information for your mysql server.
Check the users README if you need more information https://github.com/Erdiko/users.
Editing and compiling the Angular code is simple, and we use Angular CLIs test server to allow you to edit your code and test in real time.
- Go to the
user-admintheme directory under
- Install all dependencies via npm:
- Start the development server:
npm run start
- Edit the typescript found in the
srcdirectory and save in another terminal window or tab, watch for compiler errors
- Start the Development server:
npm run start
- Run the unit tests:
npm run test
- Run the e2e/functional tests:
npm run e2e
- Compile and export files for end user:
npm run build
To set up your environment for local development to contribute to the project please take a look at CONTRIBUTING.md. That file has all the instructions on how to set up a development environment with Docker. We've included some useful scripts in the scripts/dev folder to help.
Arroyo Labs - For sponsoring development, http://arroyolabs.com