Code Monkey home page Code Monkey logo

library-management-system's Introduction

Library Management System

An automated system to manage a public library. Admin panel for librarians to control and manage the system easily through an interactive interface.

Development

The backend of the system is developed on Laravel 4.2 PHP MVC Framework and requires PHP 5.6 with the appropriate MCrypt extension. The front end is built on Edmin Responsive Bootstrap Admin Template (Demo) which is built on Bootstrap v2.2.2 using jQuery and Underscore-Dot-JS

Contribute

  • For reporting bug about an incorrect file not being processed, open a new issue.
  • PRs are always welcome to improve exisiting system.

Setup

Prerequisite: Install MySQL (for Linux)

If you don't already have the MySQL Database Server installed, you will need to install it to use this project. If it is installed, you can skip to step 4.

  1. Oracle provides detailed instructions to install MySQL on any Linux distribution. See "Installing MySQL on Linux" for details and instructions.
  2. Altneratively, you can probably install a working MySQL server that is compatible with this project by running:

apt-get update && apt-get install mysql-server

  1. You may be prompted to choose a root password for MySQL during the installation.
  2. You should create a MySQL user for this project, create a database for this project, and may need to give the mysql user permissions to access the database. Instructions to configure the project are provided below.

Unix / Linux / Mac Setup

NOTE: PHP 5.6, the PHP mcrypt extension, and MySQL are required for this project:

  • apt-get update

  • apt-get install php5.6 php5.6-mcrypt

  • git clone https://github.com/prabhakar267/library-management-system

  • cd library-management-system

  • [sudo] chmod -R 755 app/storage

  • composer install

  • Edit mysql.config.php.sample according to your MySQL configurations and save it in the same directory as mysql.config.php

  • php artisan migrate

  • php artisan serve

Windows Setup

Some notes on Windows setup:

MySQL setup

  • Open this link to Download MySQL Workbench.

  • Scroll to the bottom and select Microsoft Windows in the Select your Operating System dropdown.

  • Click download button in front of Windows (x86, 64-bit), MSI Installer at the bottom.

  • Right-click the downloaded MSI file and select the Install item from the pop-up menu, or double-click the file.

  • In the Setup Type window you may choose a Complete or Custom installation. To use all features of MySQL Workbench choose the Complete option.

  • Unless you choose otherwise, MySQL Workbench is installed in C:\%PROGRAMFILES%\MySQL\MySQL Workbench 8.0 edition_type\, where %PROGRAMFILES% is the default directory for programs for your locale. The %PROGRAMFILES% directory is defined as C:\Program Files\ on most systems.

PHP Setup

Obtaining the mcrypt extension for PHP 7+ is not trivial and involves compiling your own PHP build. If your PHP version does not support mcrypt (i.e. if you have PHP 7+), then the easiest way to run Laravel 4.2 applications is to download a compatible version of XAMPP and make sure the app is run with it.

With the above notes in mind, Windows setup is not too tricky:

  • Open git shell;

  • cd C:/path/to/xampp/htdocs;

  • git clone https://github.com/prabhakar267/library-management-system;

  • cd library-management-system;

  • composer update;

  • NOTE: If your PHP version is not compatible with mcrypt you will receive an error here. Do not worry, simply perform these additional two steps:

  • C:/path/to/xampp5.6.33/php/php.exe artisan clear-compiled

  • C:/path/to/xampp5.6.33/php/php.exe artisan cache:clear

  • Create a table for the app via phpmyadmin (or however you prefer);

  • Edit app/config/mysql.config.php.sample according to your MySQL configurations and save it in the same directory as mysql.config.php;

  • php artisan migrate

OR IF YOUR PHP IS NOT mcrypt COMPATIBLE:

C:/path/to/xampp5.6.33/php/php.exe artisan migrate

  • php artisan serve

OR IF YOUR PHP IS NOT mcrypt COMPATIBLE:

C:/path/to/xampp5.6.33/php/php.exe artisan serve

Features

  • Librarians can be given their authorized login ID and password without which the system can not be accessed.
  • Students can only access limited features, i.e., public access level features which include searching a book and student registration form.
  • After logging in librarians can search for a specific book, book issue or student from the home panel.
  • Librarians need to make an entry for new books. To automate the process they simply need to enter the number of issues, then the Issue ID for each book issue is generated automatically.
  • Another responsibility of a librarian is to approve students in situations where approval is needed, i.e. where documents are to be verified or some manual work. Librarians have a panel to simply approve / reject students and to view all approved students. The librarian ID is stored alongside each approved/rejected student to keep track.
  • The most important function of any library is to issue and return books. This system includes a panel to view all outstanding logs and a super simple panel to issue and return books for all librarians.

library-management-system's People

Contributors

butterchaos avatar cleanse avatar computamike avatar daniejohnstone avatar dependabot[bot] avatar eviltwin01 avatar garethmcc avatar mbad0la avatar pbarnum avatar piyushkrmaurya avatar prabhakar267 avatar rgee0 avatar scottswezey avatar slax0rr avatar zilvinas-gasiunas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

library-management-system's Issues

Remove "NSIT" from text strings

Files to be changed:

