GithubHelp home page GithubHelp logo

smokingsadhus / libraryapp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kinshukbasu/libraryapp

0.0 1.0 0.0 464 KB

A Ruby on Rails application to book rooms in a library.

Home Page: https://fathomless-retreat-85190.herokuapp.com/

License: GNU General Public License v3.0

Ruby 55.94% JavaScript 7.88% CoffeeScript 1.24% CSS 4.68% HTML 30.26%

libraryapp's Introduction

README

This README would normally document whatever steps are necessary to get the application up and running.

Things you may want to cover:

  • Ruby version - 2.2

Pre-configured admin(Super Admin) - [email protected]. Password - 'password'

Once the user logs in, he/she will be able to see their upcoming bookings, as well as an option to make new bookings.There is also an option 'Edit Profile', in which the user can edit their details.

Admin functions:

1)Creating a new room: Home page -> Create a New Room

2)View rooms and room booking history, Edit Rooms, Delete Rooms: Home page -> View all rooms

3)Creating New User: Home page -> Create a New User

4)View Users, Make/Cancel Bookings for Users, Edit/Destroy Users, View User Booking History, Make user into Admin, Allow user to make multiple bookings: Home page-> View All users

5)View all bookings: Home page -> View all Bookings

Normal User functions:

  1. View all bookings for himself: Home Page -> (click on the required link)

  2. Book a Room: Home Page -> (click on the required link). The Room Booking page allows you to search for a room using location, size, date and time slot.

  3. View Room details: Home Page -> View all rooms.

Special Case 1: When Admin deletes a room for which there exists a booking System gives a warning saying that there are bookings for this room currently or in the future. Are you sure you want to delete? If the admin clicks okay, then all future bookings of the room are delted, but the past bookings will remain in the history.

Special Case 2: When Admin deltes a user who has a room booked. In this case, system gives a warning message similar to Case 1. If Admin agrees, then all the upcoming bookings of this user are deleted. Past bookings of this user however remain in the history.

Special Case 3:if a library member requests to book the same room multiple times. He wont be shown the room in the search if he is trying to book the same room again for the same time slot. However, if he wants to book the same room for another timeslot, he will be allowed to do so.

Extra credit Part 1: Mailing functionality implemented. Book a room and you will see the required option.

Extra credit Part 2: Admin can allow user to book multiple rooms at the same time. The 'allow multiple' option enables the admin to give users the necessary right. For doing this admin needs to: Home page-> view all users -> edit ->Allow Multiple. The User then has to logout and login again, if he was already logged in when admin made the change. The admin also can book multiple rooms at the same time for any user if required. The 'allow multiple' option makes no sense in case of the admin as he can always make multiple bookings at the same time.

User model has been tested.

The Mapping between the rooms and users is stored in a database table called bookings.

libraryapp's People

Contributors

kinshukbasu avatar atitshetty avatar

Watchers

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