About Me

Hi, I'm Ruan Erasmus. I was born a South African and raised mostly Canadian. For the last few years, I have been falling more and more in love with software development. I have a passion for creating robust and easy-to-use software applications that provide long-lasting convenience to users. Throughout my academic career at Saskatchewan Polytechnic, we have learned about many areas within the IT field, although my personal favorites are web development, database administration, back-end software development, and Linux desktop/server administration.

I am set to graduate from the Computer Systems Technology program in June, at which point I plan to head to the University of Saskatchewan to attain a bachelor’s degree in computer science. This web application provides a glimpse of the technologies that we have learned in the CST program, although we learned skills from a variety of different fields.

...

Here are some of the topics that I have gained experience in:

  • HTML5 and CSS3
  • JavaScript, Java, C#, and C Programming
  • Data structures and algorithms
  • Server administration
  • Database administration
  • Network administration
  • Operating system administration
  • Data and document management
  • Computer security
  • Computer hardware

About this project:

This web application is composed of a Linux Ubuntu Server, an Apache web server, and a Node.js application which are all running on my own dedicated hardware.

Technologies used in the development of this application:

Some Other Projects

... ...
Grade Calculator App

Over the Christmas break, I challenged myself to build an app that I could use to help calculate my grades as I continue through my education. Using this app, I can simply add individual assessments, what I got on the assessment, and what the assessment is worth (shown in top left photo), and then the app will then determine my floating average (what my current average is), as well as my accumulative average (what my average would be if I got all zeros for the rest of the semester) in that particular course.

On the Home page, I can see the calculated current final grades for up to 10 courses, as well as remove or add them into the calculations (using the switches beside the rows). Towards the top of the home page, I can see my current overall program average, my current accumulative program average (The grade that I would have if I got all zeros for the rest of the semester), as well as my floating average.

All of the data for the app is stored in an SQLite database and will remain there until you explicitly reset the database through the settings in the top-right corner of the application. I find that this app works very well for myself and provides accurate results, but before I can release it to the public, I need to make some of the controls a bit more intuitive, or provide some sort of instructions.

...
Linux Ubuntu Server / Apache Web Server

To host this project/site, as well as a few projects/sites for my fellow cohort, I setup an Apache web server and Ubuntu Server which are running on my own dedicated hardware. I thoroughly enjoyed configuring the server and the process really helped me solidify the concepts and material that we are currently learning in our Linux operating systems administration course.

In the future I hope to set up an API server of my own that can host a database and serve up content for me to use. I also hope to setup my own DNS server soon, and moving my DNS records from the public DNS into my own server (to help solidify the concepts around the name resolution process).

...
Work Order System

For our projects class in the Computer Systems Technology (CST) program, our group (consisting of myself and five other members) worked with a local software development company to create an extension that will be added onto an existing app of theirs. This project runs on a LAMP stack (Linux, Apache, MySQL, and PHP). This project was both very challenging and very rewarding. In order to complete the project, we needed to learn how to code in PHP, how to work with various new testing frameworks, how the client's system works internally, and how we can effectively add on to it.

The project was completed using Agile software development, and the test-driven development practice was followed throughout the life of the project. After the project was completed, myself, my group members, as well as the other groups in my cohort, presented our projects at Innovation Place to people currently working in the IT/software development industry, our clients, and our fellow classmates.