Posted on

Technology Report

PDF Report

This report is for those MBA students who haven’t taken eCommerce and Web Development course at WT but trying to know more about the course and its usefulness for rest of their career either in eCommerce development or how effectively they can use various social media tools available for effective digital marketing strategy. So, without further delay, let me get you into the details of the course contents and its usefulness.

This course contents cover various topics which help students to understand current web and eCommerce technologies, how to establish a web domain, website hosting options, introduce Content Management Systems, web themes, child themes, Search Engine Optimization (SEO), how to monetize the website, how to make an eCommerce website using various plugins available, web vulnerabilities and web security, finally how to internationalize your website for global audience.

A website from scratch

If you do not already own your domain, there are various domain name registration sites (registrars) that can help you look up for your favorite names. The chances are most of the popular names you come up with are already taken. Don’t worry there are several new top-level domain (TLD) names that are added over the years apart from initial “.com”, “.org” and “.net” TLDs. Now there are over a 1000 TLDs and TLDs that are country-specific if you are looking to serve a particular country audience.

So, go ahead and pick your favorite registrar website and start searching for your name for a website with different TLDs. Most times if a TLD is taken, these websites provide alternative TLD recommendations for the same name you searched for. Once you decide on the name, go ahead and register your website. Typically, you are registering the name for a minimum of a year and above and up to like ten years in advance. Congratulations on owning your first website.

Website Hosting

Now, if you go ahead and type your website name in your browser, chances are, you are going to see a freely hosted web page by your registrar, with pretty much their own advertisements. That is because you haven’t hosted anything yet on your new website. If you are looking to host a single custom page, telling your visitors either your website is under construction or with your contact information, you may probably end up getting a free hosted web page from your registrar. But this course is not about a single page hosting. We are going to explore various aspects of website development using Content Management System (CMS).

Before we talk more about CMS, let’s look at what you need to do to have a real website up and running. We need to find a reliable web hosting company. What does it mean? It means, instead of having to go through a hassle of setting up a web server on our own from scratch, we are trying to find a hosting company who provides a Virtual Private Server (VPS) for your website with various other services and support such as security, reliability etc.

There are various companies exist which provide website hosting services these days for as few as five dollars a month to a few hundred dollars a month for high storage and processing needs. Here is a list of popular hosting service providers for you to look at. I chose for hosting my website DigitalOcean was a pretty good hosting service provider to start with. They have a huge set of online documentation with user forums that talk about pretty much any issues typical starters face and of course more advanced topics and with recommended fixes. Here is a link to initial web server setup on DigitalOcean using Ubuntu 16.4. If you are not familiar with Ubuntu, don’t worry, it is a free to use open source Linux server and you will learn about it more as you start using it in in the eCommerce course. This initial setup link walks you through step by step instructions on how to download required software and their installation and configuration such as setting up root and other user accounts, setting up privileges, setting up firewalls etc.

Once basic setup and configuration are taken care, the next step is to install and configure a set of required software applications used for hosting your website. Here is a list of software, I used to setup my website Ubuntu, MySQL, WordPress, myPHPAdmin to start with. I will talk more about some of these in the following sections.

Content Management System

OK, let’s take a little closer look at Content Management System. A CMS is a software program or set of programs for managing web content typically for enterprise needs. There are many CMSs available to use depending upon your choice of development languages and tools. For this eCommerce development course, the preferred CMS was WordPress. WordPress is one of the popular CMS software applications and widely used in web content management. According to Forbes, WordPress powers more than 25% of all websites.

WordPress is an easy to install and configure software which uses PHP as its development language. Don’t worry if you do not know much about PHP. Honestly, I did not know anything about PHP before starting this course. If you are familiar with any scripting language or any high-level language such as C or Java, you are already on your way to start working on PHP. It is an easy to learn and implement a language with a minimum effort if you plan to do development on WordPress. But don’t be scared, if you are not familiar with any of the computer languages, you can still go ahead and use WordPress to get your website up and running. The main aim of WordPress is to give a simple to use interface to set up a powerful website and provide options for extending website functionality if needed.

Though WordPress is one of the popular CMS software applications available out there, here is a list of other CMS software applications for you to consider and compare based on your choice for your future content management needs. These are not just PHP based, but use languages like Java, JavaScript and C# and others.

WordPress Features

