Sprint 5 Retrospective

This sprint started with a lot of frustration but ended with some relief. At the start of our sprint we decided to refocus on a component instead of working on the backend. This included almost restarting everything and researching whole new topics that need to be used. With research what we discovered is that the… Continue Reading →

From the blog CS@Worcester – Computing Finn by computingfinn and used with permission of the author. All other rights reserved by the author.

Sprint Review #5

Hello and welcome back to Benderson’s blog! This week we will be discussing another sprint that occurred in my software capstone class at Worcester State. We are slowly coming to a close on the semester and my final couple weeks at Worcester State as I will be graduating near the middle of May. With only one sprint left after the one we just concluded, we really need to crack down and get everything we need done so we don’t disappoint the food pantry workers. We have mostly everything needed done for the project. We are just finishing up the intake form, making it look pretty with the basic features. Near the end of this sprint though, we got a lot of requests from the other food pantry group in the other class to add more features to the intake form. Some of the features they want are to add a zip code, optional field for ethnicity, optional field for gender, add an address field, add how old the family members are, etc. In my opinion, I think some these features are not needed but can be something that we can add later on after we get all the necessities done. Our group has been hard at work the whole semester to get this project done and we can see the finish line in the distance so we are very excited to get this project to the food pantry for them to see and hopefully they will like it a lot.

During this sprint, I was working on the tasks that were assigned to us and making sure everything is organized and everyone was working on something. You might say I was the manager of the group and doing some work with them as well. Nate was continuing to code in webstorm trying to get the CSS to show up nicely and also was trying to add some of the features that were wanted by the other food pantry group into the intake form. Nick was also doing the same thing but with other tasks, we ran into some road blocks along the way as our program wouldn’t work sometimes and would crash the system making us reboot webstorm. Other times, it was our fault that it wasn’t working as we had some minor code errors in the code that we had to find ourselves but recently our program has been working but not to our standards which we will have to fix during final sprint. Johnny was working on organizing the github board, making sure that each task has a description to it and if it should be closed or not. He also has done most of the communication with the other class, making sure we are on the same page for the project. Andy is working on the back end and is also working on the Foodkeeper API and he has been working diligently every class that we have been working on the project.

We are in the final sprint (no pun intended) and are years as a computer science student are coming to a close. This project will be the last thing that we have accomplished at Worcester State university and we are excited to get it out there. All our years of hard work have come down to this moment and we can’t wait to make Worcester State proud. Thank you for joining Benderson’s blog this week, I’ll see you for the final sprint review when the time comes.

From the blog CS@Worcester – Benderson's Blog by Benderson's Blog and used with permission of the author. All other rights reserved by the author.

Reading List

Hi dear readers. Welcome back/all to my next blog post about the next Pattern. The next Pattern I am going to write today is about ‘Reading List’. Yep you heard it right! Reading List! Just because you are a developer doesn’t mean that you got no more reading to do.

This Pattern in the book talks about how to start with a reading list and how to keep up with it. The authors make very good points when they say that its hard to even start a reading list as you might not be sure what to read first. I like how one of the recommendations is to ask your mentor/professor. They would be the people who know your development level better than anyone and will definitely be a great help. Another point to keep in mind is that the initial Reading List you have created might (probably will) change after you have finished one of them. Having a Reading List is great because it also makes you reflect about what you read previously.

As mentioned in the book, we should always think and analyze about the book we just read and try to figure out on our own on what should be the next book to read. Computer Science is one of these field that new things will  always keep coming up and what better than books will be describing these new innovations. Indeed these new books should be on top of the list.

I believe that there will be cases where you/me as a reader will be disappointed on one or more books. It’s not right that just because one book was not good enough, we should stop reading other books. I think that when you don’t find a book interesting or good enough, it’s a good sign as you are thinking about the book content. This will give you a better understanding on what you would like to read next and what is your favorite area. For example, for my reading lots of books about programming languages wouldn’t be too much interesting. On the other hand there are people who love reading each and every book about programming languages and this is because they’re passionate about it.

