Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Wordpress Web Application  Development

You're reading from   Wordpress Web Application Development Building robust web apps easily and efficiently

Arrow left icon
Product type Paperback
Published in May 2017
Publisher Packt
ISBN-13 9781787126800
Length 536 pages
Edition 3rd Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Rakhitha Nimesh Ratnayake Rakhitha Nimesh Ratnayake
Author Profile Icon Rakhitha Nimesh Ratnayake
Rakhitha Nimesh Ratnayake
Arrow right icon
View More author details
Toc

Table of Contents (14) Chapters Close

Preface 1. WordPress as a Web Application Framework FREE CHAPTER 2. Implementing Membership Roles, Permissions, and Features 3. Planning and Customizing the Core Database 4. Building Blocks of Web Applications 5. Implementing Application Content Restrictions 6. Developing Pluggable Modules 7. Customizing the Dashboard for Powerful Backends 8. Adjusting Theme for Amazing Frontends 9. Enhancing the Power of Open Source Libraries and Plugins 10. Listening to Third-Party Applications 11. Integrating and Finalizing the Forum Management Application 12. Supplementary Modules for Web Development 13. Configurations, Tools, and Resources

A development plan for the forum management application

Typically, a WordPress book consists of several chapters, each of them containing different practical examples to suit each section. In this book, our main goal is to learn how we can build full stack web applications using built-in WordPress features. Therefore, I thought of building a complete application, explaining each and every aspect of web development.

Throughout this book, we will develop an online forum management system for creating public forums or managing a support forum for a specific product or service. This application can be considered as a mini version of a powerful forum system like bbPress. We will be starting the development of this application from Chapter 2, Implementing Membership Roles, Permissions, and Features.

Planning is a crucial task in web development, through which we will save a lot of time and avoid potential risks in the long run. First, we need to get a basic idea about the goal of the application, its features and functionalities, and the structure of components to see how it fits into WordPress.

Application goals and target audience

Anyone who is using the Internet on a day-to-day basis knows the importance of online discussion boards, also known as forums. These forums allow us to participate in a large community and discuss common matters, either related to a specific subject or a product. The application developed throughout this book is intended to provide a simple and flexible forum management application using a WordPress plugin with the goals of:

  • Learning to develop a forum application
  • Learning to use features of various online forums
  • Learning to manage a forum for your product or service

This application will be targeted towards all the people who have participated in an online forum or used a support system of a product they purchased. I believe that both output of this application and the contents of the book will be ideal for PHP developers who want to jump into WordPress application development.

Planning the application

Basically, our application consists of both frontend and backend, which is common to most web applications. In the frontend, both registered and unregistered users will have different functionalities based on their user roles. The following image shows the structure of our application home page:

The backend will be developed by customizing the built-in admin features of WordPress. Existing and new functionalities of the admin area will be customized based on the user role permissions.

User roles of the application

The application consists of four user roles, including the built-in admin role. User roles and their respective functionalities are explained in the following section:

  • Admin: Users of this role manage the application configurations, settings, and capabilities of the users.
  • Moderator: Users of this role manage the forums and topics. These users can create topics, manage topic statuses, and provide admin level feedback in case of a support forum.
  • Premium Members: These users gain access to the forums by purchasing a package or subscription. These users will have premium forum features and access to all content without restrictions.
  • Free Members: These are normal registered users who want to access the forums. These users will have limited access to content and forum features.
Registration is required for all four user roles in the forum management application.

Planning application features and functions

Our main intention for building this application is to learn how WordPress can be adapted to advanced web application development. Therefore, we will be considering various small requirements, rather than covering all aspects of a similar system. Each of the functionalities will be focused on explaining various modules in web applications and the approach of WordPress in building similar functionality.

Let's consider the following list of functions, which we will be developing throughout this book:

  • Forum user profile management: Users who register for forums will have a profile where they can edit personal details and view their forum topic details without going into the forum.
  • Forums and Topics management: The application provides the ability to create forums and topics under these forums. Admin staff will be responsible for creating and closing forum tickets while users will have the ability to create their own tickets.
  • Frontend login and registration: Typically, web applications contain the login and registration in the frontend, whereas WordPress provides it in the admin area. Therefore, custom implementation of login and registration will be implemented in the application frontend with the support of social login.
  • Manage forum topic permissions: Various features will be developed to provide restrictions to forum and topic features for different user levels.
  • Joining a Forum: Users will have features to join a forum and admins will have features to approve/reject user requests.
  • Settings panel: A comprehensive settings panel will be developed for administrators to configure general application settings from the backend.
  • REST API: A large number of popular web applications come up with a fully functional API to allow access to third-party applications. In this application, we will be developing a simple API to access the developer details and activities from external sources.
  • Notification service: A simple notification service will be developed to manage e-mail notifications on new topics in forums and responses to subscribed topics in forums.
  • Responsive design: With the increase of mobile devices for Internet browsing, more and more applications are converting their apps to suit various devices. So, we will be targeting different devices for a fully responsive design from the beginning of the development process.
  • Third-party libraries: Throughout the book, we will be creating functionalities such as OpenAuth login, RSS feed generation, and template management to understand the use of third-party libraries in WordPress.

While these are our main functionalities, we will also develop small features and components on top of them to explain the major aspects of web development.

If you are still not convinced, you can take a look at the various types of WordPress powered web applications at http://www.innovativephp.com/demo/packt/wordpress_applications.

You have been reading a chapter from
Wordpress Web Application Development - Third Edition
Published in: May 2017
Publisher: Packt
ISBN-13: 9781787126800
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime