Skip to content

This is a library catalog program built in Sinatra, a software web application library and domain-specific language written in Ruby. This was my second portfolio project submission in the Flatiron School curriculum

License

Notifications You must be signed in to change notification settings

Richard-Burd/sinatra-portfolio-project

Repository files navigation

Sinatra Portfolio Project

Overview

This program is an online library catalog for the Burd Antiquities Library. The catalog contains a lot of information about famous books & authors from the period of Late Antiquity up until the Renaissance era. This app enables a user to sign in and add books to the library.  A user can create, edit, and delete their own books, and see all of the other book entries created by other users.

Cool Graphics

Here is an illustration showing the object models and their relations:

About This Project

This project uses the Sinatra library, a microframework written in Ruby and used to quickly build web applications. This project was my portfolio project submittal for this project here in the Flatiron School Web Development curriculum.

Installation instructions

Clone this repo into your local environment and run the following commands:

  1. $ gem install bundler ... to install Bundler
  2. $ bundle install ... to install the Ruby Gems.
  3. $ shotgun ... to boot up your server

Next, copy the domain (displayed in the command prompt) and paste it into a web browser and you should see the homepage.

Project File Structure

├── ave_
├── Gemfile
├── Gemfile.lock
├── LICENSE.md
├── README.md
├── Rakefile
├── t.id
├── app
│   ├── controllers
│   │   ├── application_controller.rb
│   │   ├── authors_controller.rb
│   │   ├── books_controller.rb
│   │   ├── genres_controller.rb
│   │   ├── languages_controller.rb
│   │   ├── locations_controller.rb
│   │   ├── periods_controller.rb
│   │   └── users_controller.rb
│   ├── models
│   │   ├── concearns
│   │   │   ├── slugifiable.rb
│   │   │   └── unknown_author.rb
│   │   ├── author_location.rb
│   │   ├── author_period.rb
│   │   ├── author.rb
│   │   ├── book_genre.rb
│   │   ├── book_language.rb
│   │   ├── book.rb
│   │   ├── genre.rb
│   │   ├── language.rb
│   │   ├── location.rb
│   │   ├── period.rb
│   │   └── user.rb
│   └── views
│       ├──authors
│       │   ├── authors.erb
│       │   ├── create_author.erb
│       │   ├── edit_author.rb
│       │   └── show_author.rb
│       ├── books
│       │   ├── book.erb
│       │   ├── create_book.erb
│       │   ├── edit_book.rb
│       │   └── show_author.rb
│       ├── users
│       │   ├── create_user.erb
│       │   ├── login_error.erb
│       │   ├── login.rb
│       │   └── show.rb
│       ├── display_validation_failure.erb
│       ├── genres.erb
│       ├── index.erb
│       ├── languages.erb
│       ├── layout.erb
│       ├── library_layout.erb
│       ├── library.erb
│       ├── locations.erb
│       └── periods.erb
├── config
│   └── environment.rb
├── config.ru
└── db
    ├── development.sqlite
    ├── migrate
    │   ├── 20180126172118_create_authors.rb
    │   ├── 20180126172135_create_books.rb
    │   ├── 20180126172150_create_languages.rb
    │   ├── 20180126172215_create_book_languages.rb
    │   ├── 20180126172230_create_users.rb
    │   ├── 20180126172256_create_author_periods.rb
    │   ├── 20180126172437_create_genres.rb
    │   ├── 20180126172452_create_periods.rb
    │   ├── 20180126172511_create_locations.rb
    │   ├── 20180126172536_create_author_locations.rb
    │   └── 20180128042726_create_book_genres.rb
    ├── schema.rb
    └── seeds.rb

License Link

A link to the license for this code is available here per instructions on the spec.md file located here in the main directory of the GitHub repository.

About

This is a library catalog program built in Sinatra, a software web application library and domain-specific language written in Ruby. This was my second portfolio project submission in the Flatiron School curriculum

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published