I would recommend to just start somewhere, and then you will be able to figure out on what to jump on next.

From the blog CS@Worcester – Danja's Blog by danja9 and used with permission of the author. All other rights reserved by the author.

Sprint Review Blog # 5

            Our fifth sprint really allowed us to sink our teeth into the project and build our first component. We continued to have bugs and issues with git and node modules that we had debugged earlier in our third and fourth sprint. These bugs have come and gone randomly among our team members which made working in synchronization much harder because not everyone had a stable version running at all times. We debugged the issue through various methods using multiple pulls from other branches in git to solve the issue. The first error started with the CSS formatting that had been troubling us for a long time. We had originally solved the issue, but it came back once again when we pulled a fresh copy of the project from our branch repository. We decided to pull another version of the project from another groups branch and debug their files to see if the problem was with our local machines. It seems that the issue was with our file structure for our git branch because the other groups branch was running just fine. We decided to look further into the file structure of our project and reorganize the node modules to see if we could solve the issue. After further reinstallation of the node modules through the npm install command, we were able to get an interface up again. The CSS now works fine with the HTML and other application files. The integration of the Q-Form component with the app files within the code is our next real goal. We want to easily connect the component to the app files so that we can finally see if the function is up to our visual standards. We also have to decide if we want to select subgroups to finish this component while another set of people begin working on the next component. We will have to discuss this as a group during our next sprint, but I believe we are on the right track for this development cycle. We have solved many issues and are almost done making our first component. There has been talk about communication with an integration team that will be handling the total integration of various components into a demo file for the application. It could be possible that we have to mock some information as well for data instead of a server. It would be easier for time constraints to make random data rather than set up a server so that is definitely an option. The option of multiple people debugging a problem is comforting and it allows a fresh look onto an engaging topic as well. I personally enjoy group debugging because it makes the learning experience much more enjoyable. This sprint really taught me to understand other people’s point of view when debugging. I learned to be patient and try to understand another mindset even if it takes me longer than necessary. This proved to be vital when communicating with team members and allows a feeling of inclusion as well as mutual understanding.

From the blog CS@Worcester – Student To Scholar by kumarcomputerscience and used with permission of the author. All other rights reserved by the author.

Familiar Tools

Hi dear readers and welcome back to my blog. Today I am going to talk about another Pattern that I read from the book Apprenticeship Patterns. This blog post will be about familiar tools.

Once we start working or coding on our own we start to like and choose which tools we like and which ones we do not. It is just a matter of time for us to figure it out. Once we do though, its hard to switch. When I started coding, I was only learning tools that were recommended from our professors in school and as I was ‘scared’ to experiment I always choose not to switch even if I didn’t like it. Going to work and school at the same time was amazing as I was facing new tools in both environments and I was able to tell which ones I liked and found more useful and made me more productive. And as the book says, once you find your favorite tools, its hard to switch!!

This chapter talked about how all of us have our own favorite tools and we find it hard to switch even if the productivity sake is in risk. It would be our decision on weather to give up our tools or not but we have to face consequences. At the same time, just because a tool is great for you don’t mean it will  be great for someone else. Something that you might find easy, might be hard for someone else.

There is one example I would like to give for this Pattern. I started to use Eclipse on my second semester of Computer Science and I wasn’t crazy about it, but as we had just transited from BlueJ was very cool. Two semester later is when I started my job and over there the developers were using more advances IDEs and I was very excited to learn and get familiar. Eclipse went out of my list right when I learned about Illuminated Clouds. Very ‘smart’ IDE! However, Eclipse was still the only option in school and I was hating it and started to recommend to other people. Some of my friends found it very useful to use and some others already loved Eclipse for what it was.

Last but not least, I really liked the recommendation from the book that was suggesting to have developers create a list for all familiar tools and keep researching is the list was smaller than 5. All of us will probably change lots of jobs and lots of companies will have their tools, but its always good to have your own area of expertise.

