- 📖 About the Project
- 💻 Getting Started
- 👥 Author
- 🤝 Contributing
- ⭐️ Show your support
- 🙏 Acknowledgements
- 📝 License
BookLib API is a backend service used to perform CRUD operation with books. It is built with NodeJS and uses MongoDB as the database.
Server
Database
- API Endpoints to perform CRUD operations
- Database deployment on Mongo Atlas
To get a local copy up and running, follow these steps.
You must have NodeJS installed in the local machine and a MongoDB/Atlas account created with a mongodb+srv connection string. Create a https://www.postman.com/ account to test the API EndPoints.
Clone this repository to your desired folder:
git clone https://github.com/mailsg/booklib.git
cd booklib Install this project by executing the following commands. Since its an Open API, there is no need to set up any API keys:
cd booklib
npm install
touch .env
`Add the following lines to the .env file`
MONGODB_URI=`Your MongoDB-Atlas URI (mongodb+srv)`
PORT=`Your desired port number, where you wish the server to run (default port = 3000)`
- Please note that the above `MONGODB_URI` variable is mandatory for the project to connect to your MongoDB database.
- To run the project, execute the following command:
npm startBelow are the Endpoints to perform CRUD operations:
Please note: The default port mentioned is 3000, ensure that appropriate port number is used in the URL, on which server is running
-
GET
http://localhost:3000/books- Get all books -
GET
http://localhost:3000/books/:id- Get a book by id -
POST
http://localhost:3000/books- Create a new book- Request Body
{ "title": "Book Title", "author": "Book Author", "publication_year": "Publication Year" }
- Request Body
-
PUT
http://localhost:3000/books/:id- Update a book by id- Request Body (Any or all of the following)
{ "title": "Book Title", "author": "Book Author", "publication_year": "Publication Year" }
- Request Body (Any or all of the following)
-
DELETE
http://localhost:3000/books/:id- Delete a book by id -
To test the project, execute the following command:
npm test👤 Sandeep Ghosh
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
If you like this project consider leaving a star to the repository.
Thank you for giving me the opportunity to showcase my skills.
This project is MIT licensed.