{"id":25387344,"url":"https://github.com/mohammed-taysser/papercuts","last_synced_at":"2026-04-10T15:45:47.371Z","repository":{"id":40446806,"uuid":"458559478","full_name":"Mohammed-Taysser/paperCuts","owner":"Mohammed-Taysser","description":"paperCuts is a site that lists free eBooks and online books related to programming, computer science, software engineering, web design and more which are provided by publishers or authors on their websites legally. We do not host pirated books or we do not link to sites that host pirated books. ","archived":false,"fork":false,"pushed_at":"2023-01-22T15:38:06.000Z","size":3980,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-15T11:41:06.529Z","etag":null,"topics":["axios","bootstrap","react","react-redux","react-router","scss","validator"],"latest_commit_sha":null,"homepage":"https://papercuts.vercel.app","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/Mohammed-Taysser.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-12T15:25:13.000Z","updated_at":"2024-02-20T13:05:55.000Z","dependencies_parsed_at":"2023-02-12T16:45:47.393Z","dependency_job_id":null,"html_url":"https://github.com/Mohammed-Taysser/paperCuts","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mohammed-Taysser%2FpaperCuts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mohammed-Taysser%2FpaperCuts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mohammed-Taysser%2FpaperCuts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mohammed-Taysser%2FpaperCuts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mohammed-Taysser","download_url":"https://codeload.github.com/Mohammed-Taysser/paperCuts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248096437,"owners_count":21047051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["axios","bootstrap","react","react-redux","react-router","scss","validator"],"created_at":"2025-02-15T11:38:42.918Z","updated_at":"2025-12-30T23:05:08.657Z","avatar_url":"https://github.com/Mohammed-Taysser.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [paperCuts][vercel-live]\n\n\u003cdiv style='text-align:center;'\u003e\n  \u003ca href='https://papercuts.vercel.app/'\u003e\n    \u003cimg src='src/assets/images/icons/favicon.png' height='150px' style='display:block;margin: auto;'\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\npaperCuts is a site that lists free eBooks 📚 and online books related to programming, computer science, software engineering, web design and more which are provided by publishers or authors on their websites legally. We do not host pirated books or we do not link to sites that host pirated books.\n\nfor live demo\n\n- [![vercel](https://img.shields.io/badge/-vercel-05122A?style=plastic\u0026logo=vercel)][vercel-live]\n- [![Netlify Status](https://api.netlify.com/api/v1/badges/e892e00f-462d-447b-8941-f45d11701c94/deploy-status)][netlify-live]\n\n[vercel-live]: https://papercuts.vercel.app/\n[netlify-live]: https://papercuts-project.netlify.app/\n\n## Used tools\n\n- [`Axios`](https://axios-http.com/)\n- [`Bootstrap`](https://getbootstrap.com/)\n- [`js-cookie`](https://www.npmjs.com/package/js-cookie)\n- [`jwt-decode`](https://www.npmjs.com/package/jwt-decode)\n- [`React-Dropzone`](https://react-dropzone.js.org)\n- [`React-Icons`](https://react-icons.github.io/react-icons)\n- [`React-Redux`](https://react-redux.js.org/)\n- [`React-Router-Dom`](https://reactrouter.com/docs/en/v6/getting-started/tutorial)\n- [`React.js`](https://reactjs.org/)\n- [`Redux-Toolkit`](https://redux-toolkit.js.org/)\n- [`sass`](https://sass-lang.com/)\n- [`Validator`](https://www.npmjs.com/package/validator)\n\n## Quick start 🚀\n\n### First Step\n\nDownload the files from [`releases`](https://github.com/Mohammed-Taysser/paperCuts/releases) or clone it with **git** version control:\n\n```shell\ngit clone https://github.com/Mohammed-Taysser/paperCuts.git\n```\n\n### Second Step\n\nInside paperCuts Directory Install Dependencies By\n\n```shell\nnpm install\n```\n\n### Last Step\n\nStart The Development Server\n\n```shell\nnpm start\n```\n\n## Features 💬\n\n- Designed with progressive enhancement in mind.\n- Standalone With Only React\n- Using Hooks \u0026 redux \u0026 cookies To Save And Deal With Data\n- Use Redux with redux-toolkit Store\n\n## Adding Bootstrap\n\n```shell\nnpm install bootstrap\n```\n\nImport Bootstrap CSS and optionally Bootstrap theme CSS in the beginning of your `src/index.js` file:\n\n```js\nimport 'bootstrap/dist/css/bootstrap.css';\n// Put any other imports below so that CSS from your\n// components takes precedence over default styles.\n```\n\n### Using a Custom Theme\n\nTo enable `scss` in Create React App you will need to install `sass`.\n\n```shell\nnpm install sass\n```\n\nTo customize Bootstrap, create a file called `src/custom.scss` (or similar) and import the Bootstrap source stylesheet. Add any overrides before the imported file(s). You can reference [Bootstrap's documentation](https://getbootstrap.com/docs/4.6/getting-started/theming/#variable-defaults) for the names of the available variables.\n\n```scss\n// Override default variables before the import\n$body-bg: #000;\n\n// Import Bootstrap and its default variables\n@import '~bootstrap/scss/bootstrap.scss';\n```\n\nFinally, import the newly created `.scss` file instead of the default Bootstrap `.css` in the beginning of your `src/index.js` file, for example:\n\n```js\nimport './custom.scss';\n```\n\nalso create fake json using [`mockaroo`](https://mockaroo.com/)\n\nfor used public schemas see [`db.md`](docs/db.md) for more details and example.\n\nfor image url use [`picsum.photos`](https://picsum.photos/)\n\n## Special Thanks For Inspiration To\n\n- [`chapter-one-bookstore`](https://themeforest.net/item/chapterone-bookstore-and-publisher-theme/24715791)\n- [`dbooks`](https://www.dbooks.org/)\n\n## Additional Tips\n\n### Create Tree Map\n\nyou can use `tree`\n\nthe `.` to use the current directory(don't forget to use it inside our project directory which call `paperCuts`)\n\n[`TREE.md`](TREE.md) is the output file name\n\n`-I \"directory name\"` use to exclude un-needed directory like `node_modules`\n\n```shell\ntree  . \u003e TREE.md  -I \"node_modules\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammed-taysser%2Fpapercuts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohammed-taysser%2Fpapercuts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammed-taysser%2Fpapercuts/lists"}