How to Setup Angular Project for Beginners

How to Setup Angular Project for Beginners


In the last couple of years, we have seen that Single Page Applications (SPAs) and UI frameworks have taken over the JavaScript world by storm. Today we have multiple frameworks and libraries options ranging from React to Angular and many more.

 So, let’s discuss how to get started with Angular, how to install it and take a quick overview of the structure of the default bootstrap project.


Commonly referred to as “Angular 2+” or “Angular v2 and above” is a Typescript-based open-source web application framework used to develop Single Page Applications (SPAs).

Angular CLI:

Angular CLI (Command Line Interface) was introduced with Angular. As the name specifies, it is a command-line tool for creating angular applications. It is recommended to use angular CLI for creating angular applications as you don’t need to spend time installing and configuring all the required dependencies and wiring everything together. It also provides other features like building and running application etc.

Angular CLI can be installed using the following command in a command prompt:

npm install -g @angular/cli

You must have a Node Package Manager (NPM) installed to install angular CLI. If you don’t have NPM installed, it can be downloaded from the Node website for free (

Angular Project Setup:

To set up the angular project we will use Angular Command Line Interface (CLI). Open the command prompt and go to the location where you want to create the project. Run the following command:

ng new hello-world

Now navigate to the directory (cd hello-world), you will see that CLI has created a bootstrap project with multiple files and folders. Run the project using the following command:

ng serve

The angular project use port 4200 by default. You can see the default project by opening the following link in your browser:


IDE for Angular:

You can use any IDE which you like and comfortable working with. Visual Studio Code is also a very good option; it is free and gives tons of built-in options and plugins to work with Angular.

Angular Bootstrap Project Overview:

In the angular bootstrap project created by CLI, you will see multiples files and folders. Let’s take a quick overview of what these files and folders do.

  • e2e (End to end): This folder contains testing files for the high-level test of a feature.
  • node_modules: This folder contains all the modules and plugins required for your project. Any plugin you will install later using npm will also go in this folder.
  • src: This folder contains the main logic of your website. It is subdivided into folders like ‘app’ folder where all the components will be created, assets folder for your images, fonts, etc. Environment folder contains files for production and development by default. Your styles file is also placed in this folder.

Outside these folders on the root, you have your angular.json file for configuration and package.json file which contains information regarding all the installed packages.


As already mentioned, Angular uses typescript, so what is typescript! Typescript is a superset of JavaScript with more features than vanilla JavaScript, it is strongly typed and provides features like Classes and Interfaces, etc. Typescript cannot run directly in the browser, it is first compiled by Angular CLI into JavaScript and then it runs in the browser.

How Angular application gets loaded:

By now you must have checked the bootstrapped angular app created using Angular CLI in your browser. Now you must be wondering how the app gets loaded. Let’s solve this mystery and see how the magic happens.

If you open the src folder, you will see Index.html file, open it in the editor and you will see following tags:


These tags represent the base component of our application. Logic written in this base component will be populated in these tags. Now the question is that how will this happen?

If you open the main.ts file you will see the following line:

platformBrowserDynamic().bootstrapModule(AppModule).catch(err => console.error(err));

Using this line we are letting angular know that which module you have to load when you start. This AppModule is located in app folder under src folder. Now if you open app.module.ts file you will see that we are importing AppComponent file at the top and passing it to the bootstrap array. This bootstrap array contains all the components which angular should know when it starts.

Now open app.component.ts file. Here you will see app-root selector and AppComponent class declaration which I am sure you are now familiar with.


These are the building blocks of angular application. Angular application is composed of multiple components.

When you generate a component it will give you following files:

  • Component styles file (component_name.component.css)
  • Component template file (component_name.component.html)
  • Component typescript file (component_name. component.ts)
  • Component unit test typescript file (component_name. component.spec.ts)

Component style file contains all styles specific to component, template file contains the HTML template, Typescript file contains the business logic and Unit test file contains the Unit tests.

Component TypeScript File Deep Drive:

Typically a component typescript file looks like this:

import {Component} from '@angular/core';

selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']

export class AppComponent {
//logic goes here

Component typescript file is basically a typescript class file where all your business logic resides. We can divide it into three sections. First the Imports section where you import all the modules or packages required. Secondly the component metadata section declared using @Component where we define the component configuration logic like what will be the selector, its template path and styles path. Third is the business logic section, this is the class which contains all our logic.

Angular Modules:

You must have noticed an app.module.ts file in the app directory and must be wondering what this file do. Angular uses components to build web pages and modules to bundle these components into packages. Angular modules are defined by @NgModule decorator, like @Component decorator, typescript does not know about @NgModule decorator either. So we will import it from the @angular/core package as we imported @Component.

Angular module typically looks like this:

   declarations: [AppComponent],
   imports: [BrowserModule ],
  providers: [],
   bootstrap: [AppComponent]

Declarations array contains the component class names and imports array contains names of other modules. Other modules can either be Angular’s built in modules or modules created by user. Modules is an advance topic so we will discuss it later in detail.




ACF PHP vs. JSON Overview

This article list the pros and cons of ACF JSON and ACF PHP. This article already assumes you know what ACF and WordPress is, and have working knowledge of the WordPress directory.

I was recently given the pleasure of researching the pros vs. cons of ACF (Advanced Custom Fields) PHP vs. JSON export to identify future maintenance of existing WordPress stack utilizing ACF.  Prior to this project I have always been taught to use the ACF JSON export when working with multiple devs. Even in my research ACF JSON seemed to be the solution to managing your ACF with multiple devs. My assumption based on my research was to use ACF JSON for collaboration among other devs. But in previous projects maintaining ACF utilizing JSON I found syncing issues and fields would go missing between environments.

In addition utilizing the ACF JSON feature with Git we would run into issues with version control. I found to be the real benefit of the ACF JSON is you get to use the nice ACF JSON GUI in the WP-Admin which can make for easier for development but if you are willing to take make the effort, utilizing the ACF PHP to maintain isn’t so bad. Plus utilizing the ACF PHP export it allows for easier version control with Git, and control of the ACF instead of exposing them in the WP-Admin for Administrators (Note: you most likely can control ACF viewing in the WP-Admin utilizing functions.php file). For now going moving forward with future projects I will try to maintain ACF utilizing PHP and see how it goes, can always change in the future.

ACF PHP Pros and Cons

Pros​ of ACF PHP

  • It does help with binding field logic to a theme.
  • This feature is a one-way export.
  • Allows for greater control via customfields.php
  • May avoid Git versioning conflict
  • May avoid ACF JSON syncing issues

Cons​ of ACF PHP

  • ACF PHP export does not help with version control and local development? – Not neccarsily, see pros above.
  • To perform CRUD (create, updated, delete) on existing ACF there isn’t a way to do this. ​- Has to be done via PHP, see here.
  • Now, there is a plugin that enables you to do this, but ACF doesn’t do it by default
  • Because of the one-way export, once it has been exported and transferred to another environment, you cannot easily change or extend the ACF settings.​ – Again you can register fields via the PHP export
  • Also, this method doesn’t work well with merging two different setups that has been developed separately.
  • A field group in PHP file will not show up in the ACF admin unless you import a JSON file.

ACF JSON Pros and Cons

Pros of ACF JSON

  • If you only require a solution for distribution across multiple environments, please familiarize yourself with the local json feature as this solves the issue with minimal effort.
  • Local JSON is a new feature added in version 5 which saves field group and field settings as .json files within your theme. The idea is similar to caching, and both dramatically speeds up ACF and allows for version control over your field settings!
  • The real power in ‘local JSON’ is the ability to sync changes. This allows multiple devs to work on a project, use git to push / pull files, and keep all databases synchronized with the latest field group settings!
  • JSON field groups will be available for sync when either the JSON field group does not exist in the DB, or when the JSON field group contains a higher ‘modified’ value (within the JSON array) than the DB post’s modified date.
  • When fields groups are detected for synchronization, you will see a new tab above the field group list where you can select the groups to be imported.
  • ACF’s Local JSON feature can dramatically boost performance when it comes to your custom fields. It works similar to caching in that it saves both field group and field settings as a .json file on your web server.

Cons of ACF JSON

  • ACF JSON Conflicts with Syncing and Git versioning.
  • Keep ACF field groups out of the production site’s database.
  • Only make changes to field group settings locally.
  • Hide the ACF Field Groups admin page on the production copy of the site.
  • Good article on possible conflicts with JSON: and why we should follow the above instructions.

This article was put together by the following resources:

Conclusion of ACF JSON vs. PHP

It’s really depends on the project and your personal preference. Do you want to make the development harder on yourself/team, to avoid versioning/syncing issues with ACF? Or do you want to have easier CRUD via WP-Admin GUI? The choice is up to you, be flexible and figure what works out for you and your team.



Stop Struggling with JavaScript


Are you a front-end developer who is struggling to truly understand JavaScript? Or maybe you are UI/UX designer working with a front-end developer who is an advanced JavaScript developer. Regardless where you are at in your professional web dev/design career, JavaScript is an important language to at least have some basic understanding of.

I have even avoided JavaScript for a portion of my web career just because I was either assigned to projects that did not require my full attention to the language or was able to work with other front end developers who were able to assist me with that portion of the project. I have even written about JavaScript and other web anxiety.

Beyond HTML, CSS, PHP and WordPress

But recently I had to put my foot down and fully indulge in the JavaScript language because I wanted to advance my career beyond HTML, CSS, PHP, and WordPress.  I have spent indulging in physical books, e-books, audiobooks, videos, and online courses. They say that “10,000 hours” in anything makes you an expert and that is what I set out to do.  Here’s what I have spent doing to truly understand the JavaScript and break any fear of the language:

JavaScript Books:

Below is a list of books that have helped me truly understanding programming and the JavaScript language, I especially recommend that You Don’t JS Series By Kyle Simpson. I personally enjoyed the hard copies of the book because I enjoy highlighted and making physical notes in the book but there are of course free digital copies on github.

JavaScript Audiobooks:

I have a long commute to and from work some days. So beyond podcasts, I enjoy audiobooks too. Now I know what you may be thinking? JavaScript audiobooks? How? Why? It’s not all about writing code, all though that is the fun part, sometimes. It’s also about understanding the overall concept of it.

These are just some of the many ways I am improving my JavaScript skills. So, whatever it’s you are afraid to learn or don’t think you can’t learn, just consume yourself in for 10,000 hours and eventually you will get it.

The Mystery behind Domain Names

The Mystery behind Domain Names


There are over 68 million.COM domains registered. That’s a lot of domain names out on the Internet that is either already taken or just parked in some obsolete spot gathering dust and all kinds of age. The most common names like are already taken by net investors who resell the rights to the names. Can you imagine someone having He’s just waiting on the highest bidder!

There are 900 possible combinations for two letter sequences. If you’re looking for “ET” then you just won’t find it! Even allowing for digits, again every single web address is taken. Of course, that’s ignoring the fact that.COM registrars now mandate a 3-character minimum length, so it wouldn’t be an option.

Many of the three-letter sequences are taken. Adding digits to a domain name creates a number of garbage domain entries. If you’re dying to acquire great domains and unique domain names, they’ll free up sometimes only to be auctioned off through unique domain name sales.

The longer the domain name that you choose, the more that the possibilities are that it could be available presuming that you’re willing to accept an arbitrary sequence of letters and/or digits. For example, most organizations have 4 letter acronyms ( and so you may have a chance using over 4 letters to get the domain name that you want in acronym style!

Of course, many of the registered domains are ever, visited, with a huge percentage having nothing more than a “parked page” (users pay domain registrars to put up ads for themselves on these type of parked pages). There are so many combinations and back door tricks to domain name cataloging and classification until the possibilities are endless.

The rule is to obtain a domain name that closely resembles who you are about which gives you an identity and brand on the internet.

Want to make six figures? Learn to be JavaScript Developer


There are thousands of JavaScripts freely available for downloading. These range from Drop Down menus to Snow Effects, from Mouse-over Effects to Digital Real-Time Clocks.

JavaScript is useful for introducing limited animation to your web pages without the download times associated with Flash animations. Your page tracking and Google Adsense tracking also use JavaScript.

People see JavaScript programming as a new and highly paid career. Universities supply the courses because the demand is there and it’s a good way for the university to make money. As these qualified programmers come onto the jobs market, the number of programmers is going to exceed the number of vacancies and salaries will fall.

When companies can outsource their programming needs to low cost countries like India and China, they are unlikely to want very many highly paid programmers on their rolls.

If you do learn JavaScript you can earn money on one of the freelancing sites, by bidding on various projects. Be aware that you will not be able to compete on price with programmers from India or China, to compete on quality and completion times. The reputation you establish early on will stay with you for a long time, so make sure it is an impeccable one.

JavaScript does have some disadvantages. It works differently on different browsers and it increases the download time of your pages.

Against these disadvantages are its advantages. There are sites where you can download scripts for free and many sites where you can learn at least the rudiments of JavaScript programming without paying a cent.

JavaScript and other Web Anxiety

JavaScript and other Web Anxiety


I recently came across this excellent video called “Full Stack Anxiety” by Joel Califa with this related article by @FirstMark and it got me thinking about my current situation as this hybrid UI/UX designer and front-web developer.

First, a little background on my web career for context

I have been building digital deliverables for the web since 2005, and in the beginning, I struggled with HTML and CSS and was more of the Adobe Creative Suite guy using Photoshop and InDesign to design print materials. Later on, continued to traverse the Adobe Creative Suite with Flash and Dreamweaver (actually when I started using Flash and Dreamweaver they were still own by Macromedia). Built a few great portfolios in Flash and some okay websites in Dreamweaver utilizing templates.

Hit a few bumps in the road at the beginning of my career working for some not so great freelance gigs and contract jobs, but all of them a learning experience making me a better at what I choose to focus on and find my niche in the web world.

Between 2006 and 2007 I began to understand HTML and CSS and was able to build websites utilizing Photoshop, NotePad++ and your traditional shared hosting provider, uploading files via FTP.  I also was able to implement things like JavaScript and jQuery but never without reference; I could never write JavaScript from scratch as I did with HTML and CSS. There was a lot of copying and pasting happening with JavaScript.

Then I discovered WordPress, and it opened a whole other realm of opportunities for me.  I felt limitless with WordPress and still do today. But what I was finding utilizing the framework like WordPress was that I was missing out on the opportunity for what I  would consider “hardcore web programming,” for example building a PHP or JavaScript web app from scratch. And doing that hardcore web programming with all the fancy compilers and make tools you find today. For example Gulp, Grunt, WebPack LESS, and or SASS.

Also felt like I missed out on genuinely understanding JavaScript and now not having a keen understanding of JavaScript background leaves you not worthy of many UI developer jobs. Or even worst you try to take a UI developer job to learn JavaScript and all the cool new tools, but the current web-devs are a bunch of pompous, egotistical assholes. And if you don’t operate at their speed your, then you are an idiot! “Look at how fast I can use the command line.”

Sorry had to vent there, let’s get back on track.

What to focus on next for my web career?

I have held a multitude of positions everything from graphic designer to web developer to the more recently UX designer and UI engineer. To me, they are just titles. Why? Fundamentally I approach all my jobs with a similar mindset, get presented with a problem/task and do everything in your power and knowledge to solve that problem even if not knowing the proper syntax or methodology to explain it. How to explain it? Utilizing your past experiences,  online resources, and communities.

Over the years you gather the necessary and experience and knowledge to take with you for your next adventure (job/gig). But sometimes that only gets you so far. Questions I ask myself today

  • Should I niche down? – For example be purely a WordPress Developer.
  • Should I get better at JavaScript and pick up a framework like React.js? – Probably should
  • Should I focus more on product design and management? – Maybe one day I could be a product manager and not worry about coding every again.
  • Should I focus on project management? – Maybe one day I could be a project manager and never worry about coding again.
  • Do I continue to be a jack of all trades and master none? – Not likely a good idea.

Hence, you can see where the anxiety comes in to be being a web-dev hybrid purple squirrel thingy.

But thanks to the excellent video and article by Joel he does give us some impressive outlooks on what to focus on (note this our my takeaways):

Be happy with your career and what you decide to do

Currently, I am satisfied working as front-end web developer/graphic designer typically in marketing departments utilizing tools like WordPress, Photoshop, Moz, Hubspot, Google Analytics and Hootsuite to deliver compelling digital solutions and custom WordPress sites that drive leads to convert.

Where do I want to be eventually, maybe? I may see myself as a creative director, product manager or even a director of development/IT. But who knows where the road will take me. For now, I keep gathering experience and knowledge with me with each job and moving forward.

Since I feel confident in the UX design process and am proficient in Photoshop, rapid prototyping, etc. I feel like I want to focus on learning hardcore JavaScript development. Why? I think it’s imperative for me to stay relevant in the front-end web development world. Plus I feel most developers get paid more than designers in some cases*.

*Of course, this is based on industry, company, location and whole other bunch of factors. But currently I see developers getting paid more in my region and more opportunities for developers then I do designers. 

Stop being a jack of all trades and master none

So to paraphrase Joel,  “Stop chasing the trends” – You don’t have to learn the latest and greatest JavaScript framework. But be aware of those frameworks and maybe try one out but do what you are good at for now and keep learning.

So thanks Joel for putting things in perspective it helps. Until next time, Godspeed.


What is the purpose of a good design?

UX Design
Truly, what is the purpose of a good design? A good design can be like a logo. It stands for what the company is for. In getting a design, one should consider how it will be of use. It can be made of more than one type, depending on the preference of a company, as long as the concept is still the same.

The simpler the design, the better. With the evolution of graphic designs came the use of more complex designs to create and to choose from. Special effects are now being used in answer to the advancement that people and the world is undergoing.

This may be expensive but they it does the job of getting more attention than its counterparts. A simplified version of this graphic design is required to some of the more simple applications.

What is image style in designs?

The design is what the company should be. It is the company’s representation so it would only be right for the designs to justify the company.

The clients that these companies accommodate for should also be represented in the design. Having a two-way purpose for both the provider and the consumer comprises a successful design.

Is format important in designs?

Formatting your designs would add to its effectiveness. By using the right font formats, drawing and photographic applications and color management, will guarantee the easy management of these designs.

What is originality in designs?

As designs represents your company, they should be unique enough for people to relate it only and exclusively to your company. This reduces the probability of misconceptions and misunderstanding in the impressions the company has to make to the people. Having an incomparable and distinctive design could make your company memorable enough for people to remember it, consciously or unconsciously.

What is the importance of appeal in designs?

Appeals are what make your design attractive, no matter how simple it is. Using the right fonts and choosing the right colors that can create the correct appeal to the people is a crucial factor.

The company does not only have to think of the effect it will give today but also what it will do in the future. The appearance could be changed from time to time if necessary to generate the right outcome.

Designs can make or break the company. Most often than not, it takes time to get the right designs that can make a lasting effect. With more graphic designs being created and invented, people can have more choices to choose from.


The Infamous Blockchain


We have all heard about the blockchain, and most of us will associate with Bitcoin or cryptocurrency. But the blockchain is a piece of technology separate from Bitcoin and other cryptocurrencies. The Blockchain could be considered a web-based application and or database. But it’s best described as online, uncontrolled public ledger in non-technical terms.

According to, “A blockchain is a digitized, decentralized, public ledger of all cryptocurrency transactions. Constantly growing as ‘completed’ blocks (the most recent transactions) are recorded and added to it in chronological order, it allows market participants to keep track of digital currency transactions without central recordkeeping. Each node (a computer connected to the network) gets a copy of the blockchain, which is downloaded automatically.”

The blockchain cannot be compared to another database technology in existence today. Considered to be almost revolutionary and making even some governments afraid of it.

What benefits can we expect from the blockchain?

1) The blockchain levels the playing field: From small to medium-size businesses, the blockchain can bring decentralized-technology to our fingertips. Blockchain levels the playing field, so that all voices can be heard, offerings can be marketed and creativity and innovation can flourish without government interference.

2) Economic empowerment: Blockchain enables all to do some incredible things at the click of a mouse, tax-free. We can perform transactions with blockchain for just about anything: pay bills, plan vacations, pay for an Uber ride, buy or rent movies or even order food services.

3) Careers in blockchain are fantastic: A job in a blockchain-related field can be gratifying. It can also improve your quality of economic and financial well-being. Blockchain skills are unique, and in short supply, the work is exciting and gratifying, and the financial rewards are relatively high.

