Author Archives: CS443 – Triforce Code| Exploring and Learning

Wednesday, 29 March 2017 Sprint 4

Since Spring break was last week I did not focus much time into experimenting with the NGModel. I hope to continue more tutorials to try and apply the NGModel to our issue. Tyler and Dan have reason to believe that we are looking at this issue all wrong. We have many theories yet no real solutions. We noticed that the request respose is what we need to investigate to get an idea of what the code may look like as well.

This has proven to be slow moving but learning a whole lot about angular and other JS tools.

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

Week 7: Wednesday, 8 March 2017 Sprint 3

We have finally reviewed and selected our Issue. NGPOC-185, this issue essentially is that we want the user to be able to log out but if they are editing a form then they must be prompted to exit without saving the form data or to stay at the page and continue their work.

We are not sure yet how this should work but we know we must use the Materialize CSS library since the interface for Ampath is made with this CSS package. This issue could also involve detecting if a user has ‘touched’ the form. This is a feature of the NGModel: This allows angular to detect if the form is ‘dirty’  been changed, ‘touched’ if it was edited but not altered. and ‘untouched’ if the user did not touch the form yet. Looking forward to seeing how to implement this models capabilities.

We have decided to regroup and collaborate our ideas that we may have found towards this idea. We do not fully understand the project structure so this may take some time.

 

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

Week 6: 23rd February – 30th February

This week we have finally connected with our Project admin Johnathan Dick. We are now added to the Ampath Jira software, it is great to be exposed to these issue tracking and continuous integration tools such as Travis CI. We need to connect to the test server they have set up so we can have some data to play around with in the Ampath application.

Looking forward to starting work on some issues

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

Week 5: 15th February – 22nd February

This week has been slower than last week. I have rewritten the authorization module, yet I feel as though I am copying and pasting their code. It is a simple module that really has the imported Open MRS Auth. Module to do the heavy lifting and take care of the passing of credentials. This leaves the routing and the request observer for login. None of this code is really changeable so I am hoping to dive deeper into the core of this application. Class has been slow moving at this point, but we are reviewing angluar 2 issues, tutorials and development in general.

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

Week 4: 7th February – 14th February

This week was more exciting since we began to work with Open MRS AMPath. Building the project was like any other node application. In the terminal, I navagted to the root app folder and used “npm install”, and “npm server”. This started the ng2amrs test local server and was easy to log into. It seems you can not halt the server forcfully or you will not be able to restart it unless you reboot your machine. I have watched hours of Scotch.io tutorials and look forward to rewriting the Authorization Module. It does not seem complex since they import the OpenMRS authorization Module making the hard work already complete.

Let see what this next week brings!!

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

Week 3: 31 January – 6 February 2017

This week was a slow week out of the semester since we were finishing our tour of heroes.

We have learned a lot about routing, two way binding and the nifty features angular provides. It is sad to note that Angluar does not have a built in sorting algorithm since it added complexity and making a flexible application framework requires light weight and freedom for developers to implement proper efficient algorithms for their use. This is kind of a cop out yet shows that every developer should know how to make efficient sorting algorithms for their programs.

Looking forward to working on Ampath.

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

Week 2: 24 January – 30 January 2017

Throughout this week we had much to learn and only a couple cards in our Trello board.

  • Create an OpenMRS ID
    • Easy
  • Post introduction in Welcome thread
  • Install WebStorm IDE and Atom
    • Easy, atom for now I like the experience better. Much more customized
  • Angular Tour of Heroes Tutorial

All but the Angular tour of Heroes was easy, the angular tutorial really was weird to me and retried twice and got it to work fine. It must have been a small syntax error. Taylor has been managing well keeping us in tip top shape!

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

The Clean Coder Chapters 3&4

The importance of saying yes is something that many take for granted. This is the general theme of chapter 3. The reason Robert Martin of The Clean Coder, uses this chapter to talk about saying yes is to compliment and explain in a professional context the act of agreeing to take on work etc. I think much of this book is common sense on how to act, yet it was refreshing to have a rubric to see what your agreement means to the other person or organization you are working with. This could be even an agreement with yourself. When you agree to take on work its a test of character and really shows what your word is worth and I like this point of doing what you say.

Now Chapter 4 is another animal…it has many points brought up by many classes in the past. Everything from working too late/hard/too much, to what to when you are late on a project. These are great points to take to heart for my career and I hope I can reflect many of these perfectly throughout my career. I definitely find this chapter useful, I can tell that this author thinks TDD is the only way to clean code :D.

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

Learning new skills and when to move on.

Week 12

For my final blog I want to talk about a skill that I have learned is needed, when to give up. When having a deadline you must not only try and implement new interesting technologies, yet also provide a fluid user experience that is inline with the software requirements. While working on a school project I crammed learning many tools into a three week span to produce a product. Our product was a web based Hall pass. This was a simple application that would stress many concepts yet as an idea remained simple relative to many other ideas.

To name a few tools Chris Braley and I learned:

  • gulp
  • composer
  • Laravel Framework
  • Homestead using Vagrant
  • Eloquent
  • Elixr

These are just the main components of our web application. We worked very hard to learn and implement our ideas and Models in this new environment. We were successful yet we had to make some compromises on how we went about it. In order to preserve the development time we had we needed to skip learning the in’s and out’s of Laravel Homestead. This is a virtual machine vagrant setup that has everything you need to work with laravel, yet getting it to work properly for both of us was a challenge and we spent a great deal of time on this. Eventually we had to make the decision to throw in the towel to ensure we could produce the requirements at the quality we desired. Choosing to ignore this aspect and the advanced Roles management library allowed us to develop a system that could handle improper input from the user to avoid errors. We chose to step back and reevaluate the need of this aspect of laravel and we knew we could continue to develop without it. This ultimately led to our success of our final project.

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.

Penetration Testing VS Vulnerability Scanning

Week 11

Penetration Testing and Vulnerability Scanning are two sides of vital testing that should be preformed on all production applications. But what are they? and what are their differences?

Lets start by defining each.

Penetration Testing is the act of brute forcing, and using common and known hacking techniques to exploit weaknesses of an application.

Vulnerability Testing/Scanning is the act of checking all software versions to ensure they are up to date with current security standards.

Will these prevent an attack, maybe…There will always be a possibility of being compromised but the more caution and thought you put into your design you can minimize this risk. Because just like physical crimes, criminals look for unlocked doors.

 As you can imagine both of these are vital to a systems analysis. Yet both have their time and place. These test should be ran when major software upgrades and even downgrades are needed to ensure software integrity. Tools like Kali and Appscan by IBM, are just an example of a penetration testing software suite and a vulnerability scanner.

 

The main difference is this:

Penetration testing looks for unknown vulnerabilities and scanning checks for known security issues in older dependencies.

 

Getting Started with Web Application Penetration Testing

From the blog CS443 – Triforce Code| Exploring and Learning by CS443 – Triforce Code| Exploring and Learning and used with permission of the author. All other rights reserved by the author.