My Start to Finish Review of the Seattle University Web Development Certificate – Weeks 24-30
by Emily Fix
In the UX course we continued reading Don’t Make Me Think which covered concepts like mobile usability and website accessibility.
The monthly speaker meetup was on Tuesday and the speaker was Jeff Meyerson, host of the Software Engineering Podcast. The talk was titled “You Are Not a Commodity” and it was a really interesting discussion about how corporations tend to view software developers as commodities and how there are increasing opportunities for developers outside the corporation. If you are interested in this topic, Jeff discusses it on this episode titled 10 Philosophies for Engineers.
This week we worked on bootstrapping an Angular application with Yeoman, Grunt, and Bower. We used Grunt build control to deploy the app online at Github pages: http://portfolio.charlessipe.com/angular-app/#/
We followed the directions from Introduction to Building Webapps so it wasn’t difficult to get a basic Angular application started and deployed online.
In the UX course we focused on learning about accessibility principles which included tactics like adding image alt tags to images and including a text transcript for videos.
On the side I started working on an open source project at Operation Code. I worked on an issue and committed some code changes to the Github repo at Github.com. I then made a pull request and got the changes approved and merged.
Operation Code is built with Ruby on Rails which I have some very basic knowledge of. However, as a web application framework there are some commonalities with Angular application development. I was able to clone the repo to my computer and then serve the Rails app locally with some help. I had to install Postgresql onto my computer and then use some rails commands like bundle install, rake db:seed, and thin start –ssl to get the app running locally. One of the speakers at the Seattle University Web Developers Meetup suggested working on open source projects to show your abilities to potential employers.
This week we worked on adding data into our Angular app with RESTful APIs. We used the $Resource service that is built into Angular and generated a factory with Yeoman using the “yo angular:factory namehere” command.
I started out trying to pull Yelp rating data into my application but had some trouble getting the API request accepted due to a invalid signature error. So I decided to use the Google Places API instead and that worked right away.
It is currently displaying the business rating and the latest reviews from Google Places.
I’m making progress on my customer survey application with Angular. I have set up some routes, or different views for different URLs.
I added Firebase and Angular Fire to my app with Bower and created a Firebase object in my main controller so I could add information to the database when someone submits the survey form.
I had a front-end developer interview this week and spent a good amount of time researching the company and familiarizing myself with Shopify and their liquid templating language. The interview was with the company CEO and I think it went well although they are looking for someone with more experience for this position.
I’m reading the book Grit by Angela Duckworth about the importance of long-term effort in achieving goals. Grit is valuable in web development because you have to stick with it over the long-term and not give up when setbacks inevitably happen.
In the UI/UX course we went through the free course, Fundamentals of Digital Analytics from Google Analytics Academy which provided some useful information on how to set up goal tracking and marketing funnel analysis in Google Analytics.
I have been able to make some good progress on my customer feedback survey application at http://portfolio.charlessipe.com/angular-app/.
I was able to push the value inputs from the survey form to the Firebase database and save the values in Firebase. I was also able to get data from Firebase and display it on the dashboard page.
I wasn’t sure why the data from Firebase wasn’t displaying on the page but I figured out that the page was probably loading the $scope.businessName before it was updated from the data from Firebase. I used $apply() to update $scope after the Firebase data was loaded.
I’ve made good progress on my survey application and have added a lot of functionality to the app at http://portfolio.charlessipe.com/angular-app/.
I added a nice banner image to the homepage from Unsplash.com. Unsplash provides a ton of professional quality large images that can be used for free.
I added email authentication using Firebase’s authentication feature. Users can log in with one of the test email and password combinations (firstname.lastname@example.org and popcorn84). I manually created the test logins in the Firebase graphical interface for now.
I like working with Firebase and I haven’t had much trouble getting it to work. There was a major update to the product so sometimes it is unclear what code works with the old version and what works for the new version. There can also by async issues because the page loads before the data has been received from Firebase which can be addressed by utilizing promises.
Currently you can log in on the login page with one of test logins (the test logins are listed on the homepage). When you log in, the alert box at the top displays that you have logged in. The user identification number (UID) is then cached to the $scope variable as $scope.currentUserId. The application checks the $scope.currentUserId and displays the matching content for that user on the dashboard page. It also uses the $scope.currentUserId to switch to the current Google Place ID and pass it to the Google places service that makes the API request and returns the latest reviews from that business to display on the dashboard.
I also added a logout function so the user is logged out when the “Log Out” button is clicked on the login page.
The survey page requires that the password match in order to submit the form. If the correct password is not entered, a red alert box displays that states the password is incorrect.
I’ve made it through 75% of the program and have just one quarter left.
This week was spent polishing up my application and sharing it with my classmates on the discussion page.
In the break between summer and fall quarter, I traveled down to San Francisco for the Github Universe conference. I received a free ticket from Operation Code and met up with the founder of the organization, David Molina.
The conference was a great learning experience and I met several developers and six other veterans learning to code from the Operation Code organization. On the second day David gave a talk on how conference attendees could help the organization by volunteering to mentor a veteran.
This is a repost from Charles Sipe’s blog about his experience in the Web Development Certificate program at the School of New and Continuing Studies at Seattle University. We will post a snippet from his blog every month. Charles Sipe graduated from the program in Fall of 2016. Contact us to find out more about the certificate.
March 23, 2018
March 2, 2018