Giter VIP home page Giter VIP logo

onlinelibrary's Introduction

Online Library

Purpose

The motivation/purpose for writing this project was to prove and improve the coding skills of our internship development & testing team, as well as our ability to work together as a development/testing unit in an environment as close as possible to the real world. Our mentors played the role of the Client/Product Owner and Scrum Master, providing the User Stories with the functionalities that had to be implemented, as well as the Change Requests and Feedback, while our team played the role of a real Agile/Scrum development team, working in one-week-long Sprints during March-June, 2016.

Description

This project represents an Online Library website (which can be implemented either as an Intranet or Internet solution), offering several Library Management Information System features, such as:

  • Four system users:
    • Super Administrator, System Administrator, Librarian, User with different levels of authorization and privileges
  • Signing in the system with a Google account and importing some basic account details from Google
  • First sign in rule:
    • At first ever sign in into the system, the first user is able to access Roles page and assign himself the role of System Administrator
  • Super Administrator role as a backup:
    • The legal owners/administrators of the website will be able to take full control of the website in case of emergencies (ex: site hijacking) or in case of a System Admin's inadequate behavior (he removes all other Admins or even removes himself as Admin)
    • Super Admin is able to sign in to the system using an automatically generated password stored locally in a specified folder on the server machine
    • Super Admin will have all authority and privileges as a regular SysAdmin, being able to restore other SysAdmins/Librarians into their roles
  • User role management:
    • SysAdmins are able to add, remove, assign user roles
  • Book management:
    • SysAdmins are able to add, remove, edit book attributes (such as: book title, author, ISBN, thematic category and subcategory, etc.), as well as to import basic book details from Amazon and Google Books stores
    • SysAdmins & Librarians are able to manage book loans: approve, reject, receive, declare books as lost, declare a given book's physical condition upon return
  • Loan request functionality:
    • Signed in users are able to request a loan for a given book, based on their karma
    • Librarian is able to receive loan requests and either acccept or reject them
    • After loan is accepted, book is reserved by/assigned for the specific User for a given time period (ex: two weeks)
    • The user is then able to see when his book is due to be returned, by accessing his "My Loans" page
    • The user is also informed of his book return due date by email
  • Search functionality:
    • Users are able to filter books using search criteria, such as: title, author(s), release date, ISBN, category, subcategory
    • Librarians are able to filter approved loans according to certain criteria (Book copy ID, ISBN)
  • Loan history functionality:
    • Every loan request, loan approval, loan closing activities are logged into the database per each user and is available to be viewed by SysAdmins/Librarians.
  • User Karma functionality:
    • All Users will earn a given karma, based on timely book return
    • If a User's karma is too low, he will not be able to request a loan for specific books with specific karma level requirements

Deployment

TBD

License

This project is licensed under the GNU General Public License, Version 3, as of 29 June 2007. Long story short, this license (1) asserts copyright on this software, and (2) gives you legal permission to copy, distribute and/or modify it. Also, it states that since this software is FREE, its developers/authors give you NO WARRANTY if you decide to use it for whatever purpose. Nobody obliges you to use this piece of software, therefore you are using it at your own risk. The developers/authors cannot be held responsible for any losses caused by the software or anybody using it, either because of certain bugs, or security flaws, or lack of functionalities, or malfunction of the software code. More details can be found in the GNU GPL ver.3 license.

onlinelibrary's People

Contributors

aivascu avatar alexandrudascal avatar alexeipancratov avatar hnedelciuc 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.