Giter Club home page Giter Club logo

booklibrary's Introduction

------------------------------------------------
BOOK-LIBRARY APPLICATION
------------------------------------------------

There are two ways to build and run the application. One is to use an IDE with maven build-in, the other is
to use System Command prompt with maven installed and configured on your system.
------------------------------------------------
BUILD AND RUN TESTS
------------------------------------------------

All you need to see the test result and make the application ready to go is to use Maven command:

mvn install

Install target will compile project and run all its tests.
------------------------------------------------
Expectation verification:
------------------------------------------------
If you want to verify if all requirements are meet, please run only the MainIntegrationTest file.
To have all details please switch to Console view. Every requirement is tested and some of them is displayed.

------------------------------------------------
Entities:
------------------------------------------------
There are 4 (simulated) entites in application:

- Book - correspond to a real book (a concrete book) that we can lent at library.
- BookData - correspond to a book position/title (abstract book). Contains informations common for many concrete books.
- Customer - library registered customer.
- BookOrder - alows to connect a concrete book with person and trace its history.

-------------------------------------------------
Repositories:
-------------------------------------------------
For simplicity reason and because of not using a real database, Repositories were made fake.
They are all sigeltons (insteed of beans for simplicity/Spring DI module couldn't be used).
Data is retrained on runtime in ConcurrencyHashMaps. The relationships between object are simulated at Service level.
-------------------------------------------------
Services:
-------------------------------------------------
Allows customers to save and retrieve data related to book library. End-layer that can be exposed to controllers. 
It ensures the data integrity and keep all dependencies as needed.

booklibrary's People

Contributors

radoslawkoch avatar

Watchers

James Cloos avatar  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.