- Server side caching
- Server side validation
- Scalable image upload
- Wiring up CI/CD
- HTML5
- CSS3
- BOOTSTRAP 4
- jQuery
- EJS 2.7.4(frontend dev can update if needed).
- Node.js
- Express.js
- MongoDB
- Passport.js
Open git bash or command line tools at application file and run following npm command npm install
if you have package.json
file.
or
npm install passport passport-local passport-local-mongoose body-parser connect-flash ejs express express-session method-override mongoose multer sharp uuid bcrypt --save
npm install faker --save-dev
- create a
.env
file in app directory - add
SESSION_SECRET=<your session secret>
,ADMIN_SECRET=<your admin secret>
,DB_URL=<your mongodb url>
andDB_NAME=<database_name>
into that file. or - rename
.env.example
to.env
- 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
- Out of stock 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
- Browse books showcase
- Update admin profile and password
- Add new admin
- Delete currently logged in admin profile
- Apporval and decline request books
- Accept and decline return request
- Sign up
- Login
- Logout
- Track own activities
- Request books
- Renew books
- Return books
- 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