In this foundational course, I’ll show you how to use the open source Coldbox MVC framework in conjunction with Quick, a high-performance Object Relational Mapper (ORM) module and its associated Query Builder (QB) against a MySQL database. All the necessary modules are going to be installed with Commandbox, and we are going to power our server with the open source Lucee CFML engine.
In this course, we will install a framework’s template that implements user registration, user authentication and password encryption, out of the box. We are first going to learn how to write schema migration components, using the framework’s cfmigrations module to create a simple User table.
Next, we shall review the Registrations and the Sessions handlers that underpin our user registration, user login and user logout processes, making sure that the users’ passwords are saved encrypted within the User table. We are also going to see how our event handlers (a.k.a controllers) are connected to the router’s configuration file and how URL access to the handlers’ actions are protected from un-logged or unauthorised users by a security module called cbguard.
I shall also show you how to test your components with TestBox, a behavior-driven development(BDD) CFML testing framework that comes bundled with Coldbox and that you’ll find invaluable in your development cycle. We are going to explore a unit test on a small CFML component, and then, see how integration tests are built, taking the Registrations and Sessions test specifications as examples.
Finally, at the end of this short two hours foundation course, you would certainly have an appreciation of the benefits of Coldbox and CFML to provide us with your feedback. Based on this feedback, we’ll be happy to finalise and deliver the full course, which extends on this foundation.
Who this course is for:
- Beginners, consultants and corporate power users
- Developers and maintainers of legacy ColdFusion code
- Software developers recognizing the value of open source adoption
- Ready to learn a mature yet modern technology stack
- Basic knowledge of object-oriented software principles
- Understanding of relational database schema definition would be good
- A Mac for development is preferred