{"id":28411526,"url":"https://github.com/r1zzrvk/lib-client-interface","last_synced_at":"2025-08-31T04:07:29.347Z","repository":{"id":63517659,"uuid":"542183466","full_name":"r1zzrvk/lib-client-interface","owner":"r1zzrvk","description":"Next.js web application for searching books and creating lists using the Google Books API","archived":false,"fork":false,"pushed_at":"2025-02-17T10:59:38.000Z","size":1265,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-06-23T23:37:14.987Z","etag":null,"topics":["atomic-design","firebase","firebase-auth","firestore","formik","google-api","google-books-api","nextjs","reactjs","styled-components","typescript","ui-kit"],"latest_commit_sha":null,"homepage":"https://lib-booksearch.vercel.app","language":"TypeScript","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/r1zzrvk.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,"zenodo":null}},"created_at":"2022-09-27T16:27:52.000Z","updated_at":"2024-12-15T01:28:48.000Z","dependencies_parsed_at":"2023-02-18T18:00:52.483Z","dependency_job_id":"aecc82b3-f715-4b8c-8993-889e30705086","html_url":"https://github.com/r1zzrvk/lib-client-interface","commit_stats":null,"previous_names":["r1zzrvk/lib-client-interface"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/r1zzrvk/lib-client-interface","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1zzrvk%2Flib-client-interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1zzrvk%2Flib-client-interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1zzrvk%2Flib-client-interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1zzrvk%2Flib-client-interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r1zzrvk","download_url":"https://codeload.github.com/r1zzrvk/lib-client-interface/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r1zzrvk%2Flib-client-interface/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272936435,"owners_count":25018164,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["atomic-design","firebase","firebase-auth","firestore","formik","google-api","google-books-api","nextjs","reactjs","styled-components","typescript","ui-kit"],"created_at":"2025-06-02T16:19:18.038Z","updated_at":"2025-08-31T04:07:29.324Z","avatar_url":"https://github.com/r1zzrvk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n \u003cimg src=\"public/githubbanner.png\" alt=\"Info banner\"/\u003e\n\u003c/p\u003e\n\n\n#  Getting started :wave:\nWeb application that implements [lib-booksearch.vercel.app](https://lib-booksearch.vercel.app/)\n\nDevelop branch deployed here [lib-test-app.vercel.app](https://lib-test-app.vercel.app/)\n# Development :computer:\n`npm run dev` - to start application in development mode. App will be available at http://localhost:3000. \n- Atomic file system is mandatory. Each component is in its own folder along with its styles, tests and other files intended for it.\n\n`npm run lint` - to start linting and simple fixing.\n\n`npm run type-check` - to start looking for type errors\n \n`npm run install:hooks` - if you have problem with husky (Mac/Linux only)\n\u003cbr/\u003e\u003cbr/\u003e\n#### Recommended Node.js version: 20.4.0\nUsing older versions may cause issues with package installation or compilation. I also recommend using `nvm`\n\n[Nvm Installation Instructions](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating)\n\n[Nvm Installation Instructions for Windows](https://github.com/coreybutler/nvm-windows?tab=readme-ov-file#install-nvm-windows)\n\n#### Nvm commands for installation node.js:\n\n```\nnvm install 20.4.0\nnvm use 20.4.0\n```\n\n###  Git\nWhen creating a commit, pay attention to its structure. For linting use [commitlint](https://github.com/conventional-changelog/commitlint). But for convenience I have placed rules here.\n\nIn general the pattern mostly looks like this:\n```sh\ncommitType(scope?): subject  #scope is optional; multiple scopes are supported (current delimiter options: \"/\", \"\\\" and \",\")\n```\n\nReal world examples can look like this:\n\n```\nchore: run tests on travis ci\n```\n\n```\nfix(server): send cors headers\n```\n\n```\nfeat(blog): add comment section\n```\nCommon types can be:\n\n  - build\n  - chore\n  - ci\n  - docs\n  - feat\n  - fix\n  - perf\n  - refactor\n  - revert\n  - style\n  - test\n\n\u003e Before committing, I recommend running a linter because if there are errors when pushing, it will be rejected! `npm run lint` and `npm run type-check` will start automatically with `git push`.\n\n###  Branches rules :heavy_exclamation_mark:\n\n**A branch name should consist of two sections:**\n\n1. Task type suffix:\n\n   - feature: for new features or enhancements\n   - bugfix: for fixing bugs or resolving issues\n   - hotfix: for fixing urgent bugs in the main or release branch\n   - release: for updating changes in the main branch\n\n2. Name and issue/task number:\n\n   - The second section should include the name and number of the corresponding issue or task.\n   - Use the format `ISSUE-{issue number}` for issues and `LIB-{task number}` for tasks.\n\n**Example:**\n\n```\nfeature/LIB-322\nbugfix/ISSUE-456\n```\n**Release branch naming:**\n\n   - For the release branch, it is not required to specify the issue number.\n   - Instead of ISSUE or LIB, use \"v\" and add the desired version number.\n\n**Example:**\n\n```\nrelease/v3.2.2\n```\n\n**Developer Branch Access Table:**\n\n|                | MR           | Push       | Branching|\n|----------------|--------------------|--------------|---------|\n|main \t\t\t\t |:x: can not merge by request|:x: can not push           | :heavy_check_mark: can branch from|\n|develop         |:heavy_check_mark:\tcan merge by request   |:x: can not push         | :heavy_check_mark: can branch from|\n|feature/bugfix  | :heavy_check_mark: can merge by request and without| :heavy_check_mark: can push | :heavy_check_mark: can branch from|\n\n##  Google documentation\n\n - [`Firebase integration`](https://firebase.google.com/docs/web/setup#add-sdk-and-initialize)\n\n### `Data`\n\n - [`Firestore cloud`](https://firebase.google.com/docs/firestore/query-data/get-data?hl=en\u0026authuser=2)\n\n - [`Firestore data manage`](https://firebase.google.com/docs/firestore/manage-data/structure-data)\n\n### `Auth`\n\n - [`Firebase auth`](https://firebase.google.com/docs/auth/web/firebaseui)\n\n - [`Manage users`](https://firebase.google.com/docs/auth/web/manage-users)\n\n - [`User types`](https://firebase.google.com/docs/reference/js/auth.user)\n\n### `Google Books`\n\n - [`Books`](https://developers.google.com/books/docs/v1/getting_started)\n\n - [`Volume`](https://developers.google.com/books/docs/v1/reference/volumes#resource-representations)\n\n\u003cbr\u003e\n\n\u003e `book.volumeInfo.imageLinks` - object contains images in poor quality that shouldn't be used. So I found the solution using another link in the directory `src/constants/api/BOOKS_IMAGE_PATH` with `book.id`\n\n\u003cbr\u003e\n\n```\nhttps://www.googleapis.com/your_request\n```\n\n##  Figma :art:\n\nDesign and ui-kit based on these [layouts](https://www.figma.com/file/3KUeji625hyCsGa52g8MIB/Cosssy-%5BFurniture-store%5D-(Community)?type=design\u0026node-id=451-965). But for some pages and components I had to create it myself :)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr1zzrvk%2Flib-client-interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr1zzrvk%2Flib-client-interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr1zzrvk%2Flib-client-interface/lists"}