4) Great futures for our children: Through blockchain, the world is literally at your children’s doorstep. Blockchain enhances the education of children. Just imagine what could happen children spent time designing or improving economics by building their cryptocurrency or used their creativity to create videos, films, music and written works and paid for that creative with a decentralized currency. The possibilities and opportunities associated with blockchain are endless.


Basic Automated Website Testing

UX Design

The scenario

You just finished building your company’s website. You have tested it yourself and had other company employees test it. The site now goes live. A few weeks later you start getting emails from irate customers who complain that they are unable to place their orders because specific steps in the Buy Now process give errors. You quickly fix the problem. A few days later you get complaints about some other issue, and you again react rapidly to set the website. This continues for a few months till the charges finally halt, and things stabilize. At this point, you make some enhancements to your site. A few days later a customer email alerts you to the fact that in the process of making this enhancement you broke something else on the website. Again you spend the time to find and fix the problem, but by now you are perplexed and not a little frustrated. These issues have cost you many customers in the last few months and potentially spread ill will across the broader customer community. It seems to you that the only way to have detected these issues before they went live was to have employed a massive army of software testers, something your company is unable to afford.

Automated software testing

Enter automated software testing. While nothing can replace good human testers, broad test coverage requires some degree of software automation for it to be economically feasible. Automated testing tools can provide a considerable workforce multiplier and do an excellent job complimenting human testers. Every change to your website no matter how small requires thorough testing to ensure that nothing else was affected. This becomes very time consuming very quickly due to the large number of possible cases to test. A strategy whereby tests are automated using software becomes an economic necessity.

