{"id":25996701,"url":"https://github.com/almoggutin/dxc-book-store-server-node-js","last_synced_at":"2026-04-11T17:46:24.074Z","repository":{"id":167630722,"uuid":"439913555","full_name":"almoggutin/dxc-book-store-server-node-js","owner":"almoggutin","description":"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.","archived":false,"fork":false,"pushed_at":"2021-12-19T17:24:19.000Z","size":167,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-27T00:36:48.447Z","etag":null,"topics":["aws","aws-sdk","bcrypt","bluebird","javascript","jwt","mongodb","mongoose","multer","multer-s3","nodejs","redis","s3","validator"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/almoggutin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-19T16:32:09.000Z","updated_at":"2023-05-20T16:19:33.000Z","dependencies_parsed_at":"2023-08-01T15:45:22.557Z","dependency_job_id":null,"html_url":"https://github.com/almoggutin/dxc-book-store-server-node-js","commit_stats":null,"previous_names":["almog-gutin/dxc-book-store-server-node-js","almoggutin/dxc-book-store-server-node-js"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/almoggutin/dxc-book-store-server-node-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almoggutin%2Fdxc-book-store-server-node-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almoggutin%2Fdxc-book-store-server-node-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almoggutin%2Fdxc-book-store-server-node-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almoggutin%2Fdxc-book-store-server-node-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/almoggutin","download_url":"https://codeload.github.com/almoggutin/dxc-book-store-server-node-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/almoggutin%2Fdxc-book-store-server-node-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31689762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-sdk","bcrypt","bluebird","javascript","jwt","mongodb","mongoose","multer","multer-s3","nodejs","redis","s3","validator"],"created_at":"2025-03-05T16:39:55.109Z","updated_at":"2026-04-11T17:46:24.027Z","avatar_url":"https://github.com/almoggutin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003eDXC-Book-Store-Server-Node.js-Javascript\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp align=\"center\"\u003e\n    This server-side application is part of the DXC Book Store assingment built with Node.js and Javascript. \n  \u003c/p\u003e\n    \u003ca href=\"https://www.postman.com/almoggutin/workspace/dxc-book-store\"\u003eView Postman Files\u003c/a\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-application\"\u003eAbout The Application\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#how-to-install\"\u003eHow To Install\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#available-scripts\"\u003eAvailable Scripts\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#postman\"\u003ePostman\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE APPLICATION --\u003e\n\n## About The Application\n\nThis server-side application is is part of the DXC Book Store assignment.\n\nIt 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.\n\nIn 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.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\n-   [Node.js](https://nodejs.org/en/)\n-   [Express](https://expressjs.com/)\n-   [MongoDB](https://www.mongodb.com/)\n-   [Mongoose (ODM)](https://mongoosejs.com/)\n-   [Redis](https://www.npmjs.com/package//redis)\n-   [AWS-SDK](https://www.npmjs.com/package/aws-sdk)\n-   [Multer](https://www.npmjs.com/package/multer)\n-   [Multer-S3](https://www.npmjs.com/package/multer-s3)\n-   [JWT](https://www.npmjs.com/package/jsonwebtoken)\n-   [Bcrypt](https://www.npmjs.com/package/bcrypt)\n-   [Validator.js](https://www.npmjs.com/package/validator)\n-   [Cors](https://www.npmjs.com/package/cors)\n-   [Days.js](https://day.js.org/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- INSTALLATION INSTRUCTIONS --\u003e\n\n## How To Install\n\n**Git clone**\n\n```\ngit clone https://github.com/almoggutin/DXC-Book-Store-Node-Javascript.git\n```\n\n**Instructions**\n\n-   After cloning the the repository run `npm i` in order to install all the dependencies.\n-   Fill in all the values of the env variables in `config/dev.env` file so that the application will run properly during development mode.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!--  AVAILABLE SCRIPTS --\u003e\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `npm start`\n\nRuns the app in the production mode.\\\nHowever 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.\n\n### `npm run dev`\n\nRuns the app in the development mode.\\\nOpen localhost on the port you decided on in the env variables to view it in the browser.\n\nThe page will reload if you make edits with nodemon.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- POSTMAN --\u003e\n\n## Postman\n\nAbove, 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.\n\nHowever 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.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./assets/postman/postman-global-env-variables.png\" alt=\"Postman global env variables.\"/\u003e\n  \u003cimg src=\"./assets/postman/postman-admin-env-variables.png\" alt=\"Postman admin env variables.\"/\u003e\n  \u003cimg src=\"./assets/postman/postman-user-env-variables.png\" alt=\"Postman user env variables.\"/\u003e\n\u003c/div\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falmoggutin%2Fdxc-book-store-server-node-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falmoggutin%2Fdxc-book-store-server-node-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falmoggutin%2Fdxc-book-store-server-node-js/lists"}