# Hyphen Assesment Test
## Project structure
This project is divided into 2, as client and server.
- `/client`
- `/server`
### Client
##### Framework - React

Uses [styled component](https://styled-components.com) to create reusable UI components which was used to implement the UI stories
### Server
##### Database - MongoDB
The database model is simple as possible in order to allow future extension and avoid complexity on current task.
```js
const SurveySchema = new mongoose.Schema({
question: { type: String, required: true },
answers: { type: Array, required: true }
}, { timestamps: true });
```
In future extension, `Question` can be an actual entity that holds reference to a type of `Survey`. And `Survey`
will be a parenet entity that stores data like, `name, types, categories` e.t.c
### Project Setup
- Run `npm install` to install dependencies within the `/hyphen` directory.
- Run `npm run setup` to install dependencies for `/client` and `/server`
- Run `npm run start` to run the project
- To view UI Storybook, `cd client`, `npm run storybook`
### Todo
- Add unit test to `server/`