At a high-level WordPress provides two kinds of contents to publish, a post and a page. A post is something that you would typically use it in blogging. A page is a regular web page where you can add pretty much any content to. WordPress provides a decent web admin interface to create and publish posts or pages.

Posting some content is like writing your content in a word-processing application and pushing a publish button to publish instantly to your website. You don’t really need to deal with any of HTML or JavaScript in a posting. Typically, posts appear one after the other, latest posting being in the top. Similarly, a web page is any typical web page that you visit on the internet.

One of the most important features WordPress provides is a theme. A theme is a template or a visual framework in place, easily interchangeable by other themes. WordPress does come with many free themes to use. Apart from these themes, WordPress user community adds many new themes most of which are free to use. I used a bunch of themes in a span of this course, but here is a screenshot of my current theme called WooCommerce.

In fact, what you see in this screenshot is a child theme of WooCommerce theme. A child theme is a derived theme from a parent theme, that means, the derived child theme does have all the parent theme’s functionality but provides user to override any of the functionality that needs a change, typically extending the functionality. You may be now wondering why not go ahead and change the parent theme code in the first place instead of extending it. It is a valid question and I asked myself the same question when I first heard about a child theme. Here is a valid reason. Extending a parent theme usually happens using a third-party parent theme and WordPress does give you an option of updating themes when the theme developer uploads a new version of the theme. In such a case, if you changed the original third-party theme, newer changes that you made to the original theme would get wiped off. So, it is always recommended to extend a theme and make changes to the child theme or in other words override the parent theme functionality. A couple of reasons, I personally changed or overridden functionality in my child theme was to change the background color of my web page using Cascading Style Sheet (CSS) settings and to have Google AdSense code snippet for showing ads on my website.

Search Engine Optimization

Search Engine Optimization (SEO) was one of the important components of this eCommerce Development course. Concepts and techniques of SEO are very useful for anyone learning eCommerce development course but SEO on its own is a pretty much a separate course in most cases. I personally felt like, learning two courses at cost of one if you see it in monetary terms. Here is a screenshot of my post on SEO on my website.

SEO is a very important topic to learn along with eCommerce development using WordPress in this course. Think of this situation, you build a great website, but it does not appear in user searches performed on say Google or Bing. What is the use of it? While developing the website or creating its content, it is equally important that you make your content appear on user searches. SEO teaches all the techniques to make this happen. WordPress itself does provide various plugins for SEO functionality. I personally used a plugin called Yoast SEO for all my SEO needs. Here is a screenshot of Yoast SEO dashboard.

SEO plugin is very user-friendly and instants evaluate the web page content and make recommendations to make the content more search friendly. The plugin gives visual indications on how likely your content appears in web searches that other users perform.

Monetization of your Website

Typically, you are not starting a website for free public service. In most cases, you are expecting something out of your website. Why not monetize your website when it is generating a decent number of visitors. There are many techniques that are there to put your website to generate some extra cash or even go full-fledged into it. In one of the above sections, I mentioned about Google AdSense, if you noticed, this was by far a most common way you can monetize your website. What it means is, you simply renting some of the real-estate of your website for third-party ads. Google provides context-based ads on your page that uses may click on. Every click that users click on your website generates a few cents for you. Of course, Google charges its clients more based on a number of clicks an ad generates. I signed up on Google AdSense website to have ads on my website and every time a visitor of my website clicks on an ad, I earn a few pennies. Google pays when this total adds up to a certain amount. People provide useful content on their websites and generate extra income from the ad clicks their website generates.

Another technique I used was to install WooCommerce plugin, which I already introduced in one of the above sections. WooCommerce plugin is ready to use eCommerce plugin, which comes with most of the functionality a modern-day eCommerce website needs. It has features like product catalog, price discounts, applying coupons, cart and check-out functionality. Users can create their web accounts and perform purchases on your website. You have a way to show an item is in stock or out of stock. This plugin covers end to end purchase process helps in inventory management etc. Currently, I have not set up a payment gateway on my website because I am not really selling any real products or services, rather using this WooCommerce plugin to test the various eCommerce features. Most of the WordPress eCommerce websites use this popular WooCommerce plugin for their web presence. Developers of this plugin are pretty active in providing new features and bug fixes all the time. By the way, WordPress plugin library has several other plugins which provide similar functionality.



