This is an example of the Simple Bookstore project. The goal was to create a basic CRUD app using Node, Express, Pug, and Postgres. Created by users mantinone and DianaVashti.
The project can be viewed on Heroku at https://woodchuckbooks.herokuapp.com/ .
Below are the project specs we were working from.
Create a simple content management system that allows users to add, delete, or update books. Books entered in the system can be viewed in a listing, or searched for using basic searches (title, author, genre).
Creating this web application will provide exposure to:
- Express (or other web framework)
- Javascript
- Simple relational database interactions (Create, Read, Update, Delete), with SQL practice
- Simple server side templating (to render data retrieved from the database)
- Any user can add books into the system via an admin page
- Users can add their own images for books or authors.
- Books entered in the system are listed on the home page, in pages of 10
- Users can search for books by title OR by author OR by genre, and search results will be presented in a new page
- Users can view book details on a book detail page, linked to from the listing or search pages
- All code submissions are peer reviewed via GitHub PR by at least two members of the team, and master is always in a stable state (tests passed, site functions)
- The artifact produced is properly licensed, preferably with the MIT license.
- Differentiate between users and admins. Admins can add and edit books.
- Code is well formatted without any linting errors
- Variables, functions, css classes, etc. are meaningfully named (no comments exist in code to explain functionality - the names serve that function)
- Functions are small and serve a single purpose
- Code is well organized into a meaningful file structure
- Code is reasonably tested with a test suite
- Interface is user friendly
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.