Sprint Retrospective 3

This sprint we ultimately ended up with choosing to work on the server. This server would be responsible for handling data transfers between all of the components of the groups. Our group had an internal vote between working on the server and working on the bottom navigation component, we all agreed to work on the server as we wanted to challenge ourselves and learn something that we have not done before. Learning something new seemed to be in the interest of all of us, and especially myself. Whether or not we can do this or not will be interesting because no matter what I feel as though we can learn something as a team.

When dealing with a servers it is very important to understand how services work. A server provides services to one or more clients and a server is the computer. These services are what makes these servers available on the network. In order to understand how these services work, our grouped delved further into this topic. We searched through ampath and found the folders that contained these services. These are the services that we will need to recreate in order to make the other components work. The catch was that we only needed to find the correct ones for each team’s respective component. We came across what is called “nock” to help us with mocking components. Instead of pulling data from servers, instead we need to pull data from a predefined list of attributes somewhere in the code. This is precisely what nock is designed to do. It overrides node’s http.request function to use modules directly.

Now that we have established what we are going to be using to mock these requests, our task was to now pinpoint these services. We started a backlog of services that we needed and plan to consult with other groups to see what type of form data is needed so that we can find the respective services. We have been communicating using slack, not only with our group, but with other groups to see where their progress is. We also created designated channels for discussion about pinpointing these services that we need to mock the requests. So far, nothing has really started for us as a sort of production, however in the coming sprints we want to start really engaging more with other groups and want to start designing the basic frameworks. This server seems like a big deal, and if pulled off correctly will be great. Trying to build and design something that is brand new to you is very intimidating and possibly time consuming, which is also part of the reason why we are trying to educate the other groups to have them help us find what specific services they need to we can work along side them to have a smoother transition when it comes to mocking the data. Hopefully we will be able to start gathering the resources and information we need by working with these other groups to secure these services and hopefully correctly map their locations.

From the blog CS@Worcester – Amir Adelinia's Computer Science Blog by aadelinia1 and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective 3

 

This past sprint not much has progressed since the last sprint in all honesty. Since the last sprint we were given a few new details onto what we are going to be doing exactly for this project. We discussed the matters as a team going into some of the files, we were originally given from the ngl-2 repo. As the sprint went on we talked about what are task should be. We had ideas of what we wanted to pick for our team role. But never really solidified our decision only verbally talking about what we wanted.  We know what needs to be done or rather what the final product should be looking like. So now we will begin to start actual work on the project it would seem. With each team working on different problems like setting up a mock server and so forth. In short not much has really changed since last sprint retrospective but I personally feel we are a step closer in the right direction than previously. I am looking forward to working on this project with my team as we get closer to an end product.

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

Sprint 3 Retrospective

Since the last sprint retrospective, we have all finally begun to get an idea of the actual work that we are going to be doing. From the videos that were sent to us that we watched, it seems to be the case that we are going to be implementing some front end components like HTML forms and buttons using angular and javascript or typescript. Even with this in mind, though, we still have not begun writing any actual code yet. We are still in the stage of figuring out how to start on this project. Part of what was described in the videos included what appears to be an already functioning template of buttons and components that interact with the page but have no backend functionality, so my assumption is that we are expected to take this design and program the buttons to read the forms and pass the information to some function that sends it to a database. I am anticipating that we are going to need to read some of the existing ng2-amrs code so that we can have the frontend invoke the right functions written on the backend. This is all in my imagination, though; we are still not certain enough to know that that is what we are going to be doing. After trying to access the wireframe designs from the videos, they do not seem to exist in HTML – they are possibly just a graphical simulation of how they should interact. If this is the case then our work will begin first with building the pages and placing all of the components on them how they appear in the wireframe.