Hope you guys found this blog useful…Stay tuned for the next Pattern from this cool book!

From the blog CS@Worcester – Danja's Blog by danja9 and used with permission of the author. All other rights reserved by the author.

Sprint 5 Retrospective

From the blog CS@Worcester – Onwards to becoming an expert developer by dtran365 and used with permission of the author. All other rights reserved by the author.

Software Development Capstone – Sprint 5 Retrospective

Once again, this week marks the end of another sprint, with even more progress taking place for our team’s component of the AMPATH mobile app, the left navigation bar. As I described during the previous sprint retrospective, our team was able to complete a minimum viable product (MVP), meaning that any consumers utilizing this app would have a minimally functioning navigation bar! This sprint was focused mostly on adding and polishing new features that could make this navigation bar better.

During our preparation for the upcoming sprint, we came up with a list of additions that would benefit our navigation bar component, not only in terms of aesthetic but also in terms of functionality. For styling changes, we decided that we wanted to make edits which promoted easier readability. Other changes that we wanted to make included adding a home button on the navigation bar so that users could redirect back to the main home page, creating a dropdown menu for some of our buttons in case a sub-menu was required, and fixing the navigation bar such that once a button was clicked, the menu would collapse, rather than staying open when switching to a new page.

My overarching task for this sprint was to focus on the styling changes that we wished to make to the navigation bar. This included making the text size for the navigation buttons larger, increasing the spacing between each button to make navigation between each tab easier, center-aligning the button text (rather than left-justified text) because our whole team preferred the center alignment, and changing the color of the whole app to a darker mode so that it makes it even easier for users to look at the app. Adjusting the font size of the button text required a quick edit in the CSS file, app.component.css, where the font-size attribute related to the container with our navigation bar buttons was increased. I used the following site to make this change. Likewise, switching the alignment of the button text was specified in this CSS file, in the same section which described the formatting of the same aforementioned container. I used the following site to verify which attribute to change and how to modify it properly.

In order to increase the spacing between the buttons, I simply added 2 line breaks between each button, modified in the HTML code for the app (saved in the app.component.html file provided by the Angular framework). Finally, to change the color scheme of the app, I used the following site in the Angular Material documentation to learn more about the different themes that are pre-built into Angular Material, as well as how to go about creating my own custom theme. I initially considered creating a custom theme, but I wanted to check out each of the pre-built themes beforehand in case I liked any of those instead. As part of the Angular Material Themes, each theme has a primary palette (which are colors most often used on the app), an accent palette (for interactive elements on the app or any floating screens or dialogs), and a warning palette (for any error messages or notifications). I did a trial and error of each of these 3 palettes, for each pre-built theme provided by Angular Material, listed on the Angular Material site, and I found that I, and the rest of the team, preferred the accent palette of the pink-bluegrey.css theme, which resulted in a “dark mode” of the app. In order to incorporate this theme into our app, I navigated to our global stylesheet, styles.css in the top level of our src folder, and added the following line: “@import ‘@angular/material/prebuilt-themes/pink-bluegrey.css’;” Then, in our HTML code, whenever a color attribute in our button tag came up, I specified that the accent palette would be used, which looked like: “color = accent”.

This was a very productive sprint, and I’m very glad that our team has the flexibility to add more features without having to be concerned about the basic functionality of the navigation bar being affected. For our final sprint, we are going to be focused on finishing most, if not all, of the rest of our additional features. We will also be wrapping everything up for the semester (holy moly it’s the end of the semester already?). Stay tuned for my last sprint retrospective, and thanks for reading!

From the blog CS@Worcester – Hi, I'm Kat. by Kat Law and used with permission of the author. All other rights reserved by the author.

Another Sprint, Another Retrospective

Good day to you again, my fellow readers! Well, the time has marched on and I have once again found myself at the end of another sprint and you know what that means; time for another sprint retrospective.

