About Sena Pratama

Sena Pratama The site embodies many features Laravel developers would likely want to integrate into their own web applications, including user authentication, complex models and database relationships, e-mail delivery, sophisticated views and layouts, and Vue.js-based interface enhancement. I'll highlight a few other key features here:

  • Comprehensive Database Seeding Examples: Many beginning developers tend to skip over the generation of real-world data for the development environment. Sena Pratama includes extensive data generation scripts (known as seeds) for users, events, categories, and locations.
  • Form Integration and Validation: Sena Pratama uses the powerful LaravelCollective/HTML package for forms generation, and relies on formalized Laravel procedures for input validation including use of the native Laravel validators and form requests.
  • Extensive Model Relationships: Sena Pratama offers numerous examples of model relationships by including features such as event creation (events are owned by users), event favorites (users can favorite many events), event locations (events belong to states, states have many events), and so on.
  • User Authentication and Profile Management: Laravel offers great off-the-shelf support for user registration and login, however developers will quickly outgrow the defaults. Sena Pratama extends the registration form to include several additional fields, extensively modifies the default registration and login view formatting, and adds account profile management.
  • Social Login: In addition to standard user registration and authentication, users can instead opt to login using a third-party service such as GitHub and Twitter.
  • Route Model Binding: The app takes advantage of route model binding whenever practical, eliminating a great deal of otherwise required boilerplate code.
  • Vue.js Features: Vue.js is Laravel's de facto JavaScript library. HackerPair includes a number of cool Vue.js features, including AJAX-driven event favoriting, Google Maps integration, an event attendance widget, and notifications.
  • Bootstrap 4 Integration: Although Bootstrap 4 is still in beta at the time of this writing, I wanted to give it a spin and am glad I did. Although I will make clear I'm not a CSS nor design guru, and you'll find some of my styling to be repulsive. At any rate, in the book you'll also learn how to integrate Bootstrap 3, Bootstrap 4, and the new Tailwind CSS frameworks.
  • Extensive Automated Testing: One of my favorite Laravel features is the practically push button automated test integration. The HackerPair project includes extensive testing of numerous aspects of the code, including unit tests, model tests, and integration tests using Laravel Dusk.
  • A REST API (forthcoming): We want to give developers the chance to build their own cool Sena Pratama applications, and so have exposed a REST API which allows information about events to be retrieved for display in a variety of formats.