PHP Laravel – React.JS Recruitment Tracker

One of the most common PHP Frameworks is Laravel. This time, instead of using the Laravel Breeze Blade front end, I went with the Inertia React.JS front end. Feel free to view the code in my GitHub Repository:

https://github.com/bbornino/laravel-react-job-search

When you first navigate to the application, you’ll notice that I used the Breeze Login. This is a wonderful extra from Breeze that I don’t recall having seen in the basic, out of the box Ruby on Rails package.

If I were to develop a full application, I’d put much more content here on the main dashboard. Most likely this would be where the main job site landing page would be or the static information page. Since this is more of a demonstration that I can also easily do Laravel along with other MVCs, this will likely be it for now. When I have a React.JS front end on a Python app for the Job Site table (and all of the listings), I’ll be coming back to this application to (hopefully quickly) port the React containers over.

Going into the main body of the application is the ‘Emailed Opportunities’ page. I really liked the Ruby on Rails implementation of starting out with a small panel for the beginning of the create process. Laravel didn’t give an easy option for a New with a template page like Ruby on Rails did. I’m pretty sure it exists. However, I prioritized getting the CRUD up. I was pleasantly surprised, despite my favorite datatables.js not having official, easy-to-use, React.JS support, to have found this alternative ‘react-data-table-component’ with some pretty comparable features. The row is clickable to do the edit.

You’ll notice the familiar usage of the bootstrap.js on this page for the clean look and feel. And the icons on the buttons are the Font Awesome React. This application front-end, in its entirety, is all React.js: I didn’t write a single line of native HTML (some probably came along from Breeze).

This smaller version of the Ruby on Rails app is an excellent evolutionary next step towards a more modern full stack. The React.JS usage will port well to a Python / Django app which is the next. Stay tuned to see some exciting new features added (to the Python version), including:

  • True HTML “What You See Is What You Get” Editor. More than likely Quill.JS.
  • True Multi-User Support (and later hook up Google Single Sign On)
  • Dark Mode toggle (a setting stored in the Multi-User config table)
  • Posting and Opportunity Comments (separate from the description field)
  • … and more!