Back in February I told you all about our plan to rebuild our internal codebase. Briefly, a codebase is basically a set of code that acts as a foundation for developers to use to jumpstart projects and to provide a lot of useful and common CMS functionality from the outset, so we can spend more time perfecting the parts of your website that are unique to you.
The codebase will be used to power medium to large websites that we produce going forward. It comes with a built-in CMS which is very user-friendly and provides much of the advanced functionality that a platform like WordPress offers (front-end menu management, drag-and-drop media upload, video embedding) while also being extremely flexible for developers to create a highly bespoke and customised system.
There are also numerous technical features of the new codebase.
At First Internet we’re always trying to keep on top of the world of technology. It’s for that reason that we chose Laravel as our framework of choice for the new codebase, we’re using the Composer package manager and BitBucket as our source control repository provider of choice.
Laravel is rapidly growing in popularity and industry adoption. From a development perspective, it encourages coding best practice and offers a clean, consistent and stable environment in which to produce both a codebase and individual client websites. From the end user’s perspective, Laravel helps to create a fully optimised and reliable website, with solid foundations and advanced functionality.
We often use third-party packages and plugins to speed up development time, since there’s no use coding something ourselves when we can use a tried-and-tested package of code to do the same thing. Third parties create packages when there are sets of code that are reused over and over across lots of different use cases. However, at First Internet we reuse a lot of code that may not be generic enough to create a package for everyone in the world to use, but is certainly useful for us to make a package internally.
Using the Composer package manager helps us to create modular code that can be reused in later projects very easily, and also means that any improvements or bugfixes made to that package can be pushed out to all the sites that use it.
We currently have three projects started that use the new codebase, which are expected to launch in the near future. Watch this space!