A dynamic library management website built with Node.js, Express, Pug, Sequelize, and SQLite.
This project was created as a part of the Treehouse Full Stack JavaScript Techdegree program
- 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
- 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
- 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)
- 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)