This sprint has been a bit slower than the previous sprint was. With the trials and tribulations of relearning or learning angular (in the case of some of our group members) behind us, many members of the group were able to excel and start knocking items off the backlog. With each item off the backlog, my teammates were even able to add on extra features and improvements. Content for the left navigational bar was established and each was given an appropriate button. We then added submenu buttons, for items that belong under a certain category and not on their own. A home button was added to take the user back to the main screen, return from the left navigational bar and close it. Many aesthetic changes were made as well. Buttons were moved, spaced out more, colors were changed to make it more aesthetically appealing and less harsh on the eyes, the font size was increased for better readability, and the text that confirmed a button press was moved to be centered on the page. The latter was simply for testing purposes so that button presses could be confirmed that a button press would actually register and change to the appropriate page.

On the last day of the sprint, our manager/professor informed us that another team working on the search bar function for the AMPATH application wanted to push their work to the Github repository and we needed to push our work as well because we had made a base application in addition to making the left navigational bar.  As one could expect, there was a problem. The issue was that our group had made a repository and were not working off of the branch we had created. Now, this may not seem like a problem however, the repository we made was not on Github, but in Gitlab! Remembering the Git lessons I had just had earlier in the day, I suggested simply setting a remote upstream to the branch in the main Github repository from our Gitlab repository. We could then simply push from out Gitlab repository to the Github repository and all would be well. With approval from the professor, I made sure to pull all changes from my team members, set the remote and attempted the push. Error. Of course, things can’t be easy. The error was a permissions error that would not allow the push if I remember correctly. After conferring with the professor again, he determined that the best course forward would be to simply copy over the needed files and make changes where needed to other files and push those changes to the branch. Then request a merge with the master branch to make the changes available to the teams that needed them. This was not terribly fun as while some files could be copy-pasted in, there were many files that I had to manually edit and add in lines that we had added. Before attempting a push, I made sure that the application actually ran, which it did after installing npm. After pulling all changes and completing the manual edits, I attempted to push the changes. Error.  I was missing files from the master branch. I pulled from master and tried again; same error. I wasn’t sure what was going on as I had just pulled and there were no updates. I pulled again to receive a no changes message. This had stumped me. This left me with only one option, sleep on it. After waking up, I came back to the issue and had a random thought to pull from the branch, and it worked. When I went and attempted the push, I had one more error, but that was because I forgot to check the master for updates. One final pull from master and I had done it. I was able to successfully push to the branch. To end this saga, I made a pull request to merge our branch into the master branch. That saga was great practice with Git and solving its many errors.

That’s it, readers. Another sprint comes to a close. We have only about one or two more sprints left so the time we have left is quickly coming to a close.  Until next time readers!

From the blog CS@Worcester – Computer Science Discovery at WSU by mesitecsblog and used with permission of the author. All other rights reserved by the author.

Sprint 5 Retrospective

Sprint five lasted from April 8th to April 22nd. This sprint, we were focused on completing any big steps left that the project required in preparation for the upcoming sprint, where we will focus on our presentation. For the next sprint, we also have allocated enough time to polish minor details if necessary or finish any uncompleted project features.

My role this sprint was to implement a button that offered more buttons when pressed. This is useful in cases where we have multiple links or related content that can be categorized under a common theme.

To start, I created a new routing module and component for the new button. Yesenia helped me a lot with this task, since she set up the components for the existing buttons. She provided me with the correct commands, ng generate module file-name –routing and ng generate component file-name/sub-file-name. We worked together by bouncing ideas off as we pieced together the HTML and related programming for the new button. By the end of class, we successfully created a new button named dropdown that would rout to a new page, indicating the linked connection was successful.

This was not the full intention however, instead of bringing the user to a new page, the button should display three more options, each of which could have the capabilities to send the user to a new page. I created the three links, but I couldn’t figure out how to hide/show them upon triggering the dropdown button. I deduced that I would mostly have to play with the component.html file, I used the following link as a model of what I wanted to do.

