An open API service indexing awesome lists of open source software.

https://github.com/fokaaas/family-tree

A console application for creating and managing family trees. Coursework.
https://github.com/fokaaas/family-tree

console family-tree

Last synced: 5 months ago
JSON representation

A console application for creating and managing family trees. Coursework.

Awesome Lists containing this project

README

          

# Family Tree 🔍🤵💫
![version badge](https://badgen.net/badge/version/1.0.0/green)
![type badge](https://badgen.net/badge/type/console%20app/blue)
![license badge](https://badgen.net/badge/license/MIT/blue)

Welcome to the application for creating and managing family trees!

The application is built on levels. This allows for easy maintenance.
| Rank | Level |
|-----:|-----------|
| 1| Member |
| 2| Tree |
| 3| Common |

## Let's start
First you need to install **Node.js v18.12.1 and above**.

Clone repo and install dependencies:
```bash
git clone https://github.com/basarabst/family-tree.git
```
```bash
npm install
```
Run Family Tree:
```bash
npm start
```
## Explore
Initialize new family tree using `create` command:
![create command](https://github.com/basarabst/family-tree/assets/114052215/e58f26d0-aee5-44f6-a1c4-2f4d0b3630a1)

Add relative to the tree using `add` command:
![add command](https://github.com/basarabst/family-tree/assets/114052215/52a64934-b76d-4c15-93ac-f801694bbe72)

Select a tree member to configure using `member` command:
![member commnad](https://github.com/basarabst/family-tree/assets/114052215/3baa4312-84ab-47e3-adf7-666038997bb0)

Create new family relation using `relate` command:
![relate command](https://github.com/basarabst/family-tree/assets/114052215/43587fb3-743c-4fe8-b8a4-191b0ddeb224)

Add new event to tree member using `event` command:
![event command](https://github.com/basarabst/family-tree/assets/114052215/7442ef63-761d-49f3-ae55-fa352cfffd64)

View all changes using `show` command with different keys:
![show command](https://github.com/basarabst/family-tree/assets/114052215/2f1fbb81-2e3d-47ad-86f5-9f19b12185eb)

Save project as file using `save` command. Later you can open saved tree using `open` command:
![save command](https://github.com/basarabst/family-tree/assets/114052215/c461ee85-c84a-464b-a993-f82dd04a758c)
![open command](https://github.com/basarabst/family-tree/assets/114052215/64ceca35-2724-4b10-9463-56246292f3b1)

## Testing
Appropriate tests were written to test individual methods. Run tests:
```bash
npm test
```
![tests](https://github.com/basarabst/family-tree/assets/114052215/8935b39e-0b23-44a0-a056-74835fe8dd82)
## Conclusion
Different technologies and programming patterns were used to write such a console application.
I want to express my sincere thanks to [@tshemsedinov](https://github.com/tshemsedinov) for his advice and reviews during the coursework writing.

Thank you for your stars ⭐😘