The FAQ package came as a direct need for a dynamic FAQ section for the marketing site for iOffertory. Over the next few posts, I will dive into production code and give you some background behind my decisions as we take apart various techniques that I use as I refactor the FAQ package There were a few things that I really wanted that made my FAQ section unique and that drove me to create this separate package instead of running something a bit more off the shelf.
- Database/File Based Persistance - I did not want to have to go and edit the FAQ page any time a user asked a question.
- Subdirectory or Subdomain Installation - iOffertory and other projects that I am working on are in heavy development with things changing left and right, I wanted the ability to move the location of the FAQ at my own accord. Also, I did not want to have to fool with my Nginx configuration or .htaccess files.
- Flexible database connections - I don't want to store my application logic in the same database as my marketing site. I want to avoid potential security issues with SQL injection and I don't want to have to migrate my FAQ alongside my business logic.
- Fast installation - Once the FAQ is developed, I want to be able to deploy it to a site in just a handful of commands.
- Themeable - While the general logic for the FAQ Package should be pretty straightforward, I did want to allow you to wrap it in any theme you wanted to.
- Nice out of the box - I did want the support for a nice look straight out of the box so let's them it with Gumby Framework to give it a sleek look.
Some posts to look forward to:
- Flexible Database Connections and Models
- Creating Fast Package Install Commands
- Repositories in use in Laravel 4 Package Development
- Flexible Views in Laravel 4 Packages
- Creating Package APIs in Laravel 4
- Other Code Updates (Routing, Controllers, Models, Views, Assets, Service Providers, Interfaces)