{"id":22178239,"url":"https://github.com/vitorcarvalho67/tslibraryapi","last_synced_at":"2025-06-11T13:10:46.229Z","repository":{"id":212874206,"uuid":"732485103","full_name":"VitorCarvalho67/TSLibraryAPI","owner":"VitorCarvalho67","description":"A sleek and efficient Node.js REST API using Prisma and TypeScript for managing library operations, from book rentals to author tracking","archived":false,"fork":false,"pushed_at":"2024-03-01T00:45:42.000Z","size":510,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-11T05:45:46.151Z","etag":null,"topics":["api-rest","docker-compose","library-api","mysql-database","nginx","nodejs","prisma","server-side","solid-principles","typescript","unit-testing","vitest"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VitorCarvalho67.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-12-16T20:36:43.000Z","updated_at":"2024-04-20T21:13:36.000Z","dependencies_parsed_at":"2024-03-01T01:45:24.215Z","dependency_job_id":"0b881423-6956-4b9e-a45a-a844ce0afedf","html_url":"https://github.com/VitorCarvalho67/TSLibraryAPI","commit_stats":null,"previous_names":["vitorcarvalho67/tslibraryapi"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorCarvalho67%2FTSLibraryAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorCarvalho67%2FTSLibraryAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorCarvalho67%2FTSLibraryAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitorCarvalho67%2FTSLibraryAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VitorCarvalho67","download_url":"https://codeload.github.com/VitorCarvalho67/TSLibraryAPI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227699340,"owners_count":17806354,"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":["api-rest","docker-compose","library-api","mysql-database","nginx","nodejs","prisma","server-side","solid-principles","typescript","unit-testing","vitest"],"created_at":"2024-12-02T08:45:54.619Z","updated_at":"2024-12-02T08:45:55.117Z","avatar_url":"https://github.com/VitorCarvalho67.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"https://github.com/VitorCarvalho67/TSLibraryAPI/assets/102667323/9c5f0a73-cba5-43b1-bf83-4059144a6f1c\" /\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n# TSLibraryAPI (Node.js API)\r\n\r\n[![GitHub license](https://img.shields.io/github/license/vitorcarvalho67/TSLibraryAPI)](vitorcarvalho67/TSLibraryAPI/blob/master/LICENSE) ![GitHub stars](https://img.shields.io/github/stars/vitorcarvalho67/TSLibraryAPI) ![GitHub stars](https://img.shields.io/github/languages/top/vitorcarvalho67/TSLibraryAPI) [![CI](https://github.com/vitorcarvalho67/TSLibraryAPI/workflows/CI/badge.svg)](https://github.com/vitorcarvalho67/TSLibraryAPI/actions) ![GitHub stars](https://img.shields.io/github/repo-size/vitorcarvalho67/TSLibraryAPI) \r\n\r\nTSLibraryAPI is a robust and versatile REST API built with Node.js, utilizing Prisma as its ORM and TypeScript for enhanced reliability and developer experience. Designed specifically for library management systems, it offers comprehensive functionalities ranging from handling book rentals, managing book and author records, to tracking user interactions. Its efficient and intuitive design ensures seamless integration and scalability, making it ideal for both small-scale library applications and larger, more complex systems. With TSLibraryAPI, managing a library's digital operations becomes a streamlined and efficient process, providing a solid foundation for developers looking to build or enhance library management software.\r\n\r\n## How To Use\r\nPrerequisites\r\n- Node.js\r\n- TypeScript\r\n- Docker-Compose\r\n- Nginx\r\n- Prisma\r\n- Vitest\r\n- MySQL\r\n\r\nClone this repository\r\n```bash\r\ngit clone https://github.com/VitorCarvalho67/TSLibraryAPI.git\r\n```\r\n\r\nNavigate to the project directory\r\n```bash\r\ncd TSLibraryAPI\r\n```\r\n\r\nup migration\r\n```bash\r\nnpx prisma migrate dev --name init\r\n```\r\n\r\n\u003e[!IMPORTANT]\r\n\u003e remember to uncomment .env.example and remove .example from the file name.\r\n\r\nRun server side\r\n```bash\r\nyarn dev\r\n```\r\n\r\n## Runnig with Docker\r\n\r\n```bash\r\ndocker-compose up -d\r\n```\r\n\r\n## Contributing\r\nContributions to this project are welcome. Please follow these steps to contribute:\r\n\r\n1. Fork the repository.\r\n2. Create a new branch for your feature or bug fix.\r\n3. Commit your changes.\r\n4. Push to the branch.\r\n5. Submit a pull request.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitorcarvalho67%2Ftslibraryapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitorcarvalho67%2Ftslibraryapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitorcarvalho67%2Ftslibraryapi/lists"}