Welcome to the New FreeTechBooks!
Starting from March 28th, 2016, FreeTechBooks finally has a proper online book database. Plus now it has a modern-looking mobile-friendly design. Which means this post is almost 3 weeks late…
(scroll to the end of the post to read the tl;dr; version)
The old website was built in a hurry back in 2004. It was created around a phpBB 2.0 engine, as I wasn’t very confident in writing my own PHP-MySQL-based website back then. As phpBB engine was meant for a forum website, it doesn’t have a proper structure to support a database of free online books, at least not with some rather heavy modifications. But somehow, it served the purpose well, and I’ve been stuck with laziness and complacency to do any significant improvements since then.
Eventually, with more books added in, it was apparent that the original forum structure did not fit the site’s long term purpose well. Instead of a proper book database, we had a bunch of text which was hard to query to get any useful information out of it. Added with the need for a mobile-friendly design, a significant update was simply overdue.
Modifying phpBB 2.0 engine was not deemed practical for reasons mentioned above. Plus, version 2.0 is no longer supported by phpBB.
So I bite the bullet, and started redesigning the site from scratch since it’s the easier option. And of course, I can come up with a database design suited for online books.
Lucky for me, web development has been maturing a lot since 2004. A multitude of PHP, JavaScript and CSS frameworks are available to choose. Loyal and helpful communities has been formed. Almost every problem and issue that one might encountered has been asked and answered by someone, somewhere on the net (well, mostly on StackExchange).
For the framework, I chose Taylor Otwell’s Laravel because it’s easy to use and to adhere to MVC design. It’s the most popular PHP framework (at least in early 2016), with established communities and lots of third-party packages available on GitHub. Laravel version 5.2 just came out when I started this project in February 2016, but already there are a bunch of tutorials available. The learning curve was not as steep as I thought, and a working prototype was ready in early March 2016.
Laravel examples use Bootstrap 3.0, which in my opinion really makes it a snap to develop a mobile-friendly website. It’s currently the most popular CSS framework (I think?), it’s mature and help is almost always available for every issue I had during the development.
The benefit of the new database design is immediately apparent, as I can now make book-related queries I always wanted before. Displaying the number of books written by a certain author, or published by a certain publisher are now a simple matter. Plus, the entry process is easier and faster than before.
As for today, I’ve finished transferring all reusable data from the old phpBB database to the new database. I’m still adding more data to fill in some blank information, especially on book covers and authors. The current result is what you’re looking now.
FreeTechBooks has a new look. I hope you like it. Please use the top and right navigation bar to browse around the site.