Bookshelfy is an open-source, remote library access application. Users can access their issues from anywhere, anytime! Being a full stack application, users can register, login and even add their own books to the library as well!
- β New users can register for Bookshelfy
- β Allows users to login and logout
- β Allows users to browse the public library
- β Users can issue books from the library
- β Users can add books to their bookshelf
- β Allows users to return their issued books
- β Update the number of available and issued books in the library for transparency
- β Users shouldn't be able to view other's bookshelves
- β Creates a custom route for each user associated with their userID
- β Doesn't allow to access library without signing in
- β Doesn't allow adding same books twice to the library
- β Doesn't allow to submit new book without all information
- Frontend: Basic HTML, CSS & JavaScript. I have used jQuery & Bootstrap for keeping the library simple and responsive.
- Backend: Node.js & Express.js for creating new routes, handling GET and POST requests, and performing CRUD operations on databases.
- Database: I have used MongoDB Atlas for remote database, and Mongoose for modelling the application data.
- Two schemas & collections, one for data of users, and another for public library.
- Deployed on Heroku! - https://try-bookshelfly.herokuapp.com
- You can access all cool features of Bookshelfly here: https://try-bookshelfly.herokuapp.com
- For running the app locally on your system, follow these steps:
- Clone the project repository:
git clone https://github.com/guptasajal411/bookshelfly.git
- Move to the project directory:
cd booshelfly
- Install dependencies for Bookshelfly with NPM:
npm install
- Create a new
.env
file in the project folder for credentials to the MongoDB Atlas database, with variables:usernameMongoDB
&password
- Run
npm start
to kickstart the application - Go to
localhost:3000
to access Bookshelfly! π₯³
- Clone the project repository: