# Fullstack (React + Node.js) task
## Task description
Create an application to manage your family tree. The main functionality is to add new members to the tree, edit and delete them.
---
Display your family tree as an accordion menu, where option are parent and collapsed options are its children. Note that menu should be nested. For example:
```
- grandparent
- parent
- child
- grandchild
```
If you have better idea of displaying your family tree, you are welcome. But note that using any packages and npm libraries (such as [react-family-tree](https://www.npmjs.com/package/react-family-tree)) are forbidden, whole logic of displaying should be written by your own. For styling your accordion you can use Material UI or write all styles and logic of animation by your own.
---
### CRUD operations for managing family tree members
Create a bar with buttons to open a different modal windows for creating, updating and deleting members.
- Create member - open modal window with inputs to fill name, age and parent(s) of new members. Note that parent field is optional, this case will create a new family branch.
- Update members - open modal window similar to Create member modal window, but the only fields are available to change are name and age fields.
- Delete member - open modal window with request to confirm member deleting.
## Requirements
- React
- Redux - use redux-saga (IMPORTANT!) for making side effect calls to your server and save responces to redux state.
- Node.js (use any framework you want, such as Express.js or Nest.js)
- MySQL, PostgreSQL or MongoDB with any ORM you are familiar
### Will a plus
- Using Typescript
- Using Webpack for compiling frontend js (or ts) modules
- Writing documentation to your application ([README.md](https://readme.com/), Postman or Swagger etc.).
- Deployment your backend to separate server ([Heroku](https://www.heroku.com/) etc.).
---
**Good luck and feel free to ask questions**