I think things would be moving more quickly if all of the groups were communicating more about what everyone plans on doing, since everything is going to need to be divided among the groups, and then within our group we will need to divide tasks further among ourselves. Firstly, though, we need to understand the goals better in order to be able to come up with smaller tasks to break them into so that we can work on separate pieces of it individually, then bring it together as a group, and then bring each group’s contributions together to complete the project. Progress in this regard seems to be happening very slowly. We have a vague idea of what needs to be done and we do not know what comes next, so until a lot more detail is figured out, there is only one thing to do, and that is to clarify what needs to be done and come up with some more things to do so that the work can be performed in parallel by multiple teammates.

At this point it seems like the groups have decided on one particular thing to focus on, and our group is focusing on one particular component of one page of a wireframe made in Zepplin that was demonstrated in the first video. We do not know what we are doing, but we are making progress.

From the blog cs-wsu – klapointe blog by klapointe2 and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective – Round Three

A reflection on what I learned from
this week’s activities is that sometimes it’s best to restart. Our initial two
sprints brought us up to a point where the current delivery is usable but could
not be built upon. We had trouble trying to incorporate features from each of
our own work loads that was divided in Trello. The main issue from the scrapped
delivery is that it is written in Java and missing fundamental components that
would make it difficult to create a webpage with. As such, the problem resolved
after deciding to focus our efforts on Angular and using it’s features to make
our lives easier.

Another lesson learned from this week’s
activities is that having more than one repository between two GitHub and GitLab
is a nightmare. It was a mix between each of the members uploading to our own
repositories to share mockups of things we have created during the sprint. This
choice is backed by us not feeling up to upload mockups directly to the repository
made by the professor since we weren’t “feeling ready” yet.  Then there is the issue with having two different
food pantry repositories which further confused everyone. However, this issue was
eventually resolved when the professor and some students came up with another idea
for handling the repositories. The new system creates a fork from the main
project to the class repository. There are a couple other things mentioned
about incorporating “stories” using this setup that I have yet to fully
understand.

The third lesson learned from this
week’s activities, is that it is very easy to get lost and sidetrack from the
main goal. This lesson is mainly for myself as I was working on the database
but took me an entire sprint to realize that I was working on the wrong portion
of the project that was unneeded at the moment. Focusing unnecessary resources towards
a feature that should be left for later. The other members were focused on the
intake form and had created the front-end of it but needed a place to store the
information later on. This is the area I should have tackled, in which our
members would have been working in unison.

During this sprint, I focused my efforts on mainly establishing a connection to the SQLite database created from the previous sprint with the current project. Using JAVA and the available JDBC library found on the web, I was able to successfully connect to the database. However, when it came to transfer what I learned into the main project we were working on gave plenty of errors. There were missing libraries and many unused and preplanned files that needed deletion. Although this was a problem, the next problem is mentioned earlier in the blog. We needed a clean slate to work with since the project was in an unworkable state. After we got back to the point where we were in JAVA, now in Angular, I had to find a new way to get the SQLite database to work in Angular. Now that we are back on track, I can see where the project is likely headed!

References:

http://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/

From the blog CS@Worcester – Progression through Computer Science and Beyond… by Johnny To and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective #3

During our third sprint we finally got an idea of what we will be coding for this project. Greg Shmidt from AMPATH sent us videos that showcased wireframes of the electronic medical record system that they are requesting. The main thing that I did during this sprint was watch these videos and start planning with my team what we will be working on and how we will go about coding it.

After watching all of Greg’s videos, my team decided that we wanted to work on the tab functionality. The tab is one of Google’s standard material design elements, and Greg showed a few examples of apps such as Google Music and Twitter that incorporate tabs similar to the way that we will be for this project. Each tab will contain a form that displays patient information. The tab bar must also be able to scroll to show additional tabs.

During this sprint my team began planning how we are going to go about designing and implementing the tab system. A link was posted on the Slack channel to documentation about coding mobile Angular user interfaces. This was helpful to read through as it gave me a better idea of what we will actually have to do to code the tab system. I also found a page on tabs on the Angular site that was useful to read through: https://material.angular.io/components/tabs/overview

One challenge in implementing the tab system will be making it so that it functions with the systems that the other groups are developing. To do this we will have to figure out which services we will need to use. Luckily, a member of another group found where all the services are located in the ng2-amrs project. During this sprint I began looking at these services to figure out what they do so that we will know which ones we will have to implement when creating the tab functionality.

