๐Ÿ“ฆ waynehamadi / laravel-base

๐Ÿ“„ readme.md ยท 56 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56Setup
=======

Clone the project and go to the root.

To build the Application and it's containers, in your terminal go to the root directory and run:

`docker-compose up`

`docker-compose exec app composer install`

Migrate :

`docker-compose exec app php artisan migrate`

Seed :

`docker-compose exec app php artisan db:seed`

Requirements
=======

1- Download or clone the repository from https://github.com/govzilla/laravel-base. Follow the readme.md file to get your instance running. **DONE**

2- Once you have a working version of Laravel, you will be required to create a laravel database migration based on the provided Employee csv (link below).  Look at the laravel documentation on https://laravel.com/ to understand database migrations and how to create one. **DONE**

3- Create a database seeder class which reads/parses the csv file to populate the database table you created from the migration above.
**To look at the database, go to http://127.0.0.1 and click on login to login as a standard user with those logins :**
**user : jonathan@user.com**
**password : govzilla**
**You will see the dashboard. Then click on Employees and verify that the seed worked.**

4-Next, define some form of user management. A good baseline is to start with the laravel authentication mechanisms (ref https://laravel.com/docs/6.x/authentication).  The only users you need concern yourself with are standard users and admins.**DONE**

5-Create a menu and view to show the employee data form the database above in a table as a list of names (first name and last name columns sorted ascending by last name).**DONE**

6-Create a view that displays the detailed employee data when clicking on a row (or first name or last name) in the view above.
**Just navigate on the app and verify if everything is correct**

Create an  Admin view (or set of views) to perform CRUD operations to manipulate the employee data in the database.

**Log out and use those logins**

**user : jonathan@admin.com**

**password : govzilla**

**Verify that you can perform all the crud operations on Employees**


**BONUS**

I implemented a way for admin to create users. Verify that :
A regular user can't create an admin user ( he would then be able to perform update and delete operations, we don't want that)
An admin user can read/update/create/delete admins, users and employees.