Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Release 2

Application Functionality

  • Login or signup
  • Look at all your recipes
  • Filter your recipes based on category
  • Add recipe
  • Get random recipe
  • Remove recipe
  • Log out

Architecture Diagram

The PlantUML diagram is representing the architecture of the application.

The diagram can be previewed in Visual Studio Code if you install the extension PlantUML. The official website: https://www.plantuml.com/plantuml

You also need to install Graphviz. Go to https://graphviz.org/download/ for instructions on how to download on your computer.

architecture.puml Architecture Diagram

For descriptions of what each of the packages contain, view README.md.

The interactions between the packages

core interacts with the external library Jackson, for data processing with JSON.

ui relies on the javafx component for creating the graphical interface. It will also interact with core, to fetch and display data from the logic.

The javafx component is essential when creating the graphical UI. It will load UI resources from the ui package.

This architecture separates the core logic, user interface, and data handling components. It allows flexible development, and makes it easier to update or replace specific parts of the system without affecting the entire Cookbook application.

Screenshots

General Functionality

We have not changed much on the interface. See comments before each picture for possible changes.

Login
Moved the boxes further down to make room for potenial error message LoginDesign CookBook
Changed the font and added a box to type in which recipe you want to delete CookBookDesign Add Recipe
Changed the unit-chooser to a dropdown-box instead of a text box CookBookAddDesign Random Recipe
Layout CookBookRandomDesign Get random recipe from a category RandomAppetizer View Recipes
View all Recipes ViewAll

From one category ViewAppetizer

Pop-up error messages

Login
Username or password not meeting criterias UsernameOrPasswordTooShort
Username or Password incorrect IncorrectUsernameOrPassword

Adding Recipe
Adding Recipe without filling in the title AddRecipeWithoutTitle Adding Recipe without setting the category MissingCategory Adding Recipe without filling in any ingredients MissingIng

Adding Ingredient
Adding ingredient without setting the unit Add Ingredient without unit Adding ingredient without setting amount MissingAmount Adding ingredient without writing the name of the ingredient. AddIngWithoutName
Removing
Removing a recipe that does not exist.
RemoveRecipeNotInList
Removing an ingredient that is not in the list RemoveIngNotInList

Random Recipes No Random Recipe of this category
NoRandomDessert

View Recipes No Recipe of this category NoRecipeOfThisCategory

Work habits and workflow

We have been focusing on the following aspects while working on release 2.

  1. Pair Programming: We are using pair programming approach. Where two developers collaborate on the same computer. The name of the co-author is written in the commit message. Pair programming makes it easier to share knowledge, and helps us identify and address issues more efficiently.
  2. GitLab Issues: We use GitLab issues to identify and track our work. Each task or feature begins as an issue.
  3. Branch-Based Development: To manage and isolate all coding tasks, we use branches. Each task or feature is developed on its own branch. This allows us to work on multiple aspects of the project simultaneously without interfering with each other's code.
  4. Active Group Discussions: We engage in group discussions whenever we encounter challenges during the development process. This makes it faster to solve the problem, and the knowledge is shared among the whole team.
  5. Milestones We use milestones to track the issues we have for release 2. This helps to organize the work and the project´s progress.