This repo is under construction. You may find some parts not working as expected.
Checkout “dev” branch to see which part I’m working on right now
Following feature will be added in this repo
- Server side caching
- Server side form validation
- Test coverage
- Scalable image upload
- Wiring up CI/CD
Library-Management-System
A simple online library management system built with MongodDB, Express.js and Node.js. Click here to see the application
Techonologies used in this application
Front-end
- HTML5
- CSS3
- BOOTSTRAP 4
- jQuery
Back-end
- MongoDB
- Express.js
- Node.js
- Passport.js
Install dependencies
Open git bash or command line tools at application file and run following npm command or if you know what to do, just look at package.json
file 😃
npm install passport passport-local passport-local-mongoose body-parser connect-flash ejs express express-santizer express-session method-override mongoose multer sharp uuid --save
Install dev dependencies if needed
npm install nodemon faker --save-dev
Run the application
- create a
.env
file in app directory
- add
SESSION_SECRET=<your session secret>
, ADMIN_SECRET=<your admin secret>
and DB_URL=<your mongodb url>
into that file.
- run
npm run dev
- App will open at http://localhost:3000
Functionalitites
Whole app is divided into three modules.
Admin module functionalities
- Sign up (This route is hidden. only accessible by typing the route manually and when admin log in)
- Login
- Logout
- Track all users activities
- Add books
- Update books
- Delete books
- Search books by category, title, author, ISBN
- Find users by firstname, lastname, email and username
- Delete user acount
- Restrict individual user if violate any terms and conditions
- Send notification to all/individual/filtered user (not ready yet, will be added as soon as I learn socket.io)
- Browse books showcase
- Update admin profile and password
- Add new admin
- Delete currently logged in admin profile
User module functionalities
- Sign up
- Login
- Logout
- Track own activities
- Issue books
- Renew books
- Return books
- Pay fines (not ready yet, will be added asap)
- Browse books showcase
- Add, edit and delete comment on any books comment section
- Upload/Update profile picture
- Update profile and password
- Delete account
Browse books module functionalities
This module can be accessed by anyone
- Show all books
- Find books on filtered search