Functional and regression testing tools

There are two classes of automated testing tools. The first kind, functional and regression testing tools, helps to make sure that the website behaves as it should: for example if a customer clicks on button X, page Y is displayed without errors. Functional and regression testing tools can automate a large number of scenarios to ensure that your website works as intended. The second type, load testing tools gauge how well your site performs when subjected to significant stress, such as a large number of simultaneous users. I will be discussing load testing in a separate article.

I will now give you an overview of the essential characteristics of functional testing. Before you can begin any functional test automation, you will need to identify the test scenarios you wish to automate. Once this is done, you will need to generate test scripts that cover these scenarios.

A functional testing tool will typically record user interactions with a website. As you perform various operations on your site or application, the device marks every step. When you finish recording, it generates an automated script from your interactions with your website. Alternatively, you could use the tool to construct the scenario by hand. Typically testers tend to do a combination of the two. They will use the recorder to generate the necessary framework of their scripts and then tweak the scripts by hand to incorporate individual cases.

Scripts can be graphical and text-based. An excellent functional testing tool does not require users to have a programming background. Users not proficient in programming will work predominantly with graphical scripts. In most devices, graphical texts will typically show all interactions in a tree structure and users can edit any node of the tree to modify the script. Some users, however, who have programming backgrounds may wish to program their scripts. These users will typically work with a text script written in a standard language such as JavaScript or VBScript.

