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)
- Users can sign up, log in and log out
- Database has at least 1,000 real books
- Users can create, read, update and delete books
- Transpile all code from Babel ES6
- Books entered in the system are listed on the home page, in pages of 10
- 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.
- 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.