Job Communication CRM

About

Job Communication CRM is a basic Laravel app that tracks your communications with different Companies and their Contacts. You can add, edit, delete companies, contact, and communication with them.

Things I learned:

  • Tailwind install

  • Eloquent Relationships:

    • Company - Employee (One to Many)

    • Company - Skills (Many to Many)

    • Comm - Employee (One to Many)

  • DatabaseSeeder: seed pivot table (attach a random number of skills to each company)

  • Show all companies, pagination, @click show additional info about the company (employees & their emails) with AlpineJs

  • Search companies

  • Sort by Name, Sort by Rating

  • Show the company and all communications with that company

  • Show all contacts

  • Show contact and all communications with that contact

  • CRUD:

    • create, edit, delete a company, attach skills to pivot table

    • create, edit, delete a communication

    • create, edit, delete contact

  • Flash message with AlpineJS

  • Delete modal with AlpineJs, refactored

  • Blade components

  • Store skills to pivot table, show skills from the pivot table

  • Search communications

  • Filter communications by topRatingCompanies

  • Merge 2 query filters (search, topRatingCompanies)

Skills

  • Laravel

  • TailwindCSS

  • AlpineJS