I created this project because of the need to have my books on the web to have access to it anytime, anywhere.
Books are grouped by fields, for example a Mathematics field with Mathematics books.
Majorly, I used these tools because they are what I have a working knowlegde of.
Moreover, Node.js with Express.js was selected because of the ease of server-client communication, MongoDB & Mongoose for JSON like Database Management Systems, EJS for literals & templating, Lodash & Bootstrap to cut down on development time, etc.
- NodeJS
- ExpressJS
- EJS
- JavaScript
- Lodash
- body-parser (npm)
- MongoDB
- Mongoose
- Bootstrap
- Clone repository with the command
git clone <url>
$ git clone https://github.com/efecollins/library-management-system.git
- Run
npm i
in your terminal to installnode_modules
and all dependencies inpackage.json
$ npm i
- Run
nodemon
in your terminal if installed to start the node server and watch for changes inindex.js
$ nodemon
- Or run
node index.js
to start the server ifnodemon
is not installed
$ node app.js
- The following message should be logged to your console signifying success.
Server is live on port 3000
- To use MongoDB with Mongoose locally, do this:
mongoose.connect("mongodb://localhost:27017/libraryDB", {useNewUrlParser: true});
The challenges I faced will be what will motivate the coming soon
- Delete books & fields.
- Upload book to website.
- Upload image for each books.
-
Every developer are welcomed to contribute to the project.
-
Don't edit the schemas for any collections.
-
Use Bootstrap 5.1.3
-
Explain solved problem in pull requests.
-
ExpressJS & NodeJS Handbooks - The Valley of Code