Giter Club home page Giter Club logo

books_challenge's Introduction

Personal library challenge

This is a coding challenge for a pre-job interview

Write a small system for managing a personal library. The system should be accessible from the command line.

the program should accept the following commands:

add "$title" "$author": adds a book to the library with the given title and author. All books are unread by default.

read "$title": marks a given book as read.

show all: displays all of the books in the library

show unread: display all of the books that are unread

show all by "$author": shows all of the books in the library by the given author.

show unread by "$author": shows the unread books in the library by the given author

quit: quits the program.

Some other stipulations:

You can use whatever language you want.

Assume that there can never be two books with the same title in the system (even if they were to have different authors). The user shouldn't be allowed to add two books with the same title.

Do not use a persistence mechanism (ie, a SQL database) for the books. Store them in memory. That is, every time you run the program, the list of books should be empty. Using a database can make some aspects of this a little too easy :)

books_challenge's People

Contributors

lenazun avatar

Watchers

 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.