This project is a capstone based on the idea of taking notes on books after reading them. The goal is to create a web application that allows users to store information about the books they've read, including notes, ratings, and more. The project also integrates with public APIs to fetch book covers and other relevant data.
- Integrate public APIs into web projects.
- Gain experience using Express/Node.js for server-side programming.
- Demonstrate CRUD operations in a PostgreSQL Database to persist data.
- Use the Open Library Covers API to fetch book covers.
- Create a PostgreSQL database to store book information.
- Implement CRUD operations to manage book entries.
- Display book information on a website similar to Derek Sivers' book page.
- Allow users to sort book entries by rating and recency.
-
Database Persistance
- Persist data using a PostgreSQL database.
- Use CRUD methods to manipulate data in the database.
-
Project Planning
- Research API documentation and project features.
- Create a database diagram to plan relationships.
- Plan PostgreSQL schema.
-
Project Setup
- Set up a Node.js project using Express.js.
- Include pg and EJS.
- Create structured directory and file organization.
-
API Integration
- Implement GET endpoint to interact with chosen API.
- Use Axios to send HTTP requests to the API.
-
Data Presentation
- Design user-friendly presentation of book data.
- Use HTML, CSS, and EJS for templating.
- Implement sorting functionality.
-
Error Handling
- Implement error handling for application and API requests.
-
Documentation
- Include comments throughout code.
- Write README.md with project setup instructions.
-
Code Sharing
- Commit and push project to GitHub.
- Include instructions for running the code in README.md.
- Express.js Getting Started Guide
- Node.js Documentation
- Axios Documentation
- PostgreSQL Documentation
- pg Documentation
- Open Library Covers API Documentation
- Clone the repository to your local machine.
- Navigate to the project directory in your terminal.
- Run
npm install
to install dependencies. - Start the server by running
nodemon index.js
. - Open your web browser and navigate to
http://localhost:3000
to access the application.
Adesh D