https://material.angular.io/components/sidenav/overview

In that link, scrolling down to the section titled “Drawer with explicit backdrop setting” I was able to look at the existing HTML and trim it down to fit the needs of the project. Mat-form-field and mat-option was specifically what I needed and what I used. With few modifications, and again some bouncing ideas from yesenia, I currently have the feature up and running. Some small things that I would like to get done if possible would be changing the color of the dropdown text to match the other buttons, as right now it is very distinguished looking. Also the manner in which the new options appear is not what I originally thought of, instead of creating a pop out list, I was thinking the buttons would appear on the sidebar beneath the dropdown button and would shift all other buttons below it down. The link below shows what I was originally thinking, but I couldn’t make that work as easily.

https://www.w3schools.com/howto/howto_js_dropdown_sidenav.asp

The reason why I decided to use the other link directly over this one is because I didn’t understand how the provided javascript worked enough to implement it in our project. I’m sure if I dedicated to it, I would be able to get the feature exactly how I want it, but this is not necessary and Ill only change the existing feature if we have extra time.

The focus for our next sprint will be coming up with our presentation and trying to merge our project with some of the other groups projects. We want to be able to combine our side bar with the team working on the search bar without stepping on toes. Tim is currently working on that, I may need to copy and paste some of my work in order to make sure its implemented in the current master branch.

From the blog CS@Worcester – CS Mikes Way by CSmikesway and used with permission of the author. All other rights reserved by the author.

Sprint-5 Retrospective Bog

It’s time for Sprint-5 Retrospective Blog Post. As you are probably aware by now, during this semester I will be working on a AMPATH project with a team I was assigned on by my Software Development Capstone professor. As part of our assignment we are assigned to complete a Sprint Retrospective blog post at the end of each sprint. As of Today, April 23rd, 2019, we have completed Sprint-5. During this fifth sprint we were able to get some task done and some task started during this past fifth sprint cycle.  For sprint-5 our task involved the following:

  1. Collapse nav-bar when clicking on button to go to the new page -> ME
  2. Add button in nav-bar to redirect back to the home screen -> ME
  3. Adding sub-menus to the existing buttons – Mike
  4. Move buttons farther down the nav-bar – kat
  5. Change colors of app – kat
  6. Left navigation bar – scaling -> Tim
  7. Start the final presentation – Quoc

During this sprint my team and I all focus on our individual task we assigned to each other. For this sprint one of my task was to figure out how to collapse the nav-bar when clicking on the button to go to the new page. My other task is to add a button that redirects you back to the home screen on clicked. Each of my team mates had task which I have listed them. In this retrospective blog I would only discuss my task and what I have done so far.

From the task I was assigned (more like picked) I had to make the nav-bar collapse once any of the button was clicked on to navigate to the next page. This took me a little while to figure out but one I did. I realize how simple this step truly was. The way I did this was by adding “(click)=”drawer.close()”” for each button after “mat-button”. The way this work is that when you click on the button it leads you to the page expected and closes the nav-bar. For my next task I have to add a button that will redirect me to the home screen once the button is clicked on. This task I have not completed I have started it but I have not finish this task yet. For the next and final sprint I hope to have this task completed. 

I can say that during sprint-5, I’ve learned a little more about Angular Material, and how to get the nav-bar close on click. For this sprint I am still doing some reading and tutorial on Angular Material because I found its tool pretty interesting and worth learning the different cool things that can be done. In light of everything I learnt there is nothing very special that went on that requires details explanations or strategies that would be required for handling things differently next time. That being said this project is still proving to be fun and interesting. So far this project is going without a hitch, and it’s not making anything more complicated than it has to be.

Thank you for your time. This has been YessyMer in the World Of Computer Science, until next time.

From the blog cs@Worcester – YessyMer In the world of Computer Science by yesmercedes and used with permission of the author. All other rights reserved by the author.