- Server side caching
- Server side form validation
- Test coverage
- Scalable image upload
- Wiring up CI/CD
A simple online library management system built with MongodDB, Express.js and Node.js. Click here to see the application
- HTML5
- CSS3
- BOOTSTRAP 4
- jQuery
- MongoDB
- Express.js
- Node.js
- Passport.js
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
npm install nodemon faker --save-dev
- create a
.env
file in app directory - add
SESSION_SECRET=<your session secret>
,ADMIN_SECRET=<your admin secret>
andDB_URL=<your mongodb url>
into that file. - run
npm run dev
- App will open at http://localhost:3000
Whole app is divided into three modules.
- Admin
- User
- Browse books
- 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
- 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
This module can be accessed by anyone
- Show all books
- Find books on filtered search