How to Build a User Registration System for a jQuery Mobile Application

User registration is the foundation that allows you to provide a personalized experience for the users of your mobile apps. In this jQuery Mobile tutorial we are going to create a user registration system for a jQuery Mobile application.


In a previous jQuery Mobile tutorial of this series we designed and created the jQuery Mobile pages that we will use in the application that is the subject of this article. In a recent NodeJs and MongoDB tutorial, we also created the backend that will perform the registrations and store the user profiles.

Now we are going to connect the two pieces and create and end-to-end system that allows users to register with the application. Let’s start by creating a few helper files.

Continue Reading →

Creating a Custom Ext JS State Provider

In this article we will review how you can save the state of your Ext JS components on the server side. Let me give you an example so you can understand what this feature allows you to do.

Suppose that you created an Ext JS application where one of the screens renders an Ext JS grid with a set of records. You have set up this grid so the application’s users can sort, rearrange, hide or show grid columns as needed. And you want that when any user runs the app, the app remembers which columns of the grid were visible, what was the order of the columns, and how the grid was sorted the previous time the user ran the app, regardless of whether it was run on the same or a different computer or mobile device.


Having an app that remembers the state of its UI for a given user makes users feel like the app is working for them and not the other way around. This feature is particularly important in large applications with complex user interfaces. It avoids frustration and saves users time by not having to rearrange user interface components every time they go in the app.

To illustrate this feature we will create a small sample application with an Ext JS grid that displays data related to a hypothetical model cars collection. We will give the grid the ability to save the state of its columns (visible or invisible, column order and sort) to the server, as well as load this state from the server when the application is launched.

Continue Reading →

Using Postman to Test an Express.js Router for a Mobile Application Endpoint

In this article we will implement and test the server-side endpoints that will route the user registration and user authentication HTTP requests from a meeting room booking mobile application. The endpoints will route these requests to the Node.js Controller module that we built and tested in the previous article of this series.


This article is part of a series of mobile application development tutorials that I have been publishing on my blog In this series we are creating a Meeting Room Booking mobile application that has a Node.js and MongoDB backend.

In the preceding chapters we designed the user registration, logon and password reset screens of the mobile application. We also implemented and tested the Node.js Controller module that will provide the registration, logon and password reset services on the server side.

In this article we will create the router module that connects the HTTP requests triggered by the screens in the mobile application to the server-side controller. We are going to use the routing facilities of the Express Framework to create this router module, and we will be using Postman to test the router.

Continue Reading →

Ext JS Grid Search with .NET and MySQL Backend

Building a “live” search feature for an Ext JS Grid is pretty simple. This tutorial shows you an example of how to set up this search feature for an Ext JS Grid that is connected to a .NET and MySQL backend.

The Ext JS application that we will build in this article has a Grid that displays data about the albums of a hypothetical music collection. A search box in the Grid’s Toolbar will allow users to filter the albums by title or artist. As a user types in the search box, the Grid will pull filtered data from the server:


Continue Reading →