Coder Social home page Coder Social logo

coding-test's Introduction

coding-test

Please spend nothing more than 2 hours on this test.

Test Brief:

In this coding test, you must develop a small backend system using Java 8/11 that serves a hypothetical online bookstore. The system will have two types of users, customers and administrators.

As a minimum, the system should provide the following features:

Customers should be able to:

  1. Register an account
  2. Browse books by category
  3. Add and remove books from their shopping cart
  4. Checkout and buy the books in their shopping cart
  5. Administrators should be able to:

Add new books to the system (title, author, category, price, stock quantity) Update the details of existing books Delete a book from the system The system should persist data to a PostgreSQL database. You should provide a database schema that suits these requirements.

Requirements:

  • Use Java 8/11 to implement the system.
  • Your code should be well-organized, and you should make use of appropriate design patterns.
  • Write tests for your code using a testing framework of your choice.
  • Document your code and provide instructions on how to run it.
  • Include SQL scripts for creating the database schema and any necessary data.
  • You're free to use any Java frameworks/libraries that you find appropriate.

What we're looking for:

  • Proficient use of Java 8/11.
  • Effective use of PostgreSQL and knowledge of database modelling techniques.
  • Usage of appropriate design patterns and architecture.
  • How well do you use version control systems. Please make regular commits, and we'll review your use of semantic versioning.
  • Code cleanliness and maintainability.
  • The thoroughness of your testing.

Hints

  • The first stage interview was a hint into what is expected of the role. Therefore this is your opportunity to showcase these.
  • Feel free to brush up on any other elements discussed in the interview. E.g Design Patterns, OWASP, Docker ...
  • As a newbie to this project, I should be able to stand everything up with the least steps and be able to replicate these in any system, be it Mac or Windows
  • You'll have lots of questions regarding choices; these are for you to make and be able to justify them. Do what makes sense to you and want you'll do in a real situation

Submission:

Please host your code in a private repository on GitHub. Include all the instructions needed to run your application in the README file of your repository. We prefer incremental commits that show your progress rather than one large commit with all the changes.

coding-test's People

Contributors

daddymoe 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.