WordPress being one of the widely used and popular CMS frameworks so do face many security challenges from time to time. If you followed recent news on website hacks, no website is 100% secure but it is the responsibility of the webmasters or owner of the websites to keep their websites up to date with the updates of WordPress and plugins that they use. Typically, if you leave your website untouched for a while with no updates being installed, you are simply exposing your site’s vulnerabilities. Hackers are always looking for those sites which are lagging infrequent updates and try find a back door to hack into. WordPress took a great care of any security vulnerabilities and always provided fixes to its users. So it is the responsibility of the users to keep their WordPress update up to date and also follow closely with on security-related posts from WordPress as well as general news to not put your website at any security risk. Again, WordPress does come with many security-related plugins to help you in this area.


Internationalization usually referred as i18n in the computer industry, is the ability to provide your website content to international users, typically in their local language. If you noticed, some of the websites do provide different language links on their websites, clicking these links converts the web content to that language. Internationalization quickly provides a way to localize. WordPress installation itself provides localization. Apart from that, there are many i18n WordPress plugins that are available to enable the power of internationalization for your website. One of the most commonly used websites, has links in various languages to quickly see the content in different a language. Similarly, WordPress does provide a various set of plugins for localization needs.


By any means, this report is not an exhaustive list of what this eCommerce course provides to the students but just a compilation of various aspects that a student can have a better idea on the outline of the course. It is always recommended to check the previous course syllabus on WT website to understand the course content better as the field of technology is ever changing and the possibility of syllabus being changed from time to time. It is also a good idea to speak to students who have already taken this course in the past or finally not a bad idea to reach out to the department or the actual professor who is offering the course for any further details. But, as an MBA student, if you are looking to improve your knowledge in eCommerce or generally in web development, I would highly recommend this course.


Posted on

Website Monetization using eCommerce Plugins

In this post, we are going to explore how to put your website to monetize using WordPress eCommerce plugins. WordPress has several great eCommerce plugins. These plugins allow the website owners to turn their websites instantly into eCommerce sites. It is amazing to see how well these plugins support various eCommerce activities just with a few clicks. Let us take a look at some of the popular eCommerce plugins available for WordPress.

  • WooCommerce

  • WP eCommerce

  • Shopp

  • Easy Digital Downloads

Above list of plugins isn’t an exhaustive list, there are various other plugins available based on your eCommerce needs. In this post let’s take a look at the WooCommerce plugin at a high level and some of the powerful features which come handy either for new businesses or existing businesses looking to go online. To demonstrate this eCommerce plugin, I actually downloaded WooCommerce plugin, installed and activated it. As of this post writing, WooCommerce plugin is activated on this site and a couple of digital products available for purchase. I am sure this plugin will be active until I choose to replace it with some other plugin for my next post.

Once activated WooCommerce plugin lets you create your product catalog. This can be done in one of two ways. Either by adding product after product manually or by uploading an existing product catalog spreadsheet. Here is how my two product catalog looks like if you go ahead and click on Shop menu item above.

You can go ahead and add products to cart and walk through the checkout process. Because this is just a demo, I chose not to accept payments currently, which implies, I do not need to worry about setting up my payment gateway, linking it to a real bank account etc. Currently, the two products that I offer to sell are digital products, meaning once fulfilled buyer can actually be able to download the copies of PDF documents. But, if it was to sell physical products or goods, fulfillment of such products would itself will be a great software application, right from receiving an order until the product is reached to your customer.

Now is the time to sit back and think about a minute, what would it take to build such an eCommerce website similar to this one from scratch? In my opinion, depending on the finance and human power you have, it may take a few months to a few years time. Companies which developed such eCommerce websites in the early age of the Internet are now kings of eCommerce industry such as Amazon and eBay.

Finally, one important note I would like to make is, website owners who are hands on tech people can extend or customize these plugins to a whole next level and the sky is the only limit. Others simply can use these powerful plugins to run their eCommerce sites to make an extra source of income or even immerse into it fulltime.

Posted on

Website Monetization with Google AdSense

Owning a website with useful content to others generates web traffic to the website but by just attracting web traffic is not enough. There are several ways websites can be monetized. With the advancements in web technologies, people can use now it as the second source of income or sometimes even the primary source. The primary requirement is to attract enough web traffic so that we can put this traffic to work to monetize the website.

