{"id":21945256,"url":"https://github.com/edgi9/library-app","last_synced_at":"2026-02-27T19:13:11.709Z","repository":{"id":263633442,"uuid":"840659852","full_name":"EDGI9/library-app","owner":"EDGI9","description":"A MERN application that can fetch Books from database and display them on a React Web application (WIP)","archived":false,"fork":false,"pushed_at":"2025-01-19T16:40:24.000Z","size":367,"stargazers_count":3,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T17:25:11.475Z","etag":null,"topics":["docker","docker-compose","expressjs","mern-project","nodejs","react-router","reactjs","redux","tailwindcss","testing-library","typescript","vite","vitest"],"latest_commit_sha":null,"homepage":"","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/EDGI9.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":"2024-08-10T09:43:32.000Z","updated_at":"2025-01-19T16:10:43.000Z","dependencies_parsed_at":"2024-11-19T16:29:42.296Z","dependency_job_id":"2b513c20-440e-46a8-bf3c-0fdfadc8a4fc","html_url":"https://github.com/EDGI9/library-app","commit_stats":null,"previous_names":["edgi9/library-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDGI9%2Flibrary-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDGI9%2Flibrary-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDGI9%2Flibrary-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EDGI9%2Flibrary-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EDGI9","download_url":"https://codeload.github.com/EDGI9/library-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235895066,"owners_count":19062343,"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":["docker","docker-compose","expressjs","mern-project","nodejs","react-router","reactjs","redux","tailwindcss","testing-library","typescript","vite","vitest"],"created_at":"2024-11-29T04:18:06.458Z","updated_at":"2025-10-10T01:32:27.417Z","avatar_url":"https://github.com/EDGI9.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Library App (WIP)\n\nA MERN application built with React.js for the client side, Node.js and Express.js for the Server application and Mongo DB as Database.\nThe idea is to build a library application where we have alist of books the users can search for and get some information about the books.\nThere is an administrator side to the application that allows for adding/removing/updating books into the database.\n\n\n## Demo\n![image](https://github.com/user-attachments/assets/06fd0166-5ee2-4884-80fc-b0edd499b019)\n\n## Language\n\n- Typescript\n\n## Tools\n\n- Build tool (vite)\n- Testing (vitest, testing-library)\n- Framework (React.js)\n- Server (Node.js, Express.js)\n- Routing (React Router)\n- Store (Redux.js)\n- CSS (Tailwind)\n- CI/CD (GitHub Actions)\n- Containerization (Docker, Docker Compose, Dev container)\n- Architecture (Hexagonal Architecture)\n- Development Style (Test Driven Development)\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/react/react-original-wordmark.svg\" title=\"React.js\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/typescript/typescript-original.svg\" title=\"Typescript\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/tandpfun/skill-icons/blob/main/icons/NodeJS-Dark.svg\" title=\"Node.js\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/tandpfun/skill-icons/blob/main/icons/ExpressJS-Dark.svg\" title=\"Express.js\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/tandpfun/skill-icons/blob/main/icons/Redux.svg\" title=\"Redux.js\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/tandpfun/skill-icons/blob/main/icons/HTML.svg\" title=\"HTML\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://www.vectorlogo.zone/logos/tailwindcss/tailwindcss-icon.svg\" title=\"Tailwind\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/tandpfun/skill-icons/blob/main/icons/Vite-Dark.svg\" title=\"Vite\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/devicons/devicon/blob/master/icons/vitest/vitest-original.svg\" title=\"Vitest\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/tandpfun/skill-icons/blob/main/icons/GithubActions-Dark.svg\" title=\"Github Actions\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/tandpfun/skill-icons/blob/main/icons/Docker.svg\" title=\"Docker\" width=\"200\"/\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/tandpfun/skill-icons/refs/heads/main/icons/MongoDB.svg\" title=\"MongoDB\" width=\"200\"/\u003e\u003c/td\u003e        \n    \u003c/tr\u003e\n\u003ctable\u003e\n\n## Project setup\n\n\n### Docker Desktop\n\n```\nIn order to avoid issues with versioning, it's best to run this application with Docker and run the \"docker compose\" file to set up the enviornment.\n```\n\n### Front-end\n\n```\ncd ./client\n```\n\n#### Compiles and hot-reloads for development\n\n```\nnpm run dev\n```\n\n#### Compiles and minifies for production\n\n```\nnpm run build\n```\n\n### Back-end\n\n```\ncd ./server\n```\n\n#### Start Server\n\n```\nnpm run start\n```\n\n#### Compiles files\n\n```\nnpm run build\n```\n\n\n### Run tests\n\n```\ncd ./client or cd ./server\n\nnpm run test\n```\n\n### Run test coverage\n\n```\ncd ./client or cd ./server\nnpm run test:coverage\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgi9%2Flibrary-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedgi9%2Flibrary-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedgi9%2Flibrary-app/lists"}