Recruitment website part 2

Since the last post I have spent more time on .NET web applications with JavaScript frameworks. More recently I dived into Angular and tried it out with a .NET Core project. It was very easy to generate a project template for a great starting point using the dotnet cli – see Microsoft resource for commands. I started a new sample project to try out Angular using the recruitment design as posted previously, there is a repository on GitHub to track features as they come up.

Recruitment website

In my previous post I talked about an ASP.NET website created in the Azure cloud. I have a design document with many more features to add with time permitting. Already, there is Google OAuth authentication for creating accounts but additional ideas/features include integration with an API, such as This is from memory, I need to deploy the project again like a year ago to test and see what needs done. One of the main points was to make it prettier. My focus was on I.T. jobs, so a noted improvement was to add graphics that would attract techie users. Importance was placed on the homepage, to give a good first impression, considering the impact it has on visitors continuing to use the application. I hope to get my cloud hat back on soon and will be sure to post a link to the hosted app.

Past programming

Before my commercial career started most of my free time was spent working on programs in Java and C#. These ranged from small utility applications to a reporting app that I tested in the real world. The mobile app was to aid my University senior resident role and designed with full relational database that would automate a manual reporting task. The data was extracted along with captured signatures to SAP crystal reports, printed and presented fortnightly.
Demonstrating this mobile app to my first potential employer along with the resulting report helped me get back for a second interview and code review. Dynamic and data driven websites was another area I developed outside work. My first exposure was a third year college team project where it was my job to create an ASP.NET website with registration and authentication for a trading company. The website worked as expected and ensured the team received a high grade. In fact all software tasks that had a programming component I performed exceptionally well. Around a year ago, I explored ASP.NET and MVC, where I successfully created a recruitment website in the Azure cloud using Entity Framework Code-First, allowing Visual Studio to deploy a database automatically from the related models. I was following the official Microsoft video tutorial series and accompanying articles. In conclusion, the interest I have for developing solutions using the .NET Framework makes tasks easy and enjoyable.

Raspberry pi

I have owned the Raspberry Pi 1 Model B since it was first released and it is a great invention. An affordable credit card sized computer that instills joy and excitement in the hearts of technology enthusiasts. Their mission to empower kids to use and learn the technology to create applications is something I feel passionately about. We have a generation of consumers and not enough creators. Hopefully with the huge success of the rPi, this imbalance can be corrected through encouraging more creators to satisfy the economic demand for technical jobs.

As many flavors of Linux can be booted as you have SD cards. SD cards are very cheap and one SD card I use a lot has a media centre image (OSMC) loaded. I am able to stream and download videos. OSMC has the option to enable SSH during the first run, that is useful to retrieve downloaded videos from any device on the network.

I have yet to buy and try the Raspberry Pi 3 Model B, which has on board Wireless and Bluetooth. In the future I have project ideas that I would like to apply to the rPi and look forward to posting the progress.

Website statistics

Website stats are important for web admins.
Some of the main features include:

  • Page hits
  • Geographical location of the page hits
  • Number of unique visitors
  • Entry to and Exit from pages
  • Time spent on pages
  • Error pages
  • Bandwidth usage

For this task I have chosen the very well known Awstats log file analyser as it is free. I have seen that free WordPress plugins can also offer web stats but will have yet to try them out.  Installing Awstats on Linux is ten times easier than Windows, of which directions for both are widely available through your preferred search engine.

Finally, you may want to restrict your awstats directory to the localhost and your remote IP. Accessing the webpage through an IP other than your server (a static IP), will likely be dynamic, so will be a pain to update. A solution to this would be to register with a Dynamic DNS service (such as and input the account details to a supported broadband router. The DNS host name that you choose can then be added to the Apache configuration rules for the awstats directory to restrict to this host, for example “Require forward-dns”. A little explanation on this rule is that normally the host rule will do a reverse lookup, whereas forward-dns will verify the forward resolution of the domain.