This week went well as it started with our morning meeting where we discussed the scope of our project from what we gathered last week. Each member presented their findings, sometimes screen sharing for better understanding, and this was used for discussion topics such as the project’s theme design. I returned what I gathered from my previously designated API type topic for listing products on the All The Farms website. Overall the information affirmed that what we had in mind was mostly achievable, and this week we have focused more on how that might be done in code. Specifically I focused on the API code and how we may integrate our code with the All The Farms website looking at things such as Shopify developer documentation on what we agreed would be a possible implementation. I did find this code which could be used to create a product list on our hosted site below the farmer’s profile page. The previous week we corresponded with the technical lead on it and agreed that there may be a route that is similar to what I found linked in the Shopify developer documents as an embed product container, with a few customization options for the farmer on the Shopify end. This can just serve as the groundwork for how we may work with Shopify and their API as there may be a more efficient solution that the way I was describing, such as where the farmer would have to embed that code themselves on the All The Farms website. This way I have been able to describe is one way that I imagine All The Farms would be able to present a product of a farmer on their All The Farms profile page with a buy button, and option such as for a description. The access to all of the API data may just be limited, or there may be more that I have yet to uncover which may help open up our options for making the most value for our farmers.
This week our team primarily focused on preparing technology, making contact with our technical lead as well as the team. A teammate and I asked questions starting conversations on topics such as the database integration with Shopify. In the future we will need to do more research on Shopify, and what they offer in regards to API’s. Additionally I focused on understanding the Rapid Acceleration Development (RAD) model for a high level, conceptual model for processing our projects tasks.
This week I also took some time to get familiar with a prototype sketch up of their website design. This prototype they created helped me get a better understanding of how they developed their design across pages. Specifically sorting out the design beforehand can help reduce a large portion of the workload in comparison to if you attempt to build a website design all at once. We are also starting to organize our tasks each week as a group so that we are all familiar with what we are up against each week!
At the beginning of this week our group met to discuss, with our project lead the requirements for the submission of the project requirements document. While working on that, we each individually in our own groups did research, and reported our findings. My main post outlined my answers in an unordered list focusing on the main technical parts of the project. Other tools, such as Trello, and Visual studio code which we also plan to use to facilitate the project’s development. Next we as a group connected to completed the project requirements document, which went well, and returned to individual work such as posting to discussions.
I also took some time this week to create a Trello account, with it I briefly tested out their service, and compared it to the other similar types I’ve found in my research such as this offline template. Overall the free tier should be suitable for this project, we can use their service to collaborate, and we need to pay to get features, such as permissions settings. That I did not like, however it should not affect the project overall, and with how we are working so far we should be alright moving forward without it for now. In the future when we work with it a bit more I will return with my experiences here.
Additionally I suspect more requirements may present themselves as time goes on, such as within the code itself. Shopify already details requirements for content for themes, by their review and requirements project. For the individual report I decided to focus on the data handling, mapping, and the UI interaction model that embeds the visualizations. So far the data collection seems to happen in the initial joining at All The Farms, and then again if the farmer connects to Shopify with the theme. For the future we may also need alternative templates when connecting the two.
This week we focused on the understanding, explaining, and defining criteria for the project. Additionally, our communication this week went well as we had to reschedule once this week, did so, and met successfully. That rolled into a great meeting where we discussed all of our work and how they will come together for the group problem statement document. Moving forward from some tough parts within the previous week it is important to understand as a programmer that this part of the project is difficult, and it is difficult because the planning sets up the group project for success or failure. So each incremental improvement for the individual from this point on will be helpful for the group, and from the previous meeting it seems as though our group has a good understanding of the project.
The scope for this project is particularly interesting, as it focuses on things such as regenerative agriculture, locality, and reduced carbon emissions. One concept that is important to All The Farms is regenerative agriculture which is the act of conservation and rehabilitation approach to farming found in small to medium farmers more so than large farms. Secondly the concept of local farms is important because All The Farms designs it’s support around providing a place for individuals to find their local farms, and for local farmers to find a place to post their details. Last of all, reduced carbon emissions if desired may be achieved with All The Farms such as being able to audit the details of the production of your locally sourced produce. This previous week I also took the opportunity to read up on many sources related to these types of focuses. Such as with carbon emissions, this focus works well with Shopify, and it can be understood to be a problem of large concern with the CEO of Shopify’s open letter about carbon emissions, around a year ago, as a testament to the problem’s relevance.
An ethical dilemma may arise if the time goes by and we notice one member not participating enough then we will have to refer to our rules for handling such an exception. So far that dilemma does not seem like it will arise though any signs of such may develop within the following weeks, or at realistically at any time. On the topic of planning one great tool that may help are Gantt Charts, to show the tasks, and overlapping working periods. This Gantt chart from Microsoft Office is an example of one that may be used offline. Overall most of our planning will be done on Trello, there are free websites that offer Trello, and I imagine in these next weeks we may work with that. The KanBan type of style for organizing tasks could be done on an offline sheet similar to the previous Gantt example however Trello will be used for the features of it being online to make changes alongside the group.
This week our projects were assigned, along with our teams, and I am very excited to be apart of the All The Farms project! Being the first time working together our group had to work out some problems such as with scheduled times. Working through that, we met up as a group to discuss what types of tools and expectations we will have moving forward. Our group discussion with Jim from All The Farms was great for planning, and gathering information what was desired for the project. Near the end of the meeting I personally was also able to ask some clarifying questions with the remaining time. The answers overall were very helpful for understanding the full scope of the task. I also discovered with our group that we would be working with Trello, something I previously read about, it is a free Kanban type of task organizational software product. With the top priority tasks from the left on cards, stacked downwards, and to the right in that order for priority. Additionally we plan to use Github for collaborating on the code solution, with features of forks, and bug reporting. Other types of communication platforms we may use also include Slack, Discord, and Google. There is no direct ethical dilemma noted this week, the project is overall positioned well in ethical terms, and I do not see any upcoming problems in the foreseeable future. As long as communication is managed well week to week, then we should continue to make incremental progress towards our goal, and in the end return a successful product for this project. We were also able to successfully get scheduled to meet weekly for the project at an agreed time which went well this week. For next week I am excited to get into Shopify’s language for templates Liquid and how we may create this project to completion from a technical perspective.
My name is Arman, I am a senior at Oregon State University, and I am starting this year long project with class CS 461 this fall term online with my professor Bill Pfeil.
I am excited to get started with this long term project, and I am ready to make it a success! I started programming just before college with some web development, which lead to working with a small business owner explore website options for their business, and ended great with myself wanting to learn more. Learning programming, and computer science overall has been a difficult struggle, although worth it. Additionally, learning about finance is also an interest of mine, where clubs out side of class provided content, and I would be happy to work with a project of that type. I have also been able to learn from this internship where I worked on developing additional scheduling features to their bare-metal backup server system. From that I’ve also decided that I would like to focus on the mobile software development track, and I am excited to learn more in these upcoming terms! Additionally just this previous term, I successfully completed the mobile development class focusing on Flutter, dart, and overall I enjoyed working with Flutter for mobile applications. This term I am learning computer graphics with the GLUT library types, and I hope to use what I learn to help me with learning shading with the GLSL library.
When looking through the senior capstone projects I first filtered through projects that are relevant to my mobile application focus. Projects with specifications for using Flutter or Dart in their development generally were put above other types as it currently is my preference for mobile development. After selecting the mobile application projects I went to projects that sparked my interest over the project idea, or plans! I am excited to meet my group members and I hope this all gets off to a great start.