![image](https://user-images.githubusercontent.com/116964317/226111823-d9377a42-3429-4863-9fc8-4821a00486f2.png)
Help-chef
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 📺
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.
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