After this sprint I believe that my team is ready to actually start coding. We now have clear instructions on what to do and have done preparation work that let us get a better understanding of how we are going to proceed. During this sprint I learned what is expected from us for this project and gained a conceptual understanding of how to implement a tab system in Angular. It is exciting to finally know what we are working on and I’m glad that we can now begin to make progress on this project.

Overall, I would say that this was a successful sprint and I would not proceed differently in light of anything that was learned throughout the sprint. I am satisfied with the way my team is working together and I believe we will begin to make a lot of tangible progress during the next sprint. I think that the tab component we are working on will be a lot of fun and am glad that we chose it. This project is definitely going well and I’m excited to continue working with my team.

 

From the blog CS@Worcester – Computer Science Blog by rydercsblog and used with permission of the author. All other rights reserved by the author.

Sprint 3 Retrospective

At the beginning of this Sprint, we all watched the videos that AMPATH shared with us for ideas for projects they would like to incorporate into their app. It was really encouraging to make contact with them. I was wondering how much they would ask of us, but I was glad that they seem to value what we’re going to do. I like that it looks like we will be able to do some interesting projects. I hope we are able to get through as many stories as possible because I want to do a good job on this.

After watching the videos they provided, and we all decided that we wanted to start by trying to implement the story which was to creating tabs in the app so more than one form for multiple patents could be open at once.

After a quick google search, I found some good resources from the official Angular site. It provided with some examples of different ways to implement it. It also showed the code behind it in an interactive app that showed how all the components work together. Within the app, I was able to modify the code and see in real time the changes I made to the example.

I shared what I found with the team. It is very exciting because this was exactly what we wanted, and it was laid out in a way that was really intuitive and makes it straightforward to  see what we need to do next.

I think what may be our next biggest hurdle is getting something concrete started. After we have done that, I think it will be pretty straightforward assigning roles and dividing up tasks. When we have finished the first story, I think I will have enough of a feel of how things are done to branch out and form a sub-group so we are able to cover more ground.

Andrew was a huge help to our group. He pointed us in the direction of a lot of resources, especially how to interpret the code we have been provided.

I think a good goal for this upcoming sprint is to finish this one story that we have chosen. I think it is something that we can realistically do, and I don’t foresee that it will be all that challenging. It’s still early to say for the sprint after, but I would like to at that point do what I mentioned earlier and split up into smaller groups and between the four of us, tackle two more stories with two of us working on each.

Of course, I have coded enough to know that there will be unforeseen obstacles that we will have to overcome. There is a chance that one or several might cause quite a bit of delays, so I should not get too ambitious right out of the gate. After all, we have not done any real work of substance yet.

However, I believe it is important to set our goalposts high. If we don’t achieve all of our goals, we can just append it to the next sprint. I think we will achieve more of our goals if we are more ambitious setting them.

From the blog Sam Bryan by and used with permission of the author. All other rights reserved by the author.

Sprint retrospective – 3

On sprint 3, as i said on sprint 2. which i was working on getting my angular to work and also getting more understanding on the angular. I finally made it worked with the help of a team member. During our sprint 3, a lot of things needed to be changed. New kind of a project had to be done. The project called simple app.

doing the process of figuring how to start the new project called the simple app, we were getting all the prerequisite for the new project. we needed to install or create an account on Zeplin. That is were all what we have to do, and the design made. which include the type of programming we need like CSS, HTML, JavaScript and so more.

During our meeting, we discussed more about the Zeplin. We check whether we all on point as to see if we were all on point with the Zeplin. It was a little bit strange for me. But with time i got the understanding and it is very very helpful for our project. So upon all the split tasks, we the team chose the search button. As I look through, i thought it will be very simple to do. Because all we need to do it to get a text field and a small button after that we label them as a search field and that will be all. If my thought is right, then we probably we should be done within a hour if we get it started. If not and my second guess is, we might need a back end to work with. Something like getting an information from a database, a file and any source of data or information. So at least the search field can be useful by playing the role as a search engine pulling out info from any data source. Either ways, we will go through all the step by step, dealing with the issues on github and wait for what the prof will have to say to us. Whether to add or changed something.