There are several ways websites can be monetized. Following are some of the ways it can be done.

  • Pay-per-click Ads
  • Affiliate Marketing
  • By Selling Banner Space
  • By Writing Product Reviews
  • By In-text Ads
  • By Selling Premium Content

Google AdSense

In this post, we are going to see Pay-per-click (PPC) Ads. The most popular PPC ads which can be enabled on an existing traffic generating website is to sign-up with Google’s AdSense account. This is as simple as using your existing gmail account credentials to login into AdSense account or sign-up for a new Google account and use it for AdSense. Once you are in, follow the steps such as what gmail account you want to use with AdSense, what is your site web URL going to be, the content language. The final step is to provide all correct information for the AdSense application including name, address etc, mostly for the tax purpose. Go ahead and submit the application.

Once the application is submitted, Google will provide you with a small javascript snippet something similar shown as below.

This script needs to be copied and pasted into <head></head> section of your website index page and then hit “Done” button to notify Google that your website is now ready for the review.

Google is going to take up to three days to review your website and get back to you with an approval or denial message. If approved, you can go ahead and login into AdSense account and follow further steps, but if denied you need to take necessary steps and re-submit your AdSense application.

WordPress changes for AdSense

If your website is a plain HTML website, it may not be hard to figure out <head></head> section of the index page to paste above code snippet. In WordPress, it is not that straightforward, you need to log on to your WordPress dashboard and go to Appearance, then Themes, select editor and look for header.php file to edit. Find <head></head> section in this file and paste the above snippet and save the content.

This gets even trickier if the theme that you are using is a child theme and there is no header.php file in your child theme. In such case, you need to copy and paste header.php from the parent theme to your child theme and then modify the header section of the page to attach the code snippet. Ths way the parent theme is unchanged and child theme header file overrides the parent theme header file. One thing to note here is to make sure that the copied over header file has enough file permissions to make changes to it.

How Google Makes and Pays

Advertisers who want to place ads on others sites use Google AdSense service and pay Google based on the number of clicks received. This is one of the main streams of income for Google. Other websites use AdSense service to sell their website real-estate to show relevant ads and clicks that are generated will make income for the hosting websites.

Posted on

Search Engine Optimization and Digital Marketing

Companies in pre-internet era have depended on marketing avenues such as fliers, local classifieds in newspapers and magazines, radio, television ads etc. But soon internet took over pretty much every such traditional avenue of advertising, companies and other organizations have quickly turned to the power of the internet and its benefits such as reaching out to their global audience, especially their potential customers.

But at the same time, the internet being relatively a newer tool for companies to reach out their customers, using it has been a challenging task in early times of internet. Companies such as Yahoo, AltaVista, Lycos, AOL etc., have emerged as leaders in internet search engines and platforms for companies to advertise and attract customers.

But in late 90’s and early 2000’s companies such as Google, Microsoft’s Bing and Yahoo still hanging in there in search engine business, have faced tremendous competition from each other for the dominance and Google stood out quickly and became the leader in the internet search business with the use of their powerful search algorithms. According to Net Market Share as of 2017, the biggest search engine market share favors Google with 77.43%, followed by Baidu, Bing, Yahoo and others all less than 10%. With such a dominance, Google quickly became the de-facto for internet search engine domain.

What is Search Engine Optimization (SEO)?

Search Engine Optimization is a technique used by the websites to grow their visibility in the search engine results to drive internet traffic. It includes technical aspects on how to improve the search rankings when users search using certain keywords. So, what is a keyword? A keyword is any word or a phrase used to search something on the internet. Website use keywords to optimize the search results. Search engines are smart, they scrape through the internet but these engines need some extra help from the websites, which are nothing but the keywords the website builders use for optimization. A web tool such as SEOBook can help find keywords other websites use for their optimization, an easy way to get the keywords used by others.

Paid and Unpaid search results

Most search results on a Google search result page are unpaid results, meaning websites using the appropriate keywords with high ranking get top spot and results page. Google also offers a paid service calls Google AdWords. This needs an AdWords account, once signed, gives tools to lookup mostly searched words or phrases, using which websites can optimize their own content. Google search results page displays paid links, for which Google’s customers pay for click counts they receive. So, not only through SEO but a paid service is also available for a small fee.

