/SimpleUserWebApp

This Web App able to register user with name, birthdate and multiple email.

Primary LanguagePHP

SimpleUserWebApp

This Web App able to register user with name, birthdate and multiple email. The webapp made with laravel, bootstrap, vuejs with routing.

Features

List users

List all user with pagination

url : [project domain]/#/users

Create user

Create new user

url: [project domain]/#/CreateUser

Installation

Server Requirements

  • PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • BCMath PHP Extension

Frontend Requirements

Browsers Support

Vue.js

  • Vue 2.x does not support IE8 and below!

Bootstrap

  • Chrome >= 45
  • Firefox >= 38
  • Edge >= 12
  • Explorer >= 10
  • iOS >= 9
  • Safari >= 9
  • Android >= 4.4
  • Opera >= 30

More info

Installation guide

  1. Get github repository: git clone https://github.com/vassdavid/SimpleUserWebApp.git
  2. Copy .env.example to .env in project folder.
  3. Edit database settings: (DB_DATABASE, DB_USERNAME, DB_PASSWORD) in .env file (create database if not exist).
  4. Run composer install in project folder.
  5. Make app key with php artisan key:generate.
  6. Migrate database tables php artisan migrate
  7. Run app php artisan serve

More info: laravel installation

Development

The php artisan serve command isn't enough to run the test functions. Must run in a web server!

Testing

The test files are contained in the test folder. There are two types of tests: feature and unit test. The feature test contain the test of controller (read and write user). The unit test contain the test of User model. The project also have factories and database seeder.

Run tests

Database seeder

If you fill generated users the database run the composer dump-autoload and php artisan db:seedcommand. laravel seeding

Unit and feature test

Run phpunit command if you install phpunit in globally, else run vendor/bin/phpunit in project folder.