Once you have generated your script, you will need to insert checks in your scripts to test if your website is functioning correctly. Such checks are usually called checkpoints. A checkpoint verifies that values of property obtained when testing the website match expected costs. Inspections enable you to set the criteria for comparing expected values with obtained values. The expected value of a property is derived from recording interactions with the website. It is viewed and modified from checkpoints. The current value is retrieved during replay (i.e., during the execution of the test case).

Kinds of checkpoints

There are many different kinds of checkpoints. A page checkpoint verifies the source of a page or frame as well as its statistical properties. You can check for broken links, verify link URLs, image sources, the hierarchy of HTML tags or even the entire HTML source of the Web page or frame. You can also set thresholds for the loading time of a page. A text checkpoint verifies that a given text is displayed or is not displayed in a specified area on a web page. A web object checkpoint checks the properties of a web object, e.g., the value of an HTML INPUT field. A database checkpoint verifies the contents of a database used by your website.

When you replay a test script, the testing tool will open the recorded application and perform the documented steps in the same sequence they were specified in the text. As it replays the script, it will also run through all the checkpoints you have inserted into the script. Also, you can test the behavior of your application with varying data inputs. For example, you can try to submit a page after entering different values in the edit box of a web page. At the end of the replay, a detailed report is typically be generated.

Functional test automation allows you to automate the repetitive testing of a large number of scenarios across your website. Practical testing tools are an essential weapon in your development arsenal whose use provides a huge productivity gain and allows for small testing groups to accomplish significantly more work. There is an extreme economic case for Functional Testing Tools as part of the development and deployment cycle of a website.

