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 visitor can add books into the system via form
- Books entered in the system are listed on a listing page, in pages of 10
- Users can search for books by title OR by author, 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][mit-license].
- 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
- Interface is user friendly