Build a user login and registration foundation (Tamarind)
What you'll learn
- How to use the Coldbox (CFML) MVC framework to build a user registration feature with password encryption
- Leverage QB Schema builder to build a database schema with CFML migration components
- Understand how to configure your Coldbox project using a Lucee CFML server engine
- Understand how to write integration tests with the Testbox BDD testing framework
Requirements
- Basic knowledge of object-oriented software principles
- Understanding of relational database schema definition would be good
- A Mac for development is preferred
Description
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 tutorial, 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 recognising the value of open source adoption
- Ready to learn a mature yet modern technology stack
Instructor
Philippe Sambor is a freelance instructor based in Singapore. He graduated from business school in France and started his own business in 2000. Information technology has always been an essential part of his career, albeit more in direct relation to the business than pure engineering. To him, knowing how to code has always been an essential asset as an entrepreneur.
Here is what he had to say about what motivated him to teach:
“I dedicated the recent few years acquiring the knowledge of the CFML language (also known as ColdFusion), leveraging the ColdBox CFML framework as a core server technology. CFML is a language that I came to consider for its simplicity, portability and reliability. After 25 years on the market, as long as Java (in which it is rooted), PHP or Ruby, ColdFusion evolved into the robust and modern CFML language it is today, powered by a vibrant and dynamic worldwide community. Although CFML is an easy language to pick up, writing secure, high performance and quality tested code as well as understanding all the moving parts throughout the entire stack is not. This is where I thought that my contribution to the community at large could make a difference.”