i also notice our styling of the project will be from google. It is good for us in the case of fast project be done. the only problem with that is i have no idea of were to start or begin with.  So the plan is to learn or search on tutorial on it so i can get more understanding on it. And if anything, hope the team up me get through.

For as we the team, we are planning necessary stuff/tools as in the type of IDE we will all agree to be working with so in case a team member has a coding problem or wants help with the use of the IDE, we will be able to help him or her. Also getting the understand of the whole project. Getting to know the main types of languages that will be needed. We are also checking who will be working on a particular part of the project. The reason is so we all can get something to contribute and also make the work more faster rather than leaving it for one person or a few people in the group.  We hope the next sprint which is sprint 4, we should be able to be half way or almost done with project.

 

From the blog CS@worcester – Site Title by Derek Odame and used with permission of the author. All other rights reserved by the author.

Sprint 3 Retrospective Blog

For the third sprint, I was assigned to create a REST API for the USDA’s Food Safety Inspection Service’s FoodKeeper Data (located here:
https://catalog.data.gov/dataset/fsis-foodkeeper-data). Prior to starting this assignment, I felt I had a poor understanding of what a REST API was, let alone how to go about making one. Fortunately, the resources that Professor Wurst sent me were a very helpful step in understanding what one looks like. I also read several other resources and followed many other tutorials while making it. By the end I had over complicated things by storing the data into a MongoDB database and ended up switching to data stored in memory, but despite this I think it was still very useful to work with MongoDB as well integrating it with the REST API. I had also considered trying to use a relational database such as PostgreSQL, as the data seemed to lend itself well to it given that each data type already contained keys relating to the other data, however it was a bit harder to set up when compared to a document database.

This sprint began before spring break, and during that time I felt that the project was at a much earlier point than was initially assumed, so I spent a good chunk of my break working on it. As I said I started with a poor understanding of REST APIs so I felt that there was some catching up that needed to be done. By the end of the break I had something that was mostly working but was a bit complicated to set up since it required installing MongoDB locally at the time. I imagine we may have run into similar issues when trying to host it in Heroku, but fortunately it’s since been simplified. I don’t think that it would necessarily be a bad thing to store the data in a separate database, however, given the relatively small set of data as well as the fact that changes aren’t made very often, it didn’t really make much sense to go that route. Changing the code that I had already written to no longer use MongoDB was pretty trivial, as not many changes needed to be made. At this point, the REST API Order System example (located here: https://gitlab.com/worcester/cs/kwurst/rest-api-order-system) that was sent to me was particularly useful, as the was it was set up was almost one to one, with a few changes here and there.

Currently the project is almost at a point where it’s ready to be used, as far as I’m aware at least. I feel that it was much simpler than I had originally thought it would be, but since I hadn’t had any experience with doing something like this before it took longer than it should have. I think one of the most important things that I’ve learned from this is how to start working on a task in which I’m unfamiliar with. It was definitely useful to learn how to make a simple REST API, but I’d say being able to work on something you’re uncomfortable with is a skill that will help me greatly in the future.

Links:
https://github.com/LibreFoodPantry/FoodKeeper-API
https://github.com/cs-worcester-cs-448-sp-2019/FoodKeeper-API

From the blog CS@Worcester – Andy Pham by apham1 and used with permission of the author. All other rights reserved by the author.

Sprint Review Blog # 3

            Our third sprint enlightened the path the group planned to take with the other groups for the splitting of objectives. The AMPATH administrators were able to give us more information based on the project specs that included wireframes of each component that we needed to create. The team heavily benefited from the clearer explanation by being able to divide the work out to our team members in a productive manner. We were able to understand what the project generally asked for and began working on our first component for the angular project. This sprint also gave us more time to look at the code AMPATH had given us for reference material on variable naming and options when creating the components. We compiled ideas on our first component and finalized that we would work on the form component. We analyzed the videos that were related to that component and realized that it could be made fairly easily but there were more questions that needed to be answered. We found that the question fields for the form were not stated, so we decided to create their names based on their question number. We would like to implement real questions, but we can only do that once we confirm this is needed with AMPATH. I think that we should proceed to understand the AMPATH format for their angular code and look into understanding how we will possibly setup the Mockito style of testing we are aiming for. A better understanding of the project will be needed to further enhance the user experience so as to create a flow within the program that seems seamless to the backend user. We want to continue to understand how we should edit and evolve the code already given to us and turn it into the final product that they want. I think that the hardest part for the future will be to connect each component together and bind them into one final app with the other groups. This is going to take a good amount of proper communication to achieve. It will be necessary for the future so I think it would be a good idea to start talking to the other groups about this now. This will keep them on alert and conscious of the code they write to make sure it can be understood properly by someone on another team. This app will be used by back end users for simplistic tasks such as filling out questionnaires and taking notes on patients based on their medications. It seems that another team has also found some Mockito code within the files given to us by AMPATH that could be useful in creating our own data to be fed into the application. I’m uneasy about the lack of information we have based on variables in play when looking at patients between our version of the application and the AMPATH application. I hope that the transition of data between the two applications would go smoothly but it doesn’t seem reasonable to think that this process would go without hiccups.

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

Sprint 3

This week wraps up sprint 3. During sprint 3 we accomplished a decent amount of things. Most of the stuff that occurred this sprint was done on the backend and setting up of git repositories for both the font end and back end. Over the past two sprints we have been able to complete most all of our sprint backlog tasks. This sprint was no different. We decided to use this sprint as a stepping stone to try and figure out if we could handle some more complex product backlog objectives such as developing a REST API and figuring out how to work on features such as food expiration tracking and timing (this is based off of a federal calculation and standard). For this sprint I took on the task of working on some front-end related stuff. At the beginning of the sprint we had a back end and a very sparce front end. I decided to take into my hands the task of designing the front end using HTML and CSS elements. A large advancement that I feel we made as a group this sprint was getting the google docs intake form for Thea’s Food Pantry translated over onto an HTML format so that we can connect it up with out front end and host it on our repository. From last sprint I had a worker screen mockup done completely in HTML with no CSS elements as well as just locally on my machine and not able to be seen/shared with the group. This was a major issue for me as I wanted to be able to share my progress with the group so that they could comment, contribute, or discuss any potential areas of concern. What I had hoped to do this sprint was add a task onto the sprint backlog to have us figure out how to transfer all my HTML worker screen work over to the repository that hosts all of our front end stuff. Unfortunately I was not able to complete this task this sprint as more front end design tasks came up that I felt were more important than transferring over a mockup file. One very interesting thing I learned about this sprint was online CSS editors. I can make my way around from scratch in an HTML file but CSS is a different story. CSS is a more complex almost add-on type language for basic HTML files. I was told about this online editor called Zeppelin.io that supposedly let you draw up wireframes within the application and then translated it to CSS for you so that all you needed to do was copy and paste into your actual project. Unfortunately, this application is a mac application and thus didn’t want to work with my windows machine (even though it had options for a windows download, I was unable to create any files from scratch without photoshop!). My next solution was this editor called stackblitz. Unfortunately it’s quite the opposite of the idea of zeppelin.io and is instead a real time online CSS HTML editor (things that you code are automatically compiled and displayed on a terminal). So even though it doesn’t give the CSS code, I was easily able to google how to write different CSS methods (buttons, how to call CSS methods in the HTML doc, etc) and it has been good so far. Now we have a wireframe to show the customer without having to commit it and push it to our repository. The best part is that stackblitz also works hand in hand with github so our repository is connected up to stackblitz and we can commit our changes to our repo without having to migrate all our front end files!

From the blog CS@Worcester – The Average CS Student by Nathan Posterro and used with permission of the author. All other rights reserved by the author.