https://github.com/almoggutin/dxc-book-store-server-node-js
DXC book store assignment, server-side that is built with Node.js and Express in javascript. Database connection with Mongoose (ODM) and supports authentication and authorization with JWT. Redis to store JWT tokens and AWS S3 buckets to store book covers.
https://github.com/almoggutin/dxc-book-store-server-node-js
aws aws-sdk bcrypt bluebird javascript jwt mongodb mongoose multer multer-s3 nodejs redis s3 validator
Last synced: 3 months ago
JSON representation
DXC book store assignment, server-side that is built with Node.js and Express in javascript. Database connection with Mongoose (ODM) and supports authentication and authorization with JWT. Redis to store JWT tokens and AWS S3 buckets to store book covers.
- Host: GitHub
- URL: https://github.com/almoggutin/dxc-book-store-server-node-js
- Owner: almoggutin
- Created: 2021-12-19T16:32:09.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-12-19T17:24:19.000Z (over 4 years ago)
- Last Synced: 2025-07-27T00:36:48.447Z (11 months ago)
- Topics: aws, aws-sdk, bcrypt, bluebird, javascript, jwt, mongodb, mongoose, multer, multer-s3, nodejs, redis, s3, validator
- Language: JavaScript
- Homepage:
- Size: 163 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
DXC-Book-Store-Server-Node.js-Javascript
This server-side application is part of the DXC Book Store assingment built with Node.js and Javascript.
View Postman Files
Table of Contents
## About The Application
This server-side application is is part of the DXC Book Store assignment.
It is built with Node.js and Express Framework with Javascript. In addition the application's database is MongoDB with the use of an ODM like Mongoose. Additionally the application has basic authentication and authorization functionality with the use of JWT. The application also uses Redis, to store JWT tokens for users and s3 buckets to store Book covers.
In the applicaiton we can add books to the database, edit them and delete them. Users can signup, login, edit, and delete their data. In addition, each user has their own cart, where they can store books they want to buy, and checkout if they wish too.
### Built With
- [Node.js](https://nodejs.org/en/)
- [Express](https://expressjs.com/)
- [MongoDB](https://www.mongodb.com/)
- [Mongoose (ODM)](https://mongoosejs.com/)
- [Redis](https://www.npmjs.com/package//redis)
- [AWS-SDK](https://www.npmjs.com/package/aws-sdk)
- [Multer](https://www.npmjs.com/package/multer)
- [Multer-S3](https://www.npmjs.com/package/multer-s3)
- [JWT](https://www.npmjs.com/package/jsonwebtoken)
- [Bcrypt](https://www.npmjs.com/package/bcrypt)
- [Validator.js](https://www.npmjs.com/package/validator)
- [Cors](https://www.npmjs.com/package/cors)
- [Days.js](https://day.js.org/)
## How To Install
**Git clone**
```
git clone https://github.com/almoggutin/DXC-Book-Store-Node-Javascript.git
```
**Instructions**
- After cloning the the repository run `npm i` in order to install all the dependencies.
- Fill in all the values of the env variables in `config/dev.env` file so that the application will run properly during development mode.
## Available Scripts
In the project directory, you can run:
### `npm start`
Runs the app in the production mode.\
However this script is only ment to be run when deploying the application. The application is built, where you need to setup the env variables on the machine that your will be hosting it on or in a webhosting service, unlike in development mode.
### `npm run dev`
Runs the app in the development mode.\
Open localhost on the port you decided on in the env variables to view it in the browser.
The page will reload if you make edits with nodemon.
## Postman
Above, there is a link that will take you to the postman files in my postman profile where you can test the api functionality in the browser.
However if you would like to run the files locally on your machine in the postman desktop application, included in the repository, in the `postman` directory all the files so you can import them. In addition you will have to configure env variables in postman so that you will be able to test properly everything.