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

https://github.com/0plus1/codingchallenge-mern

MERN stack challenge
https://github.com/0plus1/codingchallenge-mern

Last synced: 9 months ago
JSON representation

MERN stack challenge

Awesome Lists containing this project

README

          

## Coding Challenge
###### MERN Full-stack
This coding challenge has been created to evaluate the skills of a full stack MERN developer.
Given the complete freedom on how to solve the challenge, an understanding of best practices and patterns will emerge.

### Challenge

Fork this repository and create a pull request when you have completed the challenge.
The repository comes with two folders: _Frontend_ and _Backend_ each comes preconfigured with the required tools, please refer to each individual readme for setup instruction.

You are given two tables _books_ and _shelves_. A book belongs to a shelf. Shelves have many books.

You are asked to:

1. Create a new route (eg: _/shelf/{id}/read_) which will display all books belonging to that shelf.
2. Once a user clicks on a specific book, display the book details in a new route (eg: _/book/id/read_).

How you achieve this result is completely up to you. The only requirement is that both frontend and backend are fully complaint with the [AirBnB](https://github.com/airbnb/javascript) style guide (already configured in eslint). Please do not use typescript, this is a es6 javascript challenge.

Bonus points (in order of importance):

* [Thinking in React](https://reactjs.org/docs/thinking-in-react.html)
* Good backend code organisation [example](https://github.com/focusaurus/express_code_structure)
* Use [redux](https://github.com/reduxjs/react-redux)
* Use [prop-types](https://github.com/facebook/prop-types)
* Basic unit tests using [enzyme](https://airbnb.io/enzyme/)
* [<💅 />](https://www.styled-components.com/)
* Add a 404 page

Please note that the time taken to complete this challenge will be taken into consideration, starting when you fork the repository and ending with the pull request.

#### Install

Refer to [Frontend](Frontend/readme.md) and [Backend](Backend/readme.md) readme.
## License

[MIT license](http://opensource.org/licenses/MIT).
Feel free to remix, use and contribute to this coding challenge. Just make sure to let me know in the pull request this is not from a candidate.