How Google picks keywords

Google needs keywords specified on web pages. These keywords need to be visible to the user when clicked on the page. If no keywords are specified, Google has no way to find the web page. The best of way having keywords on the page is have them appear naturally, meaning based on the page title and content. Have these keywords appear two or three times, so that Google understands these words are relevant to the page content.

Following are the some of the areas keywords can be used in.

  • Headings such as H1, H2 tags

  • Meta tags such as description and title

  • Navigation anchor text and title tags

  • Bolded and italicized textbooks

  • Resources such as image and video titles

  • Of course the content text

Link Building

High-quality and relevant links are stronger than that of low-quality and irreverent links. It is not going to help if a ton of links are created overnight, these links need to be built organically over a period of time. Age of the links matter. So it is a bad idea to fool the system by creating links by other means. One thing to avoid is to have broken links on the website. Search engines can not crawl further if it finds broken links and thus ends up giving poor ranks. Links from charities or non-profit organizations help a lot. Links from Better Business Bureau are best. Signing up with them is a great way of gaining good links.

Social Media

Links from social media sites such as Facebook, Twitter, and Google+ help a lot, although Google says officially they do not use social signals in their rankings algorithms. Signing up on such websites and linking back the website helps businesses in a great way. Search engines look for social media posts and backlinks from social media posts back to the website. This helps businesses to increase referral traffic and customer engagement.

One social network website stands out from others is Google+, which is Google’s answer to other popular social networking sites. Google+ plays a larger role in rankings factors, so companies to improve their rankings, need to expand their presence on Google+ and backlink their websites from those posts. This helps in two ways, one is for greater rankings and another is to develop customer base on this site. To sign-up go to

As more and more social networking websites got popular with huge user base, Google started making these activities as strong factors in their algorithms.

Google Analytics

Google Analytics is a platform used by most of the websites. It is a decent, free to use, readily available web analytics tool available for businesses. To get started, sign in at Google Analytics provides various types of analytics data but a couple of important ones to note are comparing two date ranges and looking at the analytics charts over a long period of time. Acquisition section of Google Analytics tells about where the site traffic is coming from. Organic search report gives information about how many times website received visitors from search engine. One can also see data about page views, bounce rates, conversion rates etc.

SEO for local businesses

Google not only provides search results for the keywords searched but also displays links to related local businesses. Studies show that four out of five users search local information, half of the users who searched local businesses have visited local stores within a day and about 18% of local searches lead to purchases within a day. Both traditional and local SEO can be used to potentially increase the web traffic to businesses.

So, how is local SEO different from the traditional SEO? The answer is several mentions of local businesses within the search proximity, some of the mentions like physical address and phone numbers, properly identifying businesses on Google, the authority of citations, Google My Business category association etc. For a complete list of local SEO ranking factors visit Moz’s local SEO site at

SEO Problems and fixes

As more companies choose to offer self-administrative tools and interfaces, traditional level of customer support services keeps going down. Google is no exception. Google designs tools so user-friendly and self-explanatory, most of the times users do not need support calls. But dealing with SEO could be frustrating at times and Google’s customer support is something hard to reach in other words barely exist. Following are some of the common problems that are encountered and their resolutions.

It could happen that your website is not listed in Google at all. This happens typically when a website is launched for the first time. Google does take time to crawl to this new website. Sometimes it could take a few days after the launch. A quick check would be to do a Google search like “site:newsitename.ext”, if Google does not return this new site, means Google spider hasn’t crawled to this site yet. A quick fix would be to tell Google explicitly that your new site came into existence by generating a handful of links to the site in social networking sites.

What if your site rankings have fallen and you no longer see your site link on the first page of search results? The truth is top rankings are not going to stay there forever. Both existing and new sites are always competing for the top rankings. So it is the duty of the webmasters to always find and fine tune SEO problems. One reason could be, your site competitors have implemented more SEO techniques than you and its time to work on your site’s SEO improvements. Log on the Google console and other SEO consoles to see if Google penalized your site and look up for remedies on Penguin or Panda updates. Remove any shady links from other sites that you may have over posted or used any link posting services. Google algorithms are smart enough these days to identify where a link is a natural one or not.

