Like any other graduate level class, my software engineering class requires a class project to be completed by the end of the semester. Having no idea what to do yet, I was scrambling around as a headless chicken looking for a project. Fortunately, my class had a meeting one day to pitch ideas and form groups. Listening to all the others got my head thinking and I was able to pitch an idea of making a food application. Amy, William, and Bryant listened to my idea and we all liked it. From here, we were able to easily form a group.
While we had a core idea of making a food application that involves a social networking and recipes, we talked with our professor to see if we could improve it. Our professor had an ingenious idea of involving not just consumers of food, but also the producers (farmers) that can provide groceries for consumers to buy. A great example our professor provided was eating kale. Say a person wanted the best Kale dish and looks up a recipe from a friend’s cookbook. From the cookbook, the web application is then able to tell the user what and where to buy ingredients for the best Kale dish. The application will then notify the user with nearby local markets where he/she can buy the ingredients. By taking this idea even further, our application can also schedule meals for a week and let the user know what he/she can make or buy from the market.
Motivated with our project idea, we decided to immediately meet together the next day to begin our project mockup. We had to decide what information we wanted to include, what pages to create, how information relates to each other, and overall application structure. We spent around an hour and a half to determine what we wanted the web application to feel like. By the end of the discussion, the whiteboard in the graduate lounge became mess of all our diagrams and idea maps. We were also able to come up with the great name of “Kale with Friends.”
Splitting the work became pretty obvious in our project because we had two core components in the application: the social aspect and food/recipe database aspect. We were able to quickly assign work to the four of us to make the mockup of the project.
All of our group’s code is hosted on GitHub and we decided to make the mockup using Play to improve our Play skills. While creating the pages in Play was not hard, the only minor issue I noticed was that some of my group’s code was not conforming to the class coding standards and tests failed. Luckily, IntelliJ’s features made editing the code and fixing the tests extremely easy. Besides this minor issue, I have no problems working with my group in actual coding work.
Future Work and Conclusion
I personally think my group is off to a good start with our project because we have a clear idea and what we want to accomplish with our project. We could probably improve a little bit more in a workflow by having our code comply with the coding standards. Another way I think we can improve our workflow is to be able to talk to each other using a live messenger client instead of E-mail. I personally like using messaging clients more than E-mail when communicating because it is mostly synchronous. However, we do meet in person so perhaps a messaging client isn’t required.
Overall, our personalities also mesh pretty well with each other and we are able to kick off ideas back and forth between each other. Honestly, we were all laughing when we came up with “Kale with Friends” as our project title so I believe I’ll have a great time with this project.