WordPress as CMS

Can WordPress Be Used As A Content Management System?


The default WordPress

There has been talking about using WordPress beyond the typical blog set-up, into the realms of a full-fledged content management system or CMS or even an application development framework. Yet, most people have no idea how this is even possible. I have to stress that the default WordPress software was intended to be a blogging tool, so if you’re trying to make it work like a different type of content management tool you’ll have to use the correct plugins (enhancements) and have a clear idea of what you want to achieve.

While the exact step-by-step method is out of the scope of this article, let’s explore some of the ways you can use WordPress, as I have personally done before.

1) WordPress as Business Directory

To make WordPress work as a business directory, you’ll need a special plugin and a source for the articles. The Business Directory Plugins is the perfect tool for this, as the business, there are usually human-approved.

Business Directory Plugin allows you to build a local directory, a directory of business providers, a Yellow-Pages style business directory, Yelp-like review sections, create a church directory, build an address book directory and much more. You can add any kind of directory using Business Directory plugin.


2) WordPress as a Membership Site

You can set-up a free or paid membership site using WordPress. All it takes is a few simple plugins to get the job done. Once you’ve installed the plugins, members will need to login to your site in order to view the content. You can also place a login form in your WordPress theme files to make it easy for users sign in and out of your membership site.

However, the plugins only create a simple membership system, so if you’re looking to create different membership levels and more advanced features, you’d probably want to sign-up with a professional membership system.

3) WordPress as a Classified Ads System

WordPress can work like any other classifieds website too. Users can sign-up on your site and place classifieds in the form of new blog posts. They can even set expiry dates for their ads and specify listings or “wanted” ads.

However, you will need to create all the necessary categories and even create a sign-up information page to teach your users how to place ads. The upside of using WordPress as a classifieds site is that you can also use tagging tactics to get traffic from social bookmarking sites.

4) WordPress as an Audio / Video Training Site

Using the membership plugins or WordPress compatibility plugins, you can create a membership site with WordPress. Then, all you need to do is to add the “Podcast or Videocast” plugin which takes care of all audio and video elements on your website.

You will be able to display and stream MP3 audio or FLV video using their built-in players. The Podcast plugin is really robust and allows you to specify setting on iTunes, so you can make this commercially and available to the entire iPod / iTunes community.

As you can see by now, there’s a lot of possibilities when it comes to using WordPress to the extreme. Every day brings new possibilities to using WordPress as a complex CMS instead of the modest blogging tool it was designed to be.