Admin panel to manage companies

0
48

Basically, a project to manage companies and their employees. Mini-CRM.

  • Basic Laravel Auth: ability to log in as an administrator
  • Use database seeds to create the first user with email admin@admin.com and password “password”
  • CRUD functionality (Create / Read / Update / Delete) for two menu items: Companies and Employees.
  • Companies DB table consists of these fields: Name (required), email, logo (minimum 100×100), website and timestamp for when the record was created and last updated
  • Employees DB table consists of these fields: First name (required), last name (required), Company (foreign key to Companies), email, phone and timestamps.
  • Use database migrations to create those schemas above
  • Store companies logos in storage/app/public folder and make them accessible from public
  • Use basic Laravel resource controllers with default methods – index, create, store etc.
  • Use Laravel’s validation function, using Request classes
  • Use Laravel’s pagination for showing Companies/Employees list, 10 entries per page
  • Use Laravel make:auth as default Bootstrap-based design theme, but remove ability to register
  • Use Laravel Factory to create dummy data for both your companies and employees section
company-crud

Basically, that’s it. With this simple exercise you should be able to show the skills in basic Laravel fundamentals such as:

  • MVC
  • Auth
  • CRUD and Resource Controllers
  • Eloquent and Relationships
  • Database migrations and seeds
  • Form Validation and Requests
  • File management
  • Basic Bootstrap front-end
  • Pagination

Guess what? – most of the basic web-applications will have these functions as it’s core. There will be a lot more on top of that, but without these fundamentals you cannot move further.

Enjoy the exercise