Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jothiprasath0014/book-notes
Book-notes is a project done using Node.js, EJS and postgreSQL
https://github.com/jothiprasath0014/book-notes
css ejs javascript postgresql
Last synced: 1 day ago
JSON representation
Book-notes is a project done using Node.js, EJS and postgreSQL
- Host: GitHub
- URL: https://github.com/jothiprasath0014/book-notes
- Owner: Jothiprasath0014
- License: mit
- Created: 2024-07-22T12:35:32.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-07-23T06:10:00.000Z (6 months ago)
- Last Synced: 2024-11-19T16:03:21.155Z (about 2 months ago)
- Topics: css, ejs, javascript, postgresql
- Language: EJS
- Homepage:
- Size: 818 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Book-Note Application
### Project Overview
The ```Book-Note Application``` is a web-based tool designed to manage and document notes for non-fiction books. Built using ```Node.js```, ```Express```, ```EJS```, and ```PostgreSQL```, the application allows users do CRUD method to add, Read, update,and Delete their book notes, including ratings and reading dates. The application also integrates with the ```Open Library API``` to fetch book details.
### To Install Dependencies
```
npm ior
npm install
```## Necessary NPM Packages or Dependencies
* Postgre SQL (Pg) => [pg](https://www.npmjs.com/package/pg)
- PostgreSQL client for Node.js
* EJS (Embedded Javascript => [ejs](https://www.npmjs.com/package/ejs).
- Embedded JavaScript templating engine.
* Express => [express](https://www.npmjs.com/package/express).
- Web framework for Node.js
* Body-parser => [body-parser](https://www.npmjs.com/package/body-parser)
- Middleware to parse incoming request bodies.
* Axios => [axios](https://www.npmjs.com/package/axios)-Axios is a promise-based HTTP client for Node.js and the browser to make HTTP requests.
* Method-Override => [method-override](https://www.npmjs.com/package/method-override)-Method-Override is a middleware for Node.js that allows you to use HTTP verbs.
## Features* **Add New Books:** Users can add new books to their collection, including titles, authors, and read_date and their ratings.
* **Update Book Notes:** Users can update their notes, ratings, and reading dates for each book.
* **View Book Details:** Users can view detailed information about their book Notes.
* **Search for Books:** Users can search for books which they stored.
* **Sort Books:** Users can sort books by rating, recency, or title
### Technologies Used
* **Frontend:** EJS, CSS, Bootstrap
* **Backend:** Node.js, Express.js
* **Database:** PostgreSQL
* **NPM Libraries:** body-parser, express, pg, ejs, axios, method-override
* **API:** Open Library API => [API](https://covers.openlibrary.org/b/isbn)### Prerequisites
* Node.js (v12.x or higher)
* npm (Node Package Manager)
* Postgre SQL(pgadmin)
* API### Set up the PostgreSQL database
- Ensure PostgreSQL is installed and running.
- Create a database for the project.
- Set up the database schema### To start the server
```
nodemon server.jsor
node server.js
```##### Open in Browser
Open your browser and navigate to ```http://localhost:3000``` to view the application.
## Screenshots
### Pre-Hand Drawn Image
![Book-note pre-hand-drawn image.](readme-image/pre-Hand-drawn-image.jpg "This is the pre-drawn image for website.")### Home Page
![Book-notes Home web page.](readme-image/home.png "This is a Book-Note's Home web-page image.")### Adding new Book
![Book-notes Add new Book web page.](readme-image/Add-new-book.png "This is a Book-Note's Adding book web-page image.")
### Updating Book Notes
![Book-notes update web page.](readme-image/update.png "This is a Book-Note's updating book web-page image.")
### Search Results
![Book-notes search-result web page.](readme-image/search-result.png "This is a Book-Note's search-result web-page image.")
### Deleting Book
![Book-notes Delete-result web page.](readme-image/Delete-function.png "This is a Book-Note's search-result web-page image.")
## License
This project is licensed under the MIT License - see the [MIT](https://choosealicense.com/licenses/mit/) License file for details.