kmachura / help-chef

Help Chef - Project in Java, Spring Boot, Angular, H2, Docker
0 stars 0 forks source link


![image](https://user-images.githubusercontent.com/116964317/226111823-d9377a42-3429-4863-9fc8-4821a00486f2.png)



Help-chef

Screenshot of the main page

Project Overview 🎊

Help Chef - Project in Java, Spring Boot, Angular, H2, Docker creating a database of cooking recipes. The system helps in the functioning of the web application related to online cooking in the demo version, placed on the server, accessible via a web browser. The basic function of the system is to enable a new potential user to create their own account and access it without leaving home and use the account to search for recipes by products, other users, production time and product purchase costs.

Tech/framework used 🔧

Tech Description
Java an object-oriented programming language used to build primary structure of the help chef app
Spring Boot a java-based framework used for creating spring-based applications in Java in short time bereft of being tied to a specific platform, which enables chef help to run locally on any devices even without an internet access.
Angular an open- source front-end JavaScript framework for developing web applications using HTML, CSS and TypeScript
H2 a lightweight Java SQL database, which can run entirely in-memory or with disk-storage
Docker an open source platform for quickly creating, deploying, managing and testing Help Chef on any platform
Java Script a scripting language used to create dynamic web pages for help chef application

Screenshots 📺

Screenshot of the first page of application showing the newest recipes and a navigation bar

Screenshot of a chosen recipe

Screenshot of a printed version of a recipe

Code Example/Issues 🔍

Installation 💾

UML Diagrams 📈

Use case diagram

A use case diagram is a UML diagram that shows us in the form of scenarios how a system or software interacts with individuals, organizations, or external systems carried for the purposes of this diagram the name of actors. It transmits how the actor uses the system to achieve a specific goal. It doesn't implement details, attributes, and user values. Without an actor, creating a use case diagram would be impossible as the main goal is to show how to use the system. Thus, it allows you to designate programmer, the goals that a given software user will want to achieve. These diagrams are used to supplement more detailed documentation. In this case, it shows how a potential user or a person with an already-created account can look for, add, delete, update, or review recipes on Help Chef.

Use case diagram ZJO

Class diagram

A class diagram is a UML diagram that is considered by many to be one of the most useful diagrams because they allow us to reproduce the structure very precisely specific system. A class diagram uses information about its class for this purpose, attribute, operation, and relations between them, e.g. class: human, attribute: eye color, height or weight, and the operation will be some activity, e.g. driving a car. The shape construction of this diagram is divided into three rows and is in the form of a rectangle. The top row contains information about the class name, the middle one tells us about the class's attributes and the bottom row has pieces of information about the methods or operations that the class can perform. We must also remember that classes also have access modifiers, they are visible only to e.g. network administrator or for all users, depending on which symbol we choose ( Public (+) or Private (-)). In our project, we have e.g. class name as the user, attributes are id, name, surname, e-mail, nick, and the operations are login and sign.
![Class Diagram ZJO](https://user-images.githubusercontent.com/55921722/226114808-6be7eff3-ff13-439c-8856-abe592e5bc79.jpg)

Activity diagram

An activity diagram is a UML diagram that is used to model activities and scope responsibility of system components or users. It is otherwise known as an interaction diagram. Its primary function is to show the sequence of steps. These steps are performed by the modeled part of the system. It shows in the form of elements the behavior of the system, but where, the most important element is the activity. In this way, it shows the behavioral aspects of our system by using activities that the user, administrator, or server performs. The activity diagram was created by using: https://www.visual-paradigm.com.
![Activity Diagram ZJO](https://user-images.githubusercontent.com/55921722/226203864-cab3cd57-3b53-4848-b6d3-e09411b5e104.jpg) ## System architecture 🗼

C4 diagram

C4 level model diagram stands for context, containers, components, and code. It is a diagram that shows a hierarchical set of software architecture and is a great tool to communicate the planning process of a software system. Help-chef project is beeing created using many programming languages and technologies. Backend of the application is beeing implemented in Java. Spring Framework is responsible for business side of the system and enables double sided communication with H2 database. Connection with server follows with REST API architecture style. Web application is beeing created using JavaScript Framework - Angular.
![C4 diagram ZJO](https://user-images.githubusercontent.com/55921722/226203921-8611794f-ddc7-4e31-997f-c2e135bc715d.png) ## Available scripts 💡 | Command | Description | | | ------------------------- | ----------------------------- | --- | | `npm run start` | Open local server | | | `npm run build` | Create optimized build | | | `npm run test` | Run tests | | ## Live 📍
Not yet
## License ⚖️
Logo design from www.vecteezy.com