A quick attempt at using Laravel 4 for something useful.
As is noted throughout the code, I have deliberately avoided using Eloquent ORM methods, although I use and extend the base Eloquent classes for migration and seeding functionality. The intention was to write all of the SQL queries by hand and use PDO. The result is a odd mini-ORM.
Some things in the todo list:
- Add sorting
- Add more advanced search functionality
- Add more attributes, such as sail rig options
- Make the attributes more dynamic (allow a user to create new attributes)
- Add photo gallery
- Finish unit tests
- Add 'craft' and 'builder' functionality. Just ran out of time.
- Add a more extensible category / craft type system
The idea is that there are many designers; each boat can have one designer. Each user can create a 'builder' profile, and signify that they have built one of the boat designs.
Here's the quick example:
- John Welsford designed the Pathfinder
- Many people have built Pathfinders, all with variations on the main specs
Using the craft attributes table, a craft (a boat built from a boat design) would extend and be able to override the boat attributes table for it's parent.
Eventually, I could use the search functionality to find anyone who has built a Pathfinder with cedar planking on steamed oak frames in the Pacific Northwest.
Except for the user authentication / registration pages, underneath /app all controller, model, view and library code is original.
Some jquery was snarfed for various sundry purposes.
Because a lot of things were done via re-inventing the wheel, if I continue this project I will likely rewrite large chunks to make use of Laravel's really nice system of bundles.