Skip to content

Latest commit

 

History

History
61 lines (44 loc) · 2.79 KB

README.md

File metadata and controls

61 lines (44 loc) · 2.79 KB

Library Management System

A dynamic library management website built with Node.js, Express, Pug, Sequelize, and SQLite.

Motivation

This project was created as a part of the Treehouse Full Stack JavaScript Techdegree program

Features

  • The library database is an SQLite3 database and uses Sequelize to perform CRUD operations
  • The Home Screen contains a list of all books in the library database
  • This list is paginated and the user can click on the numbered buttons to view different sections of the book list
  • The user can search the database based on title, author, genre and year properties
  • The search functionality is case insensitive and returns partial matches
  • The user can add a book to the database by clicking the "Create New Book" button and filling out the associated form
  • The New Book form uses Sequelize validation to ensure the Title and Author sections are filled out
  • The user can click on the Title of a book from the list to update details for a book
  • The Update Book form uses Sequelize validation to ensure the Title and Author sections are filled out

Future Improvements

  • Improve styling and layout of search input and button
  • Add more detailed code comments
  • Add message when no matches are returned
  • Add Home button to search page
  • Look for ways to improve error handling
  • improve overall look of the page
  • Deploy application

To Run

  • Download project files by running git clone https://github.com/LeeVaughn/sql-library-manager
  • Navigate to the project folder
  • Install dependencies with npm install
  • Start application by running npm start (application runs on localhost:3000)

Built With

Dependencies

  • cookie-parser Parse Cookie header and populate req.cookies with an object keyed by the cookie names
  • debug A tiny JavaScript debugging utility modeled after Node.js core's debugging technique
  • http-errors Create HTTP errors for Express, Koa, Connect, etc. with ease
  • morgan HTTP request logger middleware for Node.js
  • nodemon A tool for Node.js based applications that automatically restarts the application when file changes in the directory are detected
  • sequelize-cli The Sequelize Command Line Interface (CLI)

Links

Author

Daniel Lee Vaughn