If none of these techniques work, it is time to take help of professional help either for free or paid. There are a ton of internet experts available to answer very technical questions for free, if questions are posted are posted properly and on right websites.,,,, and other SEO Q&A forums are there for your rescue. A simple Google search itself will lead you to the right forum for help. If none of these free sources help with your situation, there are always sources available for a small fee to look into your issues.


Clarke, A. SEO 2017: learn search engine optimization with smart Internet marketing strategies. United States: Simple Effectiveness Publishing

The Beginner’s Guide to SEO. (n.d.). Retrieved October 29, 2017, from

Desktop Search Engine Market Share. (n.d.). Retrieved October 29, 2017, from

Posted on

Search Engine Optimization and Analytics

WordPress comes with various plugins for Search Engine Optimization (SEO) and web traffic Analytics. In this post, we are going to use Yoast SEO and MonsterInsights plugins and go through the process of installation and activation.

First, go to your website. For example, https://<your-website>/wp-admin/plugins.php, click “Add New” button to search for above two plugins.

You can install and activate both Yoast SEO and Google Analytics by MonsterInsights plugins with just a few clicks. Activating these plugins may need activating Google Analytics account first, for which, visit this link and follow the instructions.

You can see the currently installed plugins on “Plugins” section of the dashboard.


Also, you can find SEO and readability scores on the “Posts” section of the dashboard.


SEO and Analytics plugins help the website searchable and trackable.

Posted on

phpMyAdmin setup and SQL statements execution

This post is going to show how PHPMyAdmin can be installed on your WordPress website. The assumption is that LEMP stack is already installed. Once logged onto your server, run the following commands:

sudo apt update
sudo apt install phpmyadmin

Installation process prompts to select a web server and does not give nginx as one of the options. Tab out and hit OK to skip this step.

In the next prompt, select Yes to configure a new database for phpmyadmin with dbconfig-common.

This step creates a new database user called:


Pick a strong password. You may use a website such as following to generate a strong password.

This will create a new database user with necessary privileges.

The following step needs to be completed before restarting the nginx server for changes to take place.

Change directory to /etc/nginx/sites-available and make below change to the default file.


Save the changes and restart the server using the following command.

sudo systemctl restart nginx

Now, type append /phpmyadmin the website URL to see the following phpMyAdmin login page.

phpmyadmin login page

Use username root and MySQL root password to login here.

Once logged in, phpMyAdmin page looks similar to this page.

Click on “SQL” tab to run the SQL queries. (Note: Only SELECT statements are executed and UPDATE statements are skipped to avoid updating the database)

SQL Statement Execution

  1. SELECT * FROM wp_posts WHERE post_type = ‘revision’
  2. SELECT guid, wp_posts.* FROM wp_posts WHERE post_type = ‘attachment’
  3. SELECT * FROM wp_options WHERE option_name IN ( ‘siteurl’,’home’ )
  4. SELECT * FROM wp_options WHERE option_name = ‘active_plugins’
  5. SELECT * FROM wp_options WHERE option_name = ‘akismet_spam_count’
  6. SELECT DISTINCT user_email FROM wp_users
  7. SELECT wc.* FROM wp_posts wp INNER JOIN wp_comments wc ON wp.ID = wc.comment_post_ID WHERE wp.ID = ‘1’
  8. SELECT wc.* FROM wp_comments wc INNER JOIN wp_users wu ON wc.user_id = wu.ID WHERE wu.user_login = ‘ram’
  9. SELECT * FROM wp_comments INNER JOIN wp_posts ON wp_comments.comment_post_id = wp_posts.ID WHERE wp_posts.ID = ‘1’
  10. SELECT * FROM wp_users INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id WHERE wp_users.ID = ‘1’
Posted on

First Post!

This is my first post after WordPress was successfully installed and running on my own website

Starting from setting up a Virtual Private Server (VPS) on, linking my existing domain DNS from to this newly setup VPS. Installing nginx webserver, WordPress and MySql database was a great experience and…

…watching the website coming up step by step was amazing.

I worked on a couple of web applications in the early 2000s using Java/JSP technologies. Back then development, testing, deployment etc., were pretty much manual steps.

WordPress and its plugins are great, to be precise made web development so easy for anyone.

At the same time, the beauty is that WordPress is so flexible for a professional to customize the website as needed using PHP and available plugins.


Though, I am a hardcore java professional, this first assignment made me a big fan of WordPress. And in general, web application development.