Git Product home page Git Product logo

lead_frontend_test_ddd's Introduction

React.js Test Task: Library

Write a library of books and magazines using React.

Topic

You have to implement an abstracted and simple library system.

Frame conditions

  1. This is a real world situation. You are allowed to consult the Internet, use every library you want, call a friend ...

    BUT: You are not allowed to do pair programming.

  2. Develop your code based on React.js version 16, Redux version 4 and NEXT.js version 9.

    You do not need to use Semantic-UI, the layout, tests or routing provided. You can rename, refactor, remove or delete them as you wish. They were created to provide a minimum structure so you can focus on what you think it is important to finish the tasks requested.

  3. Keep the following priorities in mind while you implementing - in the mentioned order:

    1. Code quality
    2. Usage of object oriented methods
    3. Functionality
  4. Given resources:

    Hint: There is a reason why there are so many books and authors in german with umlauts.

    • authors.csv: Contains authors with its email, firstName and lastName.
    • books.csv: Contains books with its title, description, one or more authors and an isbn.
    • magazines.csv: Contains magazines with its title, one or more authors, a publishedAt and an isbn.

Tasks

Main tasks

  1. Your software should read all data from the given CSV files in a meaningful structure.

  2. Print out all books and magazines with all their details (with a meaningful output format).

    Hint: Do not call printBooks(...) first and then printMagazines(...) ;-)

  3. Find a book or magazine by its isbn.

  4. Find all books and magazines by their authorsโ€™ email.

  5. Print out all books and magazines with all their details sorted by title. This sort should be done for books and magazines together.

  6. Implement a view for direct path access for each ISBN and link then to the search results.

  7. Add a book and a magazine to the data structure of your software and export it to a new CSV files.

  8. Write Unit tests for one or more methods. As this is a test for a lead level position we are expecting good test coverage here as you will be advocate for this and understand the importance of high test coverage in your applications.

Procedure

  1. Clone the repo.

  2. Open in your favorite IDE.

  3. Prepare a solution.

  4. Let Commercial People know when you are done with your solution.

FAQ

How to install the application?
yarn install
How to run your application?
yarn start
How to run your tests?
yarn lint
yarn test

License

See LICENSE file.

How Your Code Will Be Reviewed

Your code will be reviewed by other JavaScript Leads at Commercial/Residential People and may also be reviewed by other more junior JavaScript Engineers who you will lead if you are successful in your application for this role.

As such, you should aim to impress and do things to the best possible standards as you will be expected to lead by example if you join. You should strive for the best possible standards in the frontend domain as you will be mentoring and developing the skills and standards of more junior Engineers so it is vital that you are highly respected by your peers.

lead_frontend_test_ddd's People

Contributors

allenfang avatar dawidgorczyca avatar greenkeeper[bot] avatar ianwang avatar jsavagecommercialpeople avatar soundobj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.