app/views/account/index.blade.php:    <title>NSIT Automated Library Management System</title>
app/views/account/navigation_bottom.blade.php:          <b class="copyright">&copy; 2015 NSIT - Automated Library Management System </b> All rights re
app/views/account/navigation_top.blade.php:                     <a class="brand" href="{{ URL::route('home') }}">NSIT ALMS</a>
app/views/layout/index.blade.php:    <title>NSIT Automated Library Management System</title>
app/views/layout/template_footer.blade.php:             <b class="copyright">&copy; {{ date('Y') }} NSIT - Automated Library Management System </b> Al
app/views/layout/template_navbar.blade.php:                <a class="brand" href="{{ URL::route('home') }}">NSIT ALMS</a>
app/views/panel/index.blade.php:            <a class="btn-box span12"><b>NSIT Automated Library Management System</b></a>

NSIT ALMS should be changed to ALMS

automated fine calculation system

If a student is returning a book after the prescribed time, then fine which student needs to pay must be automatically added to the student's profile.

update screenshots

A lot of minor UI changes occurred and screenshots are to be updated with latest UI updates.

PHP Fatal error: Uncaught Error: Class 'Patchwork\Utf8\Bootup

i get this error message on composer install

PHP Fatal error: Uncaught Error: Class 'Patchwork\Utf8\Bootup' not found in /opt/bitnami/apache/htdocs/bootstrap/autoload.php:46
Stack trace:
#0 /opt/bitnami/apache/htdocs/artisan(16): require()
#1 {main}
thrown in /opt/bitnami/apache/htdocs/bootstrap/autoload.php on line 46
Script php artisan clear-compiled handling the post-install-cmd event returned with error code 255

encryption mismatch

I got a problem with encryption method

It says "Function mcrypt_get_iv_size() is deprecated "

how to solve this issue
probl

Can i use this in laravel 5.4

Can anyone register?

I wonder how registrations are restricted... cause... anyone can register and no email or other type of validation is needed...

Change table name in `all-books` route

"All Books in Library" tab shows incorrect table name
It should be more user understandable like "Books available in Library to be accessed by Students"

Category section

Why the category form/screen is missing? Do you need any help with the development of this part? I'm interested to contribute.

Change homepage form items' tag from "a" to "button"

Hi @prabhakar267

I'd like to raise a possible semantic change I proposed in #23

Here is the current code :

<div class="btn-box-row row-fluid">
    <a class="btn-box big span4 homepage-form-box" id="findbookbox">
        <i class="icon-list"></i>
        <b>Find Book</b>
     </a>

    <a class="btn-box big span4 homepage-form-box" id="findissuebox">
        <i class="icon-book"></i>
        <b>Find Book Issue</b>
    </a>

    <a class="btn-box big span4 homepage-form-box" id="findstudentbox">
        <i class="icon-user"></i>
        <b>Find Student</b>
    </a>
</div>

Does it make sense to keep these nodes as links (a) ? As they are not actually linking to any place and have an action tied to them, I feel it makes sense to change them to button

Error during installation

OS: Ubuntu 18.04

While running 'composer install' I am getting these errors:

  - Installing classpreloader/classpreloader (1.0.2): Downloading (100%)         
  - Installing laravel/framework (v4.2.22): Downloading (100%)         
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/security-core suggests installing symfony/expression-language (For using the expression voter)
symfony/security-core suggests installing symfony/validator (For using the user password constraint)
symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/routing suggests installing symfony/yaml (For using the YAML loader)
symfony/event-dispatcher suggests installing symfony/dependency-injection
symfony/http-kernel suggests installing symfony/class-loader
symfony/http-kernel suggests installing symfony/config
symfony/http-kernel suggests installing symfony/dependency-injection
symfony/http-kernel suggests installing symfony/var-dumper
predis/predis suggests installing ext-phpiredis (Allows faster serialization and deserialization of the Redis protocol)
phpseclib/phpseclib suggests installing ext-mcrypt (Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.)
phpseclib/phpseclib suggests installing pear-pear/PHP_Compat (Install PHP_Compat to get phpseclib working on PHP < 4.3.3.)
patchwork/utf8 suggests installing ext-wfio (Use WFIO for UTF-8 filesystem access on Windows)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
laravel/framework suggests installing doctrine/dbal (Allow renaming columns and dropping SQLite columns.)
Generating autoload files
> php artisan clear-compiled
Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-install-cmd event returned with error code 1

I already installed php5.6 and php5.6-mcrypt

Please help

PHP WARNING during set up

I got this after following the readme.md after running C:/xampp2/php/php.exe artisan clear-compiled for a windows setup with the xampp version recommended by you:

PHP Fatal error: require(): Failed opening required 'C:\xampp2\htdocs\library-management-system\bootstrap/../vendor/autoload.php' (include_path='C:\xampp2\php\PEAR') in C:\xampp2\htdocs\library-management-system\bootstrap\autoload.php on line 17

can you help me with this?

Add nbproject folder to gitignore

Hi,
Can you add nbproject folder to gitignore. As you already know that's a IDE specific config and should never be pushed to repos. Thanks

Am getting an issue in running migrations;

The error am getting reads->
PHP Fatal error: Uncaught Error: Class 'Illuminate\Support\ClassLoader'
I tried fixing it by including the class but the error wasn't still resolved.

Can I help with translation?

First of all, congratulations for your really great project! Simple and efficient.

I want to help with translations (to Brazilian Portuguese and Italian), and I just want to know if the project already supports translations.

Thanks!

loading assets

How do you actually run the system? php artisan serve results in a blank run. When running directly via xampp the css does not load.

Can't get the system work

I cloned the repository but i'm stocked at getting to create anything or even login at all. All I see is some sql errors with username and password.

Ask for first signup

Whenever someone new (when there are no users who can login into the system) install the application on their system, there should be